解决问题
淘宝作为世界上最大的电商平台,每天为上百万的广告主提供十亿多在线广告曝光的机会。从商业目的上说,广告主为特定的场景和目标人群进行竞标以竞争商业流量。平台方在十毫秒内选择合适的广告进行展现曝光。常见的出价方法有cpm和cpc。
实现流量和广告的精准匹配,oCPC出价,实现高转化高出价,低转化低出价;同时优化版cpc能实现平台、广告主、用户的三方共赢。
传统广告系统以固定的出价来瞄准特定属性的人群和广告放置位置,本质上被视为出价和流量质量的粗粒度匹配。广告客户为争夺不同质量要求而设定的固定出价无法完全优化广告客户的关键要求。而且平台方需要为商业收入和用户体验做保证。本文提出一种出价优化策略,称为优化cpc(ocpc),该策略可以自动调整出价,以实现出价与网页浏览量(PV)请求粒度的更好匹配。这种方法可以优化广告客户的需求,平台业务收入和用户体验,并从整体上提高流量分配效率。在淘宝展示广告上进行方法验证,在线AB实验证明效果有提升。
本文关注于淘宝移动应用中必不可少的CPC展示广告的出价优化问题。
(高转化高出价,低转化低出价。满足一定条件;带约束优化问题)。
广告系统,包含三种角色:广告主、广告平台、用户;三方诉求不同,为了满足不同的诉求,需要采取不同的措施;同时在满足某方(某两方)诉求时,要关注其他方的价值,这是一个利益权衡的问题。动态博弈~
论文中提到的淘宝APP上的两种CPC广告格式分别是:
- Banner CPC Ads
- 猜你喜欢
淘宝作为连接用户和广告主的平台,其生态特点为:
- 不同于大部分RTB系统,淘宝有dsp和ssp两种角色,数据在平台上能形成闭环,能完整的获得到用户数据以及广告计划信息;
- 淘宝中大部分是中小广告主,其主要关注于提升收入而非提高品牌影响力。因此,提高gmv能有益于这些广告主。
- 不同的广告主可能追求不同的KPI,这里讨论在淘宝平台上以点击竞价的cpc方式。
- 最后,广告场景必须满足媒体要求,通过点击率、转换率、gmv等指标来衡量。
通过权衡利弊,在这两种广告格式中使用cpc竞价计费。原因:
- 相较于cpc,广告主采用cpa承担风险会更低,
- 淘宝中多为中小广告主,cpm相比于cpc风险更高,cpc允许广告主控制点击成本,同时平台承担曝光到点击的风险。
广告主总是期望出价能与流量质量相匹配。但是由于技术限制,传统方法只能为用户组和广告位设置固定出价,以实现粗粒度的流量差异化;但是,广告客户正在寻求对出价和流量质量进行更细粒度的匹配方法。基于固定出价的排序过程有两个不足:
- 广告主设定的一个固定出价去处理具有不同商业质量的持续互联网流量,这种方式是低效的;
- 传统方法会最大化eCPM来追求短期商业收入,但是无法优化和控制媒体需求(例如GMV),这不利于淘宝的长期利益。
为了解决这两个问题,从广告主角度出发,一些社交网络平台提出了从其他出价目标平等转换而来的oCPM,oCPM能最大化广告主利益;但是,不能保证广告平台的生态健康如gmv。另一方面,通过修改排名公式bid * pctr过度追求媒体需求(如GMV)无法为广告商和平台带来有效的商业利益。
为了解决上述问题,我们提出了具有以下特征的OCPC:对于每个PV请求,在优化广告客户需求的前提下,OCPC会根据流量质量的真实价值调整出价,同时将出价最大化 通过保持eCPM排序机制不变来反映用户体验,广告客户的兴趣和平台收入的整体生态的综合评分; 我们的设计使我们能够根据业务变化的需求,以较低的成本灵活地调整OCPC系统。
系统架构
描述淘宝展示广告系统中数据信息流,有利于理解出价优化如何生效。从PV请求开始到最终的展示曝光。
- Front Server:从用户侧接收page view请求,将请求传送给Merger Server
- Merger Server:中心调度器,在整个过程中与其他成分交流通信。Merger Server请求Matching Server分析用户,然后根据广告主的用户定向要求给出一个特征标签列表;
- Matching Server:
- Search Node(SN) Server:通过Merger Server,这些标签被传送给Search Node Server,用于依据出价来查找特定的候选广告。在’猜你喜欢‘广告中,候选广告从数千个减少为4百个。
- Real-time Prediction(RTP) Server:对SN中的候选广告预测点击率pctr、转换率pcvr。
- Strategy Server:负责ecpc逻辑处理,基于pctr、pcvr和出价在排序阶段优化流量分配。策略层还负责后续广告的重复删除,以及广义第二价拍卖下的最终曝光价计算。
- Data Node(DN) Server:根据广告排序结果,Data Node Server将广告的标题、图片地址抽取出来;
- Smart Creative Service(SCS):对DNS处理得到的广告标题、图片地址进行创意优化。
最终,前端server将结果返回给app或者网站。之后的点击、转化将记录在log日志系统中。
OCPC
A:符合PV请求的广告计划集合。对于一个特定的PV请求来说,对于A中的每个广告计划a,存在一个广告主预先设定的出价ba。对每个ba来说,OCPC算法的作用是调整ba,找到一个优化后的ba*能满足预先设定好的各种优化要求。
优化可行域
ROI Constraint。ROI限制。考虑到淘宝大部分是中小广告主,其主要关注市场效益,我们选择以保持或提高ROI作为算法的主要应用的同时,对他们的收入GMV进行优化。这里先介绍相关概念,然后引出ROI的数学表达。
- p(c|u,a):用户u点击广告a后发生转化c的概率;
- va:对于特定广告计划a,va表示预计顾客的购买价格(pa-per-buy),或者说卖家的商品定价
- p(c|u,a) * va: 单次点击的预计GMV
广告主的实际耗费依据广义二价机制来计算,这里我们假设广告主为点击点击的付费为ba。单词点击的期望ROI计算公式:
汇总不同用户和点击的广告计划a的总体ROI为:
排序
我们只修改了胜选的候选广告的出价[提高对高质量流量的竞争能力],其余候选广告出价保持不变。
通过这样的排序算法,将最终的排序指标和广告流量的目标解耦。一方面,广告仍然可以通过pctr * bid进行排序,这部分用于最大化eCPM;另一方面,广告平台可以依据不同的目标函数f选择广告。另一个关键问题是广告主的预算约束。一旦广告计划花完了预算,这个广告将被移除接下来的auctions,这对出价优化过程没有影响。
模型校正Calibration
淘宝平台发现,从维护广告系统的历史经验来看,OCPC层中使用的预测值存在固有偏差,这可能会影响算法的有效性。(pcvr/pctr和实际cvr/ctr存在偏差,预估不准确)。这部分是在预测之后OCPC Layer之前进行的。
以pCVR为例,实时预测模块RTP当实际CVR很高时,给出的预测值pCVR也预测得越高。依据预测pCVR将所有广告分为20组,对应实际CVR与pCVR/CVR比例如下图所示。
(图中出现了一个折点,折点之后CVR发生下降,但是gap很大–这属于’CVR越大,ratio越大吗???‘)
pCVR校正公式为:
其中,tc为校正阈值,通常为0.012。当pCVR大于tc时,使用上述公式进行校正,减少pCVR和CVR的gap。校正之后,两者gap减少,减少了一个量级。
最终的OCPC算法为:
对于A中的候选广告,先进行pCVR校正、计算出价上下边界;然后进行算法1的排序;最后,返回候选广告的各个优化后出价。
模型评估
CTR模型中,正样本指那些曝光后发生点击的数据;负样本指曝光但用户没有点击的数据;CVR模型中,正样本指曝光后发生点击,之后又发生转化的数据;负样本指曝光后只发生点击,没有转化的数据。
新模型天级别更新,用于消除不同天的数据方差。
预估模型的提供精准的结果是非常重要的。像CTR预测中,AUC是一个评估模型有效性的指标。然后,存在研究显示测试阶段更好的AUC实际工作时反而带来更差的表现(线下AUC高,线上表现反而更差)。淘宝在实际工作中也遇到类似问题。
分析发现,AUC将不同的用户和广告位同等对待,一视同仁。但是,一些从不点击广告或者遮挡广告的用户会给AUC结果带来动荡,使其变得偏低。根据事实和分析,提出GAUC指标。将用户和广告位对测试数据进行分组;然后在每个小组内计算AUC(如果组内数据全是正样本or全是负样本;则从测试数据中移除这个组内的样本);最后,依据每个小组的曝光or点击次数,对AUC进行加权平均。
实现验证
论文分别进行线下和线上实验,验证算法的有效性。
线下模拟
通过历史的log数据,将pCTR和pCVR当作真实的CTR和CVR,比如某次展示的广告计算出pCTR为4%,则认为贡献了0.04的点击。然后设计4种策略,统计指标。4种策略分别是:
- Strategy 0:对照组,保持原来线上的策略
- Strategy 1:站在广告主角度,设计调价策略
- Strategy 2:OCPC策略,优化的目标函数为
- Strategy 3:不调价直接修改rankscore公式,不再是eCPM排序,改成pctr * pcvr * bid,像提升gmv。
实验效果如下表,相对策略0,策略1和3的千次展示GMV和ROI都提高了;但RPM降了,只有策略2(OCPC)在3个指标上都获得了提升。
线上效果
Strategy 2上线效果和线下一致,在3个指标上均获得了提升。
此外,作者提出本文的机制具有普适性,并不局限于GMV。
Reference
http://castellanzhang.github.io/2017/10/21/ocpc_roi/
Paper:https://arxiv.org/abs/1703.02091