zoukankan      html  css  js  c++  java
  • RTB撕开黑盒子 Part 4: Shady Bidding

    在这篇文章中,我将告诉你"真实的出价"比你想的微妙,并且你可以使用基于ROIpacing策略,不需要构建一个期望扣费的模型,你就可以得到完美的期望扣费模型。

    Same Same but Different

    我们假设你按Part3中的广告实现了基于ROI的策略。现在有一个请求,你计算出它的pCTR0.1%,如果广告主出价是$1,那么你愿意出价1000微元。你的pacing系统告诉你,ROI阈值是50%,你是否决定出价呢?答案是是否出价依赖于你认为这次展示会被扣费多少:如果你认为会扣费低于666微元,那么超过了ROI 50%阈值,可以出价,如果高于666微元,那不应该出价。

    现在假设你估计胜出后的扣费为500微元(预出价的期望ROI100%),所以你会出价1000微元。噢...太糟了,你的预估偏差了50%,并且你被扣费750微元。你的胜出后期望ROI现在是33%,它比你在胜出前期望的ROI要小。郁闷。

    等一下,现在的问题是如果扣费低于666,你想出价1000微元,或是高于666微元,不竞价。如果你不想冒着预估错扣费的风险进行竞价,你可以只出价666微元。因为反正扣费是按第二名的出价:如果第二名出价低于666,那么你胜出了,你可以只付费666得到价值1000的曝光机会。如果第二名出价高于666,就不能胜出,也不用付任何费用。

    现在我们来用数学公式来描述一下:在Part 3中讨论的方案,如果期望ROI大于或等于阈值X,你愿意出价期望价值V。如果C是期望扣费,那么期望ROI(V-C)/C,那么当扣费小于等于V/(X+1)时,ROI大于等于X

     

    RTB撕开黑盒子 Part 4: Shady Bidding - quweiprotoss - Koala++s blog

     

    在二阶扣费的机制下,如果你有一个非常好的扣费预测模型,并且在当扣费C小于或等于D的情况下,出价B,这里设B>D,那你会比较愿意出价D:你想胜出或者不胜出,都在期望的扣费条件上。我们称这种对商品估值为B出价为D的出价策略为:shaded出价策略。在这种情况下,下面的出价策略其实是等价的。

     

    RTB撕开黑盒子 Part 4: Shady Bidding - quweiprotoss - Koala++s blog

     

    下面是所有扣费的一个粗糙的证明:

    Cost

    Truth-or-Nothing Bid

    Shaded Bid

    Truth-or-Nothing Win?

    Shaded Win?

    C > B

    0

    D

    No

    No

    B>C>D

    0

    D

    No

    No

    C<D

    B

    D

    Yes

    Yes

     

    把上面的话串起来,X永远大于0,下面的出价策略是等价的:

     

    RTB撕开黑盒子 Part 4: Shady Bidding - quweiprotoss - Koala++s blog

    这种shaded出价策略最大的惊喜就是:在真实出价或不出价的策略下,你可以不需要计算期望出价就可以得到相同的结果。事实上,如果你选择shaded出价策略,与你在真实出价或不出价策略下,你有一个完美的扣费预估模型的效果是一样的。如果有一个非完美的模型,真实出价或不出价策略会表现的差很多。因为没有人会有一个完美预测计费的模型,并且即使是构造一个差不多的计费预测模型也要大量的工作量,所以shaded策略是一个很大的进步。

    the Lower the Better

    我在Part 1中留下的问题是:你有一笔预算,你会一定时间内将它消耗完,要取到一定数量的类点击行为,这些类点击行为是可估值的。在效果广告中,类点击的行为的价值是可行的,比如CPC。但在一些品牌广告中,点击的价值就有点不确定了。CPC的价格不是广告主认为一次点击的价值,而是广告主与其它广告渠道对比的结果(基于ROI)。在这种情况下,广告的出价就是最高的CPC:没有人会报怨CPC比自己设定低。事实上,你要尽力找到你能找到的最低的CPC请求,约束条件是总扣费加起来等于预算。在这种情况下,很难真实的出价。

    事实上处理这种问题有一个很简单的方法。shaded策略是对请求出价V/(X+1),其中VtargetCPA * P(action)X是你最低期望ROI。根据Part 0中所描述的反馈Pacer控制器。Pace控制器并不需要知道或是关心ROI,它只需要输出一个与出价速度相关的控制值,以保证Pacing。这意味着我可以调整一下公式,得到下面的公式:

     

    RTB撕开黑盒子 Part 4: Shady Bidding - quweiprotoss - Koala++s blog

    我们用K做为Pacing控制因子而不是X

  • 相关阅读:
    static inline和inline的区别——stm32实测
    实现自动构建编译javaweb项目并发布到N台服务器
    手把手教你用Mysql-Cluster-7.5搭建数据库集群
    HAProxy实现mysql负载均衡
    使用LVS+keepalived实现mysql负载均衡的实践和总结
    阿里巴巴Java开发手册———总结
    阿里巴巴Java开发手册———个人追加的见解和补充(五)
    阿里巴巴Java开发手册———个人追加的见解和补充(四)
    Chapter 3 Phenomenon——24
    阿里巴巴Java开发手册———个人追加的见解和补充(三)
  • 原文地址:https://www.cnblogs.com/94julia/p/4612520.html
Copyright © 2011-2022 走看看