欢迎转载,请注明出处:http://blog.csdn.net/stund/article/details/73611755
之前了解oCPC概念是从今日头条流传出来的,之后各种寻找终于找到大淘宝的一篇原创性的论文。点个赞!下面正式开始。
文章提出了Optimized Cost per Click(oCPC)方式去优化站内广告投放效果-自动动态调整广告对流量的竞价bid,控制roi的同时提高gmv。具体场景是淘宝这种能拿到最终转化数据的平台的广告投放工作。在移动端的列表页广告与banner广告场景中展开。
整理文章中的缩写:
pay per click (PPC)
gross merchandise volume (GMV)
cost per mille (CPM)
cost per click (CPC)
Real-time bidding (RTB)
淘宝广告平台的特征:
* 打通用户从浏览到付款的闭环。
* 广告主多数是中小型商家,相比品牌效应更关注收入的提升。因而增加gross merchandise volume (GMV) 对这些商家有益。
* 投放广告需要满足媒体的要求。以GMV为例分析一下:首先,不影响用户体验,需要在商业收入和用户体验之间达到双赢的状态。其次,广告主大多是淘宝平台的商家,其广告费多数来自于其收入的某个固定比例。所以,增加GMV能影响广告主增加广告投入,有利于广告平台的长远发展。
相对于CPS时广告主承担更小的损失风险却忽略了点击的价值,导致 worse traffic liquidating efficiency. 而CPM则是广告主方承担了较大的损失风险,综合来看CPC是淘宝平台广告比较有效的运作方式。 Facebook[9] 在之前的文献中有提出类似的oCPM:广告主按点击出价而按展现量计费适合SNS网络。
淘宝广告平台系统流程:A, matching stage匹配过程,从大量广告中粗选出一些广告。B,Real-Time Prediction(RTP) 预测精选广告集的pCTR。C,基于bid*pctr排序。
传统广告投放系统中,只能指定特点用户群体与广告位上的叫初粒度的竞价bid。缺点是:A,不同质量的流量没有在出价中体现出差异。B,对应的eCPM追求的是短期的商业利益,而不能优化GMV等长期收益因子。
OCPC: 对每次广告请求都动态设置bid 为与该流量的质量相匹配,综合优化了用户体验、广告主的诉求、淘宝平台方的收入;同时保持使用eCPM的排序机制不变。
介绍了淘宝广告业务的工程架构与对应的数据流动方式。先上架构图:
各个子模块的简要介绍:
下面开始讨论oCPC算法。
本文约定广告主的需求是:ROI 与 增加高质量的流量。GMV则视作广告平台的生态指数。通过调整广告主的bids优化GMV与广告平台的收益(eCPM)。
ROI 约束:
针对淘宝平台主要是中小商家,重视营销效果的需求;平台方主要采取保持它们的广告的ROI持平或增加,优化它们的GMV的方法。
名词说明:
Bid Optimization Boundary
基于3.1中的讨论可以对bid 与优化后的bid* 设置一些约束条件, 比如:
bid*a / bida <= p(c|u,a) / Eu (p(c|u,a) 时,既能保证最终的 ROI 不会降低。
【讨论】:从这个式子里面可以看到,如果本次的流量的转化大于历史均值,那么提高出价,反之,则降低出价。由于该公式是通过每次优化后当前pcvr较高才提高出价,所以对该广告主会引入更高转化率的流量,长期累计后Eu的值也增加,从而会导致bid*/bid 趋近于1 (上限值)。
一些bid 优化的原则:
优化原始出价bid 后的出价上下限为:
如果广告主关闭优化bid的功能,则上下限都为广告主的原始出价bida 。
提出一种新颖的方法优化bid,达到在综合考虑各方需求并保持用eCPM 排序的情况下,达到最佳综合指数的效益( composite index )。
给定广告k,在eCPM 排序机制下优化bid的目标函数为:
说明:
f1(k, b∗k)=pctrk ∗pcvrk ∗vk, 即提高GMV。
f2(k, b∗k)=pctrk ∗pcvrk ∗vk + α∗pctrk ∗b∗k ,综合提高GMV 和 广告收入。
排序求得最优的bid'a 实现 f(k, b) 的最大化:只需要将广告按f(*) 降序排序,选择对应的 u(S∗k ) >= 所有其他广告的l(S∗i ) 的广告k (保证满足上式中的两个约束条件),作为结果广告展示并将其出价b∗k 置为 u(b∗k ) ,然后调整其他广告的bid值使得广告k 具有最大的eCPM 值。
算法流图:
说明:
效果:解耦了最后一步的排序和 广告流量目标,一方面,广告仍然通过最大话eCPM的方式排序;另一方面,广告平台可以根据不同的目标函数f(*) 选择不同的广告。
校准:
历史经验发现,在oCPC之前得到的预测值cvr存在某些固定的偏差,因而需要对预测值先进行校正,再用来计算oCPC。
在对应的真实CVR值较大是,RTP模块的模型预测的pCVR值会被估计为一个更大的值。我们将广告按其pCVR升序划分为20组,对比不同组的预测pCVR与真实cvr的比值,会越到较大值的pCVR所在组时比值越大。
校准预测的pCVR的方式:
其中,tc 即阈值点,tc=0.012。
【讨论】:因为p(*)<1故log(p) <0,将p(*) 的值缩小,达到缩小pCVR与真实CVR的gap(pCVR > 真实CVR)的效果。
完整的oCPC 算法流程图:
说明:
In CVR prediction, the results of click quality model are used as input(提升明显)。
对比pCVR - 真实CVR 曲线 和 pCTR - 真实CTR 曲线来看,前者出现在最大pCVR组的真实CVR下降的转折,而pCTR则与真实CTR的趋势一致。
文献【6】表明,有些时候线下跑出的AUC更好的模型,上线后效果可能不好。AUC指标并不区分不同用户与广告位。本文中提出一种新的Group AUC(GAUC):
监控CVR 和 CTR模型过去一周的线上数据AUC 和GAUC,每天的值都比较平稳。说明满足oCPC 实验的高度可靠性的要求。
线下模拟采用模型的预测概率来代替正式的点击率 或转化率。
设计了4组实验:
Offline simulation results indicate that larger ra can bring better performance.
the increment of RPM is less than that of GPM, which results in a higher ROI lift when the adjustment range is large.
分 campaigns 分析:
取广告消费TOP10 的活动分析,其中有8个的ROI有提升。其中有7个活动的GMV增加而PV降低-即他们放弃了部分相对它们而言的低质量流量。
目前淘宝的列表页广告每天有9+KW(@201608)。
Advertisers’ interests (indicated by ROI), platform’s revenue (indicated by RPM) and overall GPM achieve a tripartite win-win situation.
In all campaigns with more than 5 conversions in a week, 67% campaigns get GPM and ROI improvement at the same time. And 24% campaigns are in the so called quantity and quality ex- change situation: their PV increment is larger than the ROI drop.
more than half impressions belong to group 5, the middle group which includes records with b∗a = ba. It’s a reasonable observation, because the bid optimization upper bound for those low quality traffics is set to ba according to Eq5.
不同的广告品类由其内部固有的ROI和CVR区间。
分析不同品类的占比变化: PV占比方面,the traffic shifting is not too obvious, with all the variations are within ±10% 。17% categories (with 62% PVs) get GPM and ROI improvement 。
在淘宝双十一前,商家比较关心用户将其商品放入购物篮的数据。本文使用OCPC实验不同的f(*) 在双十一前夕的表现。公式如下:
效果:OCPC策略将 ASR has been improved 15.6%
同时也在Banner CPC广告中实验了OCPC,公式如下:
其中,w=6,ra =0.4,
在f(*)中去掉了va, because there are store campaigns in which PPBs of different items vary a lot.
效果也提升明显。