RTB撕开黑盒子 Part 4: Shady Bidding
在这篇文章中,我将告诉你"真实的出价"比你想的微妙,并且你可以使用基于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。
RTB撕开黑盒子 Part 4: Shady Bidding的更多相关文章
- RTB撕开黑盒子 Part 1: Datacratic's RTB Algorithms
这篇文章是讨论Datacratic所用的统计和经济理论的一些内容.我们开发了real time bidding算法s.为了实现广告主的目标,我们的算法自动地利用其它广告主的次优策略,并再查看广告的底价 ...
- RTB撕开黑盒子 Part 2: Algorithm Meets World
Part 0介绍了RTB的胜出价格会在凌晨陡升.我们还介绍了一个Pace系统,如果这个系统所有的DSPs都用,那陡升的问题就会消失.Part 0中的系统中含有一个隐式的假设:任何两个请求都认为是相同的 ...
- RTB撕开黑盒子 Part 0:Pacing: is everyone doing it wrong?
曾尝试为我们的RTB客户解决过Pacing问题,Pacing问题要解决的问题是:如果一个客户给你一笔预算,让你去运营一个广告推广计划,在一定的时间内投放广告,将这笔预算在指内的时间内,比较均匀地将预算 ...
- RTB撕开黑盒子 Part 3: Beyond Surplus
在本文中,我将解释如果要对整个推广计划最大化利润,决定是否应该出价的应该是期望回本率(ROI),而不是期望利润,这与我们以前介绍的有所不同.在Datacratic,我们已经在2012年底切到了基于RO ...
- 品友推广的投放原理 RTB:Real Time Bidding(实时竞价) DSP:Demand-Side Platform(需求方平台) 广告交易平台:AD Exchange
总结: 1.实时竞价 0.1秒出价各个广告主出价,投放价高者: RTB(Real Time Bidding)实时竞价,是一种利用第三方技术在数以百万计的网站或移动端针对每一个用户展示行为进行评估以及出 ...
- [DEMO] 互联网广告RTB机制简介
前言: 传统的互联网广告一般都是大流量网站在页面中留出一定空位,某些推广商家通过买位的方式来展示自己的广告. 我们这里引入一个案例:假设大访问量网站为博客园,想要广告推广的公司为阿里云平台. (场景为 ...
- RTB
RTB —— Real Time Bidding 的简称,就是实时竞价.跟传统购买形式相比,RTB是在每一个广告展示曝光的基础上进行竞价,就是每一个PV都会进行一次展现竞价,谁出价高,谁的广告就会被这 ...
- [转]浅析AD Exchange——RTB模式
在上一篇文章中,我们了解了程序化购买,并且知道程序化购买的最基本的一种RTB的竞价模式,了解了DSP.SSP.Ad Exchange等概念,不清楚的同学可以看看上一篇文章<程序化购买>. ...
- RTB广告展示分步说明
原文:http://contest.ipinyou.com/cn/manual.shtml RTB (Real Time Bidding, 实时竞价) 是近年来计算广告领域最激动人心的进展之一. 它增 ...
随机推荐
- 解决Crystal Report XI R2不能在64操作系统正常工作的问题-web程序
原文:[原创]解决Crystal Report XI R2不能在64操作系统正常工作的问题-web程序 我更换了新的电脑,操作系统也从原来32位的windows 2003 R2升级到windows 2 ...
- [Elasticsearch] 分布式文件存储
本文翻译自Elasticsearch官方指南的distributed document store一章. 分布式文档存储 在上一章中,我们一直在介绍索引数据和获取数据的方法.可是我们省略了非常多关于数 ...
- 剑指XX(游戏10) - 走正步工厂一个安静的农场游戏的代码
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2lsYW5ncXVhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- 微信公众平台消息接口开发-封装weixin.class.php
原文:微信公众平台消息接口开发-封装weixin.class.php 一.封装weixin.class.php 由于微信公众平台的通信使用的是特定格式的XML数据,每次接受和回复都要去做一大堆的数据处 ...
- POJ 3390 Print Words in Lines(DP)
Print Words in Lines Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 1624 Accepted: 864 D ...
- 《MonkeyRunner原理剖析》第九章-MonkeyImage实现原理 - 第一节 - 关键类作用及关系
MonkeyRunner框架暴露了几个类的大量的API出去给用户编写脚本时候使用,其中最主要的三个就是: MonkeyDevice目标设备操作类,HierarchyViewer窗口界面对象操作类以及M ...
- 那些必须要知道的Javascript
原文:那些必须要知道的Javascript JavaScript是前端必备,而这其中的精髓也太多太多,最近在温习的时候发现有些东西比较容易忽略,这里记录一下,一方面是希望自己在平时应用的时候能够得心应 ...
- ExtJS4 便捷三层开发模式
ExtJS4 便捷三层开发模式 定义类已经不是ext4.x一个新特性,但与ext3.x的自定义类有语法上的区别.将相关模块封装成类可以有效的减少浏览器的压力,提高渲染速度,同时抽象每一个可重用方法,减 ...
- ASPX的Timer位置没放正确,导致整页刷新,而不是UpdatePanel里的内容刷新。
提示:Timer应该放在UpdatePanel的ContentTemplate标签里,才行.放在外面的话,会导致整页刷新.
- node.js + mongodb
node.js + mongodb 这次内容是结合bootstrap把登陆注册做好,还有就是express的中间件等问题. 看这篇博客之前建议先看我上篇写的那篇博客http://www.cnblogs ...