在本文中,我将解释如果要对整个推广计划最大化利润,决定是否应该出价的应该是期望回本率(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. Linux常用命令2--用户问题、文件的打包压缩

    Linux常用命令 如何进行用户和群组的创建和更改 [1]groupadd:用于创建新的群组. 语法:groupadd [-option] 用户名:其常用参数有:-g groupadd -g 555 ...

  2. JAVA异常处理、常用类、反射、集合

    异常 异常:在Java中是指被一个方法抛出的对象. 分类:检查异常.运行时异常.错误 运行时异常(uncheckd):RuntimeException和其子类 检查异常(checkd/搜检异常):指E ...

  3. MySQL存储引擎差异化实验

    本篇把MySQL最常用的存储引擎给大家做一个介绍,然后通过插入.修改和并发实验来了解和验证一下它们之间的一些差异. 一.MySQL存储引擎简介 存储引擎在MySQL结构里占据核心的位置,是上层抽象接口 ...

  4. unpivot,pivot,case when ,行转列,列转行 sql server

    http://technet.microsoft.com/zh-cn/library/ms177410.aspx unpivot : CREATE TABLE pvt (VendorID int, E ...

  5. Silverlight 雷达图和一种特殊泡泡画法

    原文:Silverlight 雷达图和一种特殊泡泡画法 自上次发了雷达图,也没怎么说一下. 这次又做了一种图,继续共享一下,就是以一个点为中心,周围绕着几个点,用一个箭头与中心相连并带有某些信息.圆 ...

  6. C# 之 托付

    托付(delegate)     托付是一种能够把引用存储为函数的类型.托付也能够看成是一种数据类型,能够用于定义变量,但它是一种特殊的数据类型,它所定义的变量能接受的数值仅仅能是一个函数,更确切的说 ...

  7. java抽象类和接口的区别(转载)

    1.Java接口和Java抽象类最大的一个区别,就在于Java抽象类可以提供某些方法的部分实现,而Java接口不可以,这大概就是Java抽象类唯一的优点吧,但这个优点非常有用. 如果向一个抽象类里加入 ...

  8. C++ ofstream和ifstream具体的方法和C语言file说明

    ofstream是从内存到硬盘,ifstream是从硬盘到内存,事实上所谓的流缓冲就是内存空间; 在C++中,有一个stream这个类,全部的I/O都以这个"流"类为基础的,包含我 ...

  9. JS中apply与call的含义与区别

    JavaScript中,apply()与call()的含义一样,均为改变调用函数中的this指向.其中apply()与call()的第一个参数表示所要指向的对象,若调用函数无参数可不写,则默认为win ...

  10. C语言链表操作模板(添加,删除,遍历,排序)

    C语言链表操作模板,摘自郝斌的C语言视频教程,简单的修改成了纯C格式.当年照着视频学习的时候记录下来的,在使用的时候直接拿来修改修改修改能节约不少时间的. /********************* ...