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

Too Little of a Good Thing

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

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

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

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

A Thought Experiment

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

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

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

现在再假设一个实验:如果在A和B的请求是混合的,还有一个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的角度看,它都不是最优的。但是基于利润的策略,不能区分A和B的流量(它们有相同的利润),所以分别购买了1M的流量从A和B。而基于ROI的策略会像忽略X一样忽略来自A的流量,而只关注有着高ROI的B类型流量。

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

Conclusion

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

RTB撕开黑盒子 Part 3: Beyond Surplus的更多相关文章

  1. RTB撕开黑盒子 Part 1: Datacratic's RTB Algorithms

    这篇文章是讨论Datacratic所用的统计和经济理论的一些内容.我们开发了real time bidding算法s.为了实现广告主的目标,我们的算法自动地利用其它广告主的次优策略,并再查看广告的底价 ...

  2. RTB撕开黑盒子 Part 2: Algorithm Meets World

    Part 0介绍了RTB的胜出价格会在凌晨陡升.我们还介绍了一个Pace系统,如果这个系统所有的DSPs都用,那陡升的问题就会消失.Part 0中的系统中含有一个隐式的假设:任何两个请求都认为是相同的 ...

  3. RTB撕开黑盒子 Part 0:Pacing: is everyone doing it wrong?

    曾尝试为我们的RTB客户解决过Pacing问题,Pacing问题要解决的问题是:如果一个客户给你一笔预算,让你去运营一个广告推广计划,在一定的时间内投放广告,将这笔预算在指内的时间内,比较均匀地将预算 ...

  4. RTB撕开黑盒子 Part 4: Shady Bidding

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

  5. [DEMO] 互联网广告RTB机制简介

    前言: 传统的互联网广告一般都是大流量网站在页面中留出一定空位,某些推广商家通过买位的方式来展示自己的广告. 我们这里引入一个案例:假设大访问量网站为博客园,想要广告推广的公司为阿里云平台. (场景为 ...

  6. python中几个常见的“黑盒子”之 列表list

    python常见的数据类型有:字符串,布尔类型,整数,浮点数,数字,日期,列表,元祖,字典.相信前面6个大家都非常的熟悉,但是对于python的列表,元祖,字典我有时候一直在想其内部的实现是怎么样子的 ...

  7. RTB交接

    RTB产品测试进度 元数RTB产品 元数的产品已经测过两个版本,分别是1.1版本和1.2版本,目前线上跑的是1.2版本.程序线上情况目前正常,没有问题. 元数功能账号为:yuanshu  需用root ...

  8. RTB

    RTB —— Real Time Bidding 的简称,就是实时竞价.跟传统购买形式相比,RTB是在每一个广告展示曝光的基础上进行竞价,就是每一个PV都会进行一次展现竞价,谁出价高,谁的广告就会被这 ...

  9. [转]浅析AD Exchange——RTB模式

    在上一篇文章中,我们了解了程序化购买,并且知道程序化购买的最基本的一种RTB的竞价模式,了解了DSP.SSP.Ad Exchange等概念,不清楚的同学可以看看上一篇文章<程序化购买>. ...

随机推荐

  1. poj 2828 线段树

    http://poj.org/problem?id=2828 学到的思维: 1.变化的或者后来的优先影响前面的,那么从最后一个往前看,最后一个就成了 确定的, 而且后来的也能够确定----假设从前往后 ...

  2. 经验总结35--IP地址区域匹配

    想知道客服端訪问的IP地址是多少,并知道区域. 一般能够去http://www.ip138.com/,输入IP查询,但没提供比較好的接口,程序使用不方便. 另外有些企业提供一些离线的IP数据库,能够进 ...

  3. SOD框架的数据容器,打造最适合DDD的ORM框架

    SOD框架的数据容器,打造最适合DDD的ORM框架 引言:DDD的困惑 最近,我看到园子里面有位朋友的一篇博客 <领域驱动设计系列(一):为何要领域驱动设计? >文章中有下面一段话,对DD ...

  4. 找不到方法: Int32 System.Environment.get_CurrentManagedThreadId() .

    这个问题在本地运行没错...放到服务器上就出现这个问题.. 原因:是这个方法是.NETFRAMWORK4.5的..服务器上用的是4.0就会出现这个问题. 解决办法:在本地WEB项目右键把项目改到FRA ...

  5. 最新HTML BroadcastChannel API引荐

    HTML BroadcastChannel API 当前浏览器中只有Firefox38唯一能支持BroadcastChannel API(在编写本文的时间点),而Firefox38官方宣称要到2015 ...

  6. td中的值自动换行

    设置td中的值自动换行在<td ></td> 中加上这样一句代码,可以简省设置,使长字符串换行.而不用设置width,height. style="word-wrap ...

  7. 5. SQL Server数据库性能监控 - 当前请求

    原文:5. SQL Server数据库性能监控 - 当前请求 对于在线运行的系统,当前数据库性能监控,通常监视以下几点: (1) 是否有阻塞 (Blocking); (2) 是否有等待 (Waitin ...

  8. table居中方法之一:设置width,然后为style设置margin:auto

    比如: <table width="800px" style="margin:auto;">

  9. Spring AspectJ的Execution表达式-备忘笔记

    Aspectj切入点语法定义 在使用spring框架配置AOP的时候,不管是通过XML配置文件还是注解的方式都需要定义pointcut"切入点" 例如定义切入点表达式  execu ...

  10. HDU 2079-课程时间(生成函数)

    课程时间(标题已被修改,注意阅读题) Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...