oCPX 诞生历程
互联网广告最早呈现的时候会让广告主按工夫长度去买断一个展现地位的广告,或者按广告展示次数去投放广告。这种形式与传统电视广告投放形式比拟相似。咱们当初看到的一些网站的 Banner 和大部分 App 的开屏广告都属于这种广告投放形式,而这些广告主都是以品牌推广为目标进行广告投放的。
这类广告特点是个性化差,所有用户观看这个电视节目或者关上这个网页都会看到这个广告,所以很多男士在电视上会看到化妆品广告,女士会看到耐克的广告,而实际上大部分状况下他们对这个品牌商品是不感兴趣的,广告流量节约会比拟多。而投放品牌广告的广告主也不太在意这些流量节约,不要求用户看完广告会马上购买商品,从更长期角度来看来加强公众对该品牌的认知。
个别可能投放品牌广告的都是大广告主,比拟重视长期品牌效应。然而对于泛滥中小广告主而言,他们更心愿一分投入有一分产出。在 Google、百度等商业搜索引擎呈现之后,按点击扣费的成果广告失去大规模推广应用,很长一段时间成为互联网广告的次要投放形式。
广告主投放广告之后,广告会呈现在搜寻后果页或者内容举荐页下面。广告展示自身是不免费用的,只有用户点击广告之后才会进行广告扣费。这样的广告对广告主来说广告成果会更加可控,一次广告扣费就会带来一个用户拜访,而不是仅仅领取广告费用其余所有方面都没有保障。而且一般来说用户感兴趣才会点击广告链接,用户对广告内容会有肯定相关性,肯定水平晋升广告转化和用户体验。
对广告平台放来说,能够把不同用户的曝光卖给不同广告主,比起把所有用户曝光都卖给同一个广告主来说收益更高了。另一方面也对平台技术提出了更高要求,平台须要精确预估用户对每个候选广告点击率(ctr),依照 ctr*bid 进行排序,一直优化 ctr 预估模型能力更正当地把用户和广告主配对,晋升平台收益。
很长一段时间互联网广告都是以点击扣费(CPC)为主的广告投放形式,平台方更多的是一个导流的作用,把用户导给广告主,而用到广告主的页面或者 App 后怎么营销就是广告主本人的责任。这样对广告主来说,真正的转化老本其实也不是那么可控,点击广告链接后可能最终没有在广告主这里买货色。另一方面也导致局部广告主做一些题目党或者 SEO 的广告,让模型预估 pCtr 偏高,从而便宜获取用户。实际上毁坏用户体验,也毁坏了广告生态。
一个互联网广告的转化漏斗是很深的,以游戏 App 为例,整个广告转化流程简略包含申请、曝光、点击、下载、注册、付费 6 个阶段,咱们个别在广告点击阶段就扣除广告费用了,而广告主实际上想要的是用户付费,更心愿可能按一个付费用户多少钱来投放广告。
而事实当中,像房屋买卖租赁两头就是这样免费的,按房子成交金额扣除肯定比例的平台佣金。这样无论两头带多少人来看房都是不免费的,只有成交了才免费。CPC 导流形式在这个场景下就是:中介带人来看房(导流),如果有人违心来看房即导流胜利,每次能把人带来收取 3~5 元的导流费用,最初是否成交看房主本身的营销伎俩。相对来说房主会更偏向按成交佣金的形式。
咱们把按转化扣费的形式称作 CPA,而在互联网场景上运作 CPA 形式会有比拟多问题。
- 转化行为都有提早,转化行为产生时不肯定能进行扣费。
- 精确转化数据在广告主手上,互联网场景无奈像事实中介一样全程陪同。
- 须要对接很多中小广告主,他们技术水平不高,回传转化数据流程容易出问题。
基于下面 3 点思考 CPA 形式在互联网比拟难落地,晋升广告后端转化率升高转化老本始终都是大家致力方向,期间有比拟长时间是让广告主抉择人群定向标签来进行投放,从而晋升转化率,但理论落地也有一些不尽人意的中央。
近年来有 Facebook、头条等头部公司推出 oCPC 的投放形式来保障后端转化老本。其模式还是在用户点击时进行广告扣费,然而这里扣费价格不是先前的一个固定价格,而是依据广告后端转化率计算出来的价格;bid=CPA*pCvr,这里 CPA 是用户转化出价,例如一个付费用户 100 元,pCvr 是模型预估的点击到指标转化(付费)的概率。因为还是在点击时扣费,广告主在回传转化数据下面舞弊的动机就没有了,整体危险是平台和客户共担,搞乱转化数据只会让模型成果变差,转化成果不可控。同时在原理层面上是能够做到老本可控的,能够满足广告主需要,而且从平台来看流量调配更正当收益更大,广告生态更好。只是对于平台理论工程实现来说会更加简单,技术挑战更大,理论转化老本与 CPA 存在肯定偏差。
oCPC 之外,前面还有 oCPM、oCPD 等投放形式,其原理比拟相似统称 oCPX。
oCPX 算法技术架构
首先须要建设实时转化数据回传归因模块,把广告主回传的转化数据分门别类的存储下来,并且正确归因(把转化数据和带来转化的点击关联起来)。数据是算法零碎的基石,没有数据就没有前面整个算法零碎,实时数据流程必须做到稳固牢靠。
其次是咱们的模型训练模块,这里会跟进广告点击和转化数据,对点击转化率进行建模,即建设模型预估条件概率 P(转化 =1| 点击 =1)。模型特色层面复用大部分 ctr 模型特色,减少 cvr 的统计类特色以及落地页特色来表白用户与转化行为之间的关系。模型会推送到线上服务用来预估每个候选广告的点击转化率 pCvr。
为了保障广告老本可控以及纠正模型在广告维度上的预估偏差,咱们还须要一个实时老本管制模块。它会实时统计每个广告当天实际成本和广告主预期老本状况,利用工业控制算法来调整每个广告的整体出价。如果某广告老本偏高,会升高该广告整体出价,让广告的转化实际成本和广告主预期老本趋于统一,反之亦然。
在线上排序服务(ranker)下面,咱们须要对每个候选广告依照它的投放指标(可能是下载、激活、注册、付费……)来预估它的转化率 pCvr,联合广告主转化出价 CPA 以及管制模块计算的广告出价管制系数 k 来计算广告这次的点击智能出价 bid=pCvrCPAk。失去点击出价后,和其余 CPC 广告一起依照 score=pCtr*bid 的形式进行整体综合广告竞价。通过若干排序策略最终抉择胜出广告下发到客户端进行广告展示。
整个数据和算法零碎简单的是比拟高的,各个环节都可能出问题,一个 debug 和 case 剖析模块是必不可少的。这里在 ranker 侧会上报一些 debug 数据进入咱们的 case 剖析模块,能够跟进理论察看到的和广告主反馈的问题进行跟踪和定位,及时对系统进行调整和后续优化。
CVR 建模技术简介
Cvr 预估模型是 oCPX 零碎的外围,它的成果会很大水平影响最终平台收益和广告老本偏差状况。
在 Cvr 模型建模之前实际上曾经有 Ctr 预估模型,只是一个是对点击转化建模,另一个是对曝光点击建模。而实际上 Cvr 建模还是有不少技术难度须要克服。
- 预估准确性要求更高
对于 pCtr 而言,技术预估后果有肯定偏差,只有偏差对最终竞价的后果不影响就没问题;而 pCvr 间接影响广告的点击出价和老本状况,即便是偏差 5% 也会反馈到广告主的转化老本上,对广告主来说有显著感知。pCvr 须要预估更加精确。
对应预估偏差问题一般来说解决模型优化之外还须要进行 pCvr 校准,通过模型预估 pCvr 值与实在统计 Cvr 值进行比照,通过保序回归模型进行校准。 - 样本稠密有偏问题更加重大
咱们训练模型样本都是以用户点击后是否转化行为进行训练,这些样本都是最终竞价胜出并且被用户点击的状况,证实都用户与广告配对比拟好的状况。而线上预估时是对所有候选广告进行预估。这样就如同咱们要做一个预估全国人民支出预估的模型,而建模训练样本只应用深圳市样本一样,样本有偏问题比较严重。
样本有偏问题能够通过联结建模进行缓解和优化,支流有 ESMM 和 MMoE 两个模型能够抉择,目前理论发现 MMoE 多转化类型联结建模对模型成果有肯定晋升作用。而 ESMM 成果不显著。
- 提早转化
目前模型是增量训练形式进行更新的,深度转化行为提早比拟大,如果不做非凡解决容易一个点击行为先产生,作为负样本进入模型进行训练,过了几天用户付费了,再以正样本进入模型训练。一方面是训练不精确,另一方面对于新上线广告而言容易呈现较大转化率低估的状况。这个提早问题对于 Ctr 模型来说会更加大。
这里咱们认为 7 天是转化行为回流最大窗口(能笼罩 95%+ 的状况),首先会增量训练一个 T - 7 的模型,因为这个时候转化数据曾经回流齐全,因而这个模型没有提早转化问题。
而后每天会刷新最近 7 天的正负样本数据,并且依据每天转化回流比例来调整样本权重来打平正负样本比。接着咱们会 base T- 7 的模型,以最近 7 天的调权样本数据进行增量训练,失去 T - 0 的模型,这样 T - 0 模型在样本比例上打平了提早转化问题。
老本控制策略简介
通过针对性的伎俩会让 cvr 模型预估更加精确,然而难免会呈现预估有偏差的状况,尤其是转化数据比拟稠密,理论转化量容易呈现较大稳定。因而须要一个老本管制模块来为广告主老本达成提供保障。这里引入几个概念:
理论耗费:广告主当天扣费金额
广告主价值:按 CPA 计费状况下,当天应该扣费金额
耗费比 = 理论耗费 / 广告主价值,管制模块让耗费比趋近 1.0,从而让理论耗费趋近广告主价值。
控制策略模块会计算广告维度出价系数 k,bid=CPApCvrk,来调整广告维度的出价。
最开始咱们采纳比例控制办法,k=1.0/ 耗费比。思路比拟奢侈,如果理论耗费是广告主价值的 2 倍,那么每次以一半的之前价格出价就能够达成广告主预期老本。然而实际上调控过程也在影响耗费比,最终通过数学推导下面的状况只能让耗费比管制到 1.414,无奈最终让耗费比趋近 1.0. 应用了比例控制整体老本状况有了肯定晋升,而且控制算法比较简单,管制鲁棒性比拟好。
第二版控制策略咱们采纳了工业管制中广泛应用的 PID 控制算法。
其算法原理通过 P 项(比例)、I 项(积分)、D 项(差分)让管制误差趋近 0,可能无效解决比例控制的问题。实际上线之后 PID 算法也是获得肯定老本管制成果晋升,然而鲁棒性比 P 管制稍差,须要较多的规定进行限度能力稳固运行。
作者简介
朱泰鹏 OPPO 机器学习观星实验室负责人
8 年互联网算法工作经验,2016 年退出 OPPO 负责信息流广告算法,2020 年负责举荐 / 广告机器学习基础设施建设工作。
获取更多精彩内容:关注 [OPPO 互联网技术] 公众号