zoukankan      html  css  js  c++  java
  • RTB撕开黑盒子 Part 3: Beyond Surplus

    在本文中,我将解释如果要对整个推广计划最大化利润,决定是否应该出价的应该是期望回本率(ROI),而不是期望利润,这与我们以前介绍的有所不同。在Datacratic,我们已经在2012年底切到了基于ROI的策略。

    Too Little of a Good Thing

    推广计划的全部利润可以表达为:

     

    RTB撕开黑盒子 Part 3: Beyond Surplus - quweiprotoss - Koala++s blog

     

    通过这个公式,看起来似乎是最大化每个竞价的期望利润,就是最大化整个推广计划的。但事实上不是,因为它有一个约束条件:所有的消耗加起来要等于预算。如果要最大化期望利润,是要每个请求需要更高的出价,那么你的竞价次数就会少,结果就是你可能整体的利润下降了。然而这并不意味着你应该在期望利润低时竞价,我的意思是你应该去权衡利润和消耗。

     

    这个问题在很久之前就被经济学者注意到了,我们要使用的衡量标准是ROI,它是计算投资回报率。

     

    RTB撕开黑盒子 Part 3: Beyond Surplus - quweiprotoss - Koala++s blog

     

    如果你将每个请求都视为一次投资,你的反馈控制系统会告诉你现在是超速消耗或是次速消耗,你可以提高或是降低最小期望ROI阈值。你通过这个阈值决定是否竞价,而不是用最小期望利润阈值。在金融领域,这个阈值称为最低可接受的回报率(minimum acceptable rate of return (MARR))或门槛收益率(Hurdle Rate)

    A Thought Experiment

    下面是一个假设的实验,我们通过它来说明基于ROI的策略是优于基于利润的。

    假设一个推方计划预算是$1000,一次动作的扣费(CPA)$1,动作可以是展示后的事件,比如点击或是转化或是看视频。假设AB都有无限量的相同请求,所不同的是它们的响应率(比如关注点击,响应率就是点击率,关注转化,响应率就是转化率)和价格。我们进一步假设我们有很准确的响应率预估和消耗预测算法。我们设在AB中曝光期望价值都高于市场价值,那么胜出概率是1

     

    Response Rate

    Value

    Cost

    Surplus

    ROI

    Spend

    Imps

    Actions

    CPA

    A

    0.1%

    u$1000

    u$750

    u$250

    33%

    $1000

    1.333M

    1333

    $0.75

    B

    0.05%

    u$500

    u$250

    u$250

    100%

    $1000

    4M

    2000

    $0.50

    AB中利润是一样的,但在B中,有更高的ROI,所以它有着更低的CPA

    现在再假设一个实验:如果在AB的请求是混合的,还有一个CTR特别低价格高的X流量,那我们的两种策略会如何呢?

    Pacing Strategy

    A Imps

    B Imps

    X imps

    Actions

    CPA

    surplus-based

    1M

    1M

    0

    1500

    $0.66

    ROI-based

    0

    4M

    0

    2000

    $0.50

     

    两种策略都成功地没有购买X流量,因为无论从利润还是ROI的角度看,它都不是最优的。但是基于利润的策略,不能区分AB的流量(它们有相同的利润),所以分别购买了1M的流量从AB。而基于ROI的策略会像忽略X一样忽略来自A的流量,而只关注有着高ROIB类型流量。

    所以基于ROI策略的会比基于利润的策略有着更低的CPA

    Conclusion

    广告主,就像基金经理,用ROI来决定他们使用什么渠道或是策略进行投资。基于ROI的策略,你的预算会消耗在最有效的曝光上,即最小化推广计划的CPA,且最大化ROI和利润。

  • 相关阅读:
    Solr的核心操作案例
    分布式锁
    AngularJS——AngularJS实现地址栏取值
    【转】保证消息队列的高可用性
    【转】Spring线程及线程池的使用
    微信支付实现
    分布式id的生成方式——雪花算法
    重载new和delete
    C++工程实践
    语言基础(27):异常处理
  • 原文地址:https://www.cnblogs.com/94julia/p/4612517.html
Copyright © 2011-2022 走看看