在这篇文章中,我将告诉你"真实的出价"比你想的微妙,并且你可以使用基于ROI的pacing策略,不需要构建一个期望扣费的模型,你就可以得到完美的期望扣费模型。
Same Same but Different
我们假设你按Part3中的广告实现了基于ROI的策略。现在有一个请求,你计算出它的pCTR为0.1%,如果广告主出价是$1,那么你愿意出价1000微元。你的pacing系统告诉你,ROI阈值是50%,你是否决定出价呢?答案是是否出价依赖于你认为这次展示会被扣费多少:如果你认为会扣费低于666微元,那么超过了ROI 50%阈值,可以出价,如果高于666微元,那不应该出价。
现在假设你估计胜出后的扣费为500微元(预出价的期望ROI是100%),所以你会出价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。
在二阶扣费的机制下,如果你有一个非常好的扣费预测模型,并且在当扣费C小于或等于D的情况下,出价B,这里设B>D,那你会比较愿意出价D:你想胜出或者不胜出,都在期望的扣费条件上。我们称这种对商品估值为B出价为D的出价策略为:shaded出价策略。在这种情况下,下面的出价策略其实是等价的。
下面是所有扣费的一个粗糙的证明:
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,下面的出价策略是等价的:
这种shaded出价策略最大的惊喜就是:在真实出价或不出价的策略下,你可以不需要计算期望出价就可以得到相同的结果。事实上,如果你选择shaded出价策略,与你在真实出价或不出价策略下,你有一个完美的扣费预估模型的效果是一样的。如果有一个非完美的模型,真实出价或不出价策略会表现的差很多。因为没有人会有一个完美预测计费的模型,并且即使是构造一个差不多的计费预测模型也要大量的工作量,所以shaded策略是一个很大的进步。
the Lower the Better
我在Part 1中留下的问题是:你有一笔预算,你会一定时间内将它消耗完,要取到一定数量的类点击行为,这些类点击行为是可估值的。在效果广告中,类点击的行为的价值是可行的,比如CPC。但在一些品牌广告中,点击的价值就有点不确定了。CPC的价格不是广告主认为一次点击的价值,而是广告主与其它广告渠道对比的结果(基于ROI)。在这种情况下,广告的出价就是最高的CPC:没有人会报怨CPC比自己设定低。事实上,你要尽力找到你能找到的最低的CPC请求,约束条件是总扣费加起来等于预算。在这种情况下,很难真实的出价。
事实上处理这种问题有一个很简单的方法。shaded策略是对请求出价V/(X+1),其中V是targetCPA * P(action),X是你最低期望ROI。根据Part 0中所描述的反馈Pacer控制器。Pace控制器并不需要知道或是关心ROI,它只需要输出一个与出价速度相关的控制值,以保证Pacing。这意味着我可以调整一下公式,得到下面的公式:
我们用K做为Pacing控制因子而不是X。