RTB撕开黑盒子 Part 1: Datacratic's RTB Algorithms
这篇文章是讨论Datacratic所用的统计和经济理论的一些内容。我们开发了real time bidding算法s。为了实现广告主的目标,我们的算法自动地利用其它广告主的次优策略,并再查看广告的底价。我们想让我们的合作伙伴理解我们用的技术,并且认为它是合理的。“相信黑盒子”的价值观在这我们这里不成立的。
First, Tell the Truth
假设现在有一个效果广告的业务,总预算是$100,000,CPC是$1.00。像其它的DSP一样,需要订阅一个每秒几千的竞价请求(即Ad Call),每次请求都代表一次在特定广告位向特定用户展示的机会。你必须在几十毫秒内,对匹配你定向条件的请求进行出价。那么如何决定出价多少钱呢?大多数实时竞价都采用VCG计费或是二阶计费方式。胜出的是出价最高的竞价者,但他只用付出价第二高竞价者的出价。Ad Exchange采用这种计费方式是因为这方式鼓励竞价者“真实地出价(bid truthfully)”。也是就你应该直接出你认为这次展示所值的价值。但这次展示值多少钱呢?首先目标CPC是$1.00,那么一个不错的假设是认为广告主至少认为这次点击值$1.00。我们假设这个推广计划平均点击率是0.05%。那么如果你胜出这次竞价,那么就有0.05%的机会得到价值$1.00的点击,我们将出价和点击率乘起来,我们可以认为胜出的价值是0.05分。如果你是真实出价(按拍卖理论,你应该这样做),你应该出价0.05分。将其概括成一个公式:
bid = value = targetCPC * CTR
这样解释是不是也太简单了点,而且它没有利用到Adx的实时特性。我们是一家预测分析公司,我们有一些炫的模型,它们可以在实时环境下,以一次预测一个请求的方式,预测一个在特定时间在特定广告位一个特定用户点击特定广告的概率。也就是说你不需要在计算出价时统计这个推广计划的历史CTR,我们使用pCTR模型来预测出价:
bid = value = targetCPC * P(click)
上面的推导看起来没问题,但似乎没什么特别的东西。除了pCTR这个超出本文内容的模型,那竞价的秘诀是什么呢?事实上这个公式只会答了如果你决定竞价你的出价应该是多少。但什么时候应该出价,这个公式没能回答。在出价时,事实上你不应该只看出价,而且要看花费。
To Bid or Not To Bid, or: Cost is not Value
我们在Part0中讨论过,如果你对每一次出价都竞价,你会很快消耗完$100,000,而不会坚持到3个月。我们会比Part0更深入思考一个问题:是否我们可以不随机的选择流量进行出价,而是选择一些最好的请求进行竞价?最好的请求并不是指价值最高的请求,价值最高只是决定最好定义的一半。为了解释这个问题,我们举一个例子,一个采购可以买下图A或B商品进行二次销售。商品A二次销售的价值比B低10%,但它的花费只有B的一半。
两个商品有着相似的价值但不同的利润
在这个例子中价值低的A是更好的商品,因为决定商品好坏的不是价值和花费,而是两者之差,我们称之为利润。
surplus = profit = payoff = value - cost
上面的公式在当你胜出时是成立的,但如果没胜出呢?你将没有可能得到一次点击,所以价值为0,但你的花费也是0。所以我们的期望价值是上面的公式乘胜出的概率:
surplus = (value - cost) * P(win)
现在假设除了Datacratic的pCTR模型,我们还有一个竞争价格(出清价格,是指在市场充分竞争下的价格)预测模型来告诉我们胜出每次请求的概率,那么有了它,我们就可以计算利润了。
曲面是出价和价值的函数,对于任何价值,最大的利润都是在出价=价值时
在Part 0中我们介绍了为了得到预算目标,我们可以只对一部分流量进行竞价,我们应该只选择期望利润最高的部分请求。意味着控制出价的变量不再是出价概率,而且一种衡量你多想参与竞价的一个值:这个值越小,你的选择性就越强。你仍然是通过反馈进行调整,但现在你只是针对你认为能获得最多利润的请求竞价,这样你得到一个较低CPC的机会就变大了。
当你采用真实出价并合理地Pace,你的预算会消耗在最好的请求上,原因或是这个用户很可能点击,或是因为当前没多少DSPs出价,或是没有发布者设置底价。
RTB撕开黑盒子 Part 1: Datacratic's RTB Algorithms的更多相关文章
- RTB撕开黑盒子 Part 0:Pacing: is everyone doing it wrong?
曾尝试为我们的RTB客户解决过Pacing问题,Pacing问题要解决的问题是:如果一个客户给你一笔预算,让你去运营一个广告推广计划,在一定的时间内投放广告,将这笔预算在指内的时间内,比较均匀地将预算 ...
- RTB撕开黑盒子 Part 2: Algorithm Meets World
Part 0介绍了RTB的胜出价格会在凌晨陡升.我们还介绍了一个Pace系统,如果这个系统所有的DSPs都用,那陡升的问题就会消失.Part 0中的系统中含有一个隐式的假设:任何两个请求都认为是相同的 ...
- RTB撕开黑盒子 Part 3: Beyond Surplus
在本文中,我将解释如果要对整个推广计划最大化利润,决定是否应该出价的应该是期望回本率(ROI),而不是期望利润,这与我们以前介绍的有所不同.在Datacratic,我们已经在2012年底切到了基于RO ...
- RTB撕开黑盒子 Part 4: Shady Bidding
在这篇文章中,我将告诉你"真实的出价"比你想的微妙,并且你可以使用基于ROI的pacing策略,不需要构建一个期望扣费的模型,你就可以得到完美的期望扣费模型. Same Same ...
- 记录Office Add-in开发经验
原创文章转载请注明出处:@协思, http://zeeman.cnblogs.com 得益于微软系强大的共通能力和Visual Studio的开发支持,做Office插件不是什么难事.一点经验记录如下 ...
- 【项目】搜索广告CTR预估(一)
本文介绍CTR相关基础知识. 一.广告投放系统 广告系统包含多个子系统.除了上图所示的广告投放系统外,还包含商业系统(广告库的获得),统计系统(点击展示日志的获得)等. 广告投放系统主要是面向用户的, ...
- 详解eNSP下的PPP之MP、PAP/CHAP认证实验配置
一.PPP MP实验(用虚拟模板配置) 1.拓扑图
- C#编写记事本(高仿)
近一周写的关于记事本的代码,高仿记事本.本人C#入门不久,其中存在代码冗余,但懒得修改了. 经测试运行正常. 一.主窗体设计及代码 namespace BestEditor { public part ...
- C# 线程更新UI
最方便的用法: private void ViewMsg(string msg) { /* control.Invoke(new SetControlTextDelegate((ct, ...
随机推荐
- 【转】传递给Appium服务器以开启相应安卓Automation会话的Capabilities的几点说明
原文地址:http://blog.csdn.net/zhubaitian/article/details/39431307 Desired Capabilities是由客户端发送给Appium服务器端 ...
- 透过【百度地图API】分析双闭包问题
原文:透过[百度地图API]分析双闭包问题 摘要: 有位API爱好者问到,昨天的教程里为什么不使用for循环?他使用for循环后,也发现代码无效.这是什么原因? ------------------- ...
- Android SDK 2.2 离线安装
android的普通安装方法非常easy,不必多说. 因为普通安装方法速度非常慢,对一般的用户要数小时的时间等待. 为更高速安装,能够採取离线安装方法.即,先分别下载所需包,再安装. 一,首先下载SD ...
- jq入门--选择器
选择器是JQuery一大特色,所有的DOM操作.事件操作.Ajax操作都离不开选择器.熟练掌握JQuery的选择器,可以节省很多代码,很大程序上简化我们的脚本编程工作. JQuery的选择器很类似于样 ...
- CocoaPods在使用中的几个问题
来源: http://blog.cocoapods.org/Repairing-Our-Broken-Specs-Repository/ 1. 当把CocoaPods生成的workspace移动到上层 ...
- WebApiContrib
https://github.com/WebApiContrib ASP.NET Web API and Protocol Buffers Protocol Buffers are a super e ...
- [SQL]死锁处理语句
原文:[SQL]死锁处理语句 引言 今天在群里看到分享的解决死锁的sql语句,就想着这东西以后肯定用的着,就下载下来,在这里记录一下,以后查找也方便. SQL SET QUOTED_IDENTIFIE ...
- ASP.NET 5 Hello World
ASP.NET 5系列教程 (二):Hello World 本篇文章内容比较基础,主要是向大家展示如何创建一个 ASP.NET 5 工程,主要包含内容如下: 创建ASP.NET 5 工程 添加 T ...
- WCF中队列服务详解
WCF中队列服务详解 一.引言 在前面的WCF服务中,它都要求服务与客户端两端都必须启动并且运行,从而实现彼此间的交互.然而,还有相当多的情况希望一个面向服务的应用中拥有离线交互的能力.WCF通过服务 ...
- firefox os 该设备呼叫移动开发
1)话筒 权限:telephony api:navigator.moztelephony 参考链接:https://wiki.mozilla.org/WebAPI/WebTelephony 2) 扬声 ...