写在前面:
淘宝是目前国内收入最高的广告平台之一。而oCPX是近年来在线广告行业非常火爆的产品。有oCPM,今日头条和淘宝有oCPC,腾讯广点通有oCPA。所以淘宝在2017年KDD上发表的关于oCPC的论文引起了我们的注意。上周我们在学习小组一起阅读并讨论。下面的文章简单介绍了论文的内容和思路,红色标注的部分是我们对这篇文章的思考,也希望有兴趣的同学可以在文章底部留言,和我们一起讨论。
1. 什么是 oCPC?(欧文)
在了解oCPC之前,你必须知道什么是CPC。
CPC是Cost per的缩写,中文一般叫每次点击费用。
例如,广告主在搜索引擎上购买一个关键词来推广自己的网站,当用户搜索这个关键词时,广告主的网站可能会被展示给用户,如果用户点击了该网站,平台就会向广告主收取一定的费用,以上就是典型的CPC扣费方式。
那么 oCPC 是什么?
oCPC 代表每次费用,本质上是一种智能定价模型。
以往广告主只能针对单次点击进行出价,如果广告主在广告上线后没有主动调整出价,那么出价就会保持不变。
在淘宝的oCPC模式下,广告主依然是按点击量出价,但广告主会设置一个溢价区间,比如25%。在oCPC模式下,系统会根据实际流量质量和投放情况自动调整广告主的出价,但最高不会超过广告主原出价的25%。
2. 淘宝为什么使用oCPC?( Owen)
淘宝有自己的优势:
首先,与很多平台不同的是,淘宝用户的转化行为全部发生在淘宝上,无需跳转到其他网站或平台,淘宝不依赖其他平台回传用户转化行为数据。
在淘宝的广告主中,中小广告主占了大多数,相比于品牌广告,这些广告主更青睐效果广告,因此,如果广告产品能够带来销量,这些广告主一定会欢迎。
不管广告主的目的是什么,淘宝一直以来都是按照CPC收费模式向广告主收费。
淘宝认为,将销量和用户更紧密地联系起来,将带来更好的用户体验;其次,由于淘宝的广告主都是淘宝卖家,将广告效果和销量更紧密地联系起来,将刺激广告主增加广告预算,为平台带来长期的利润增长。
那么淘宝为什么不用oCPS、oCPM,而是用oCPC呢?
淘宝也做了一些思考:
首先,CPS 销售虽然让广告主承担的风险更小,但却忽略了点击的价值,降低了流量的利用效率。淘宝的广告主大多是中小企业,CPM 扣费方式对他们来说风险太大。因此 CPC 扣费方式对淘宝生态最友好:广告主竞标点击,平台帮广告主找到最想点击的用户。由于淘宝能直接拿到用户的转化数据,也更容易优化,所以 CPC 扣费更适合淘宝。
3、淘宝如何实现oCPC?
这是一个非常大的问题,我们可以把它分解为四个方面。
A 部分 系统设计 (Owen Jr.)
当用户浏览淘宝时,前端服务器( )接收用户的请求,然后通知融合服务器( )。
融合服务器充当中央调度器。融合服务器向匹配服务器请求
( )对用户进行分析,获得一系列的用户标签,并根据广告主的定位,为用户匹配精准的广告。
通过融合服务器,将用户的标签信息传输到搜索服务器
(节点)。搜索服务器会先根据广告主的出价,匹配一些广告给这些广告主。经常出现的情况是,一个用户在匹配服务器阶段匹配了上千个广告,但是在搜索服务器阶段,经过出价筛选后,一个用户只匹配了几百个广告。这样可以减少后续服务器的压力。
匹配上百条广告的用户信息会被融合服务器(Real-time)带到预估点击率服务器(Real-time)。预估点击率服务器会针对用户拉取的上百条广告,预测出每条广告的点击率(pCTR)和转化率(pCVR)。值得注意的是,淘宝在做pCTR的时候,使用的是MLR模型。
此时可以清楚得到的信息是:
一个用户这次拉取了几百个广告,系统对每个拉取的广告都有一个预估的点击率和转化率。然后这些信息被带入策略层(),根据点击率、转化率和广告主出价对广告进行排序。这一层是oCPC策略的核心。然后广告文案和图片会被发送到数据节点服务器(Data Node),通过智能创意服务()进行优化,选出最佳素材。获胜的广告素材会被发回前端供用户查看。
用户看到广告后的点击、转化行为都会被系统记录并储存在后台。
这里原文的表述有点模糊,我理解为多项素材的评选,也就是在排序的时候给一个广告组中的方案一个总分,在选出广告组和优胜者之后,再根据用户的喜好来选出创意。
B 部分 优化目标 ( &)
所谓oCPC,就是基于CPC扣费来优化广告主和淘宝的收益。
如上文所述,淘宝的广告主大多为中小企业,相比于广告带来的品牌效应,他们更看重的是:
a. 在整个广告时段内赢得竞争、赢得展示并产生扣点行为的流量质量
b.广告带来的实际效益。
那么,收费流量(即用户点击的流量)的质量该如何衡量呢?优质流量是每次点击带来高潜在收入的流量!优化广告主收入的方法是通过调整价格来赢得更多优质流量!
具体来说,带扣分行为的流量展示包括以下三个步骤:
a)用户u点击广告a,阿里巴巴平台扣除本次点击费用ba。
b)用户u进入广告a所推广的店铺s,并以一定的概率产生转化行为c(本文以p(c|u,a)来衡量)。
c) 转化行为给商店带来收入va。
经过以上三个步骤,一次点击给广告主带来的收益为 p(c|u,a)*va,成本为 ba。因此,一次点击的 roi(u,a) 为:
在广告a的整个投放周期内,一个用户ui可能会多次点击该广告,假设在整个投放周期内,用户ui点击了n(ui)次广告,则这些点击的费用为:
这些点击产生的转化次数为:
这些转化给广告商带来的收入是
在整个投放期间,不同的用户u1,u2…uk都会点击广告a。
此时总点击次数为:
相应的扣除项目为:
所有点击的转化次数为:
总体点击转化率为:
优质流量是指转化率 p(c|u,a) 高于整体点击转化率 E[p(c|u,a)] 的流量。整个投放周期内,所有点击带来的收益为:
因此,在淘宝上投放广告a给广告主带来的投资回报为:
通过观察上述公式,我们发现,一个广告主投放广告a的ROI只和三个因素有关:va,整体点击转化率E[p(c|u,a)],出价ba。
va 是用户在店铺 s 上(广告推广)平均花费的金额,这个因素和具体的店铺和商品有关,无法通过 oCPC 项目进行优化,所以要想提高广告主的 ROI,就必须想办法提高 E[p(c|u,a)]/ba 这个比值。
那么如何提高E[p(c|u,a)]/ba呢?文章中的方法是:
1)每次流量到来时,我们先估算该流量的点击转化率p(c|u,a)
2)基于p(c|u,a),将广告主的出价ba调整为ba*。调价的原则是:调价后,该流量的投资回报率大于等于市场的投资回报率roia,即:
具体来说,当优质流量(即p(c|u,a)>=E[p(c|u,a)])到来时,在满足约束(1)的前提下,我们尽量提高广告主的出价ba来赢得曝光,获取转化。
相反,我们降低出价ba,不主动争夺这个曝光机会,帮助广告主节省成本。
从广告主收益角度,流量质量差的时候,BA调得越低越好,流量质量好的时候,BA调得越少越好。那么广告主在投放时就有控制成本和曝光的需求,淘宝平台也需要考虑自身的收益。
因此,在oCPC中,针对不同品质的流量,我们设定价格调整的上限u(ba*)为:
将价格调整的下限l(ba*)设置为:
文章认为每次流量到来时,只要调价ba*在下限l(ba*)与上限u(ba*)之间,就能保证广告主的投资回报率不比之前差。然而我们认为事实并非如此,当流量质量较好时,oCPC将出价ba提高到ba*,虽然调价之后,这次点击的ROI还是高于市场平均ROI,但是相比之前,广告主的广告费用增加了,但是对应的收入却没变。如果淘宝oCPC在较差的流量上不降低出价(这个是合理的,满足上下限约束),那么在同样的流量上,广告主的支出增加了,而收入却没变,ROI不升反降!
(我们已经就此事向作者发送了电子邮件,正在等待回复。我们稍后会在评论中更新作者的解释。)
C 部分 排序算法()
文章认为,只要调价后竞价ba*在区间[l(ba*),u(ba*)]内,淘宝平台就能保证广告主的ROI不下降。然而区间[l(ba*),u(ba*)]内的取值有无数个,这些取值都能保证广告主的ROI不下降。那么,哪个取值才是最好的呢?
首先,让我们定义一下“最佳”的含义。
设想一个淘宝平台的标准曝光展示流程:流量到来后,多个广告进行竞争,基于eCPM排序机制,最终广告k以bk*的出价赢得竞争;系统将广告k展示给用户u,用户u有一定的概率点击广告并进行购买。我们用 符号表示用户点击广告k的概率, 符号表示用户点击广告后进行购买的概率。
此时,一次曝光给淘宝带来的收益为点击费用:* bk*。给广告主带来的收益为用户的转化购买:vk * *。我们用函数f(k,bk*)来表示广告k赢得竞争后给广告平台各方带来的收益。函数f(k,bk*)的一种可能形式为:
显然,“最优”的情况是系统让Ad k赢得展示机会(Ad k在eCPM排序机制下得分最高),同时保证广告主的ROI不下降(bk*在区间[l(bk*),u(bk*)]),并且Ad k能够使平台各方收益最优化,即max f(k,bk*)。
将上述描述从数学上形式化就是解决优化问题:
那么如何解决这个优化问题呢,即
1)如何找到使得收益函数f最大化的广告k?
2)找到k之后,如何保证广告k在竞争中获胜?即如何保证广告k的eCPM得分最高?
以文章中给出的示例函数f(k,bk*)为例,即:
举个例子来说明如何解决这个问题
(1),即寻找使得利润函数f最大化的广告k。
观察函数f(k,bk*),我们可以发现它是一个单调递增函数,当bk*增大时,f(k,bk*)也增大。由于bk*的取值在区间[l(bk*),s(bk*)]内,所以f(k,bk*)的最大值是f(k,u(bk*))。我们依次计算出每一个广告a对应的f(a,u(ba*)),然后按照降序排列,排在最前面的广告就是给平台各方带来最大收益的广告。
但是,排名靠前的广告k就一定会在eCPM排名机制中胜出并获得曝光吗?
在回答这个问题之前,我们先来思考一下在eCPM机制下,广告k在什么情况下能够胜出。如果广告k能够胜出,那么当k有最高出价u(k*)时,它的eCPM得分*u(bk*)一定不小于其他广告的eCPM得分。那么如何保证其他广告的eCPM得分呢?