点击率(CTR)是开发者进行流量分发的核心依据之一。比如某知名APP,为了精细化权衡和保障用户、广告收益的利益,准确的CTR预估是不可或缺的。CTR预估技术从传统的逻辑回归,到深度学习,新的算法层出不穷:DeepFM, NFM, DIN, AFM, DCN,PBODL……那么CTR是如何做到高精度预估的呢?开发者为什么要准确预估CTR?
虽然用户使用APP时没有强意图,但是根据用户之前的浏览行为以及习惯,我们是可以提取出一些弱意图的。比如用户在什么广告位、什么广告内容等上停留的时间最长,点击什么样的内容的次数最多,多久重复关注高度类似广告等lookalike,还有类似协同过滤的把用户的行为抽象成特征向量的做法。这其中的核心是理解用户意图,通过设计网络结构进行组合特征的挖掘。
一、CTR对开发者的影响
CTR是从点击到曝光的链接枢纽,为流量智能分发排序提供基础。开发者关心自己的广告收益,即流量效益。开发者一般按广告点击转化向广告主/平台收费(这是被动的),然后根据广告主/平台点击出价计算出ECPM进行排序收费。比如某知名app有几千万次日曝光,它应该卖给出价5元每个点击的广告投放平台c,还是2.5元每个点击的广告投放平台t?盲目的将流量分发给平台c是严重的错误,因为忽视了点击率的影响。
如果平台c投放的广告点击率为1%,平台t投放的广告点击率为5%,将这些流量对半分发给两个平台,那么给c的收益A=曝光数*1%*5,而给t的收益B=曝光数*5%*2.5,平台t的收益是c的2.5倍,开发者收益直接增加150%。从这个案例可以看出,CTR直接影响着开发者收益,所以CTR预估的精度决定着流量分发顺序。
二、为什么不进行部分投放测试出 CTR,不比预估更省事?
假设c平台投放电子产品类广告和t平台投放奢侈品包类广告,同时在该广告位出价都是5元每个点击。两个平台均等随机少量投放测试1万个曝光,最后发现CTR一样5%,那流量分发的优先级应该是什么呢?随机?
由于用户意图不同,所表现的特征差异导致试投测试误差大,所以通过设计网络结构,进行组合特征的挖掘能高度个性化预估CTR。在随机之前,我们要先明白为什么CTR一样?我们剖析这2万个曝光,分为男性用户观看产生的1万个曝光,女性用户观看产生的1万个曝光。我们会发现男性用户对电子产品类广告点击10%,对奢侈品包类广告不点击;女性用户对奢侈品包类广告点击10%,对电子产品类广告不点击。当我们随机投放,两个广告受众男女均等时,也就出现了CTR相同。测试少投这个阶段依然存在,但我们会通过某个模型用交叉特征地看每一个个体的点击率,从而下一个拥有该特征的用户出现时,我们就能相对更加准确地预估了。正确预估CTR进行精准定向展现,同时可以将原来5%点击率提升到了10%,开发者的收益自然提升,这就是CTR预估的意义。
三、如何预估CTR?
预估CTR时将这些因素称之为特征,并从这些特征数据化找到特征向量。虽然上述举例中,我们只看到用户性别、广告内容两个特征,但实际上无数特征都决定了广告的点击率。大致可以分为开发者技术服务商侧、用户侧、广告主技术服务商侧。开发者技术服务商侧,比如频次控制策略、广告位、流量分发机制、历史CTR、时间等;用户侧,年龄、性别、地域、手机型号、WiFi环境、兴趣等;广告主技术服务商侧,广告主行业、广告图片、广告形式、广告文案等。然后把所有的特征变成0和1的二值化,把连续的特征离散化,把特征的值平滑化、把多个特征向量化…….
四、如何衡量CTR预估?
简而言之,预估CTR就是将高CTR的广告筛选出来然后展现。此外,开发者需要注意不要将预估点击率神化,从预估点击率单一角度进行排序。如开文上例,我们要计算的是 点击出价* CTR,排序应该以预估ECPM=预估CTR*点击出价 为核心标准之一,此外我们还需要关注用户体验,注意广告素材质量为排序另一核心标准。
开发者如何判断预估CTR的精度呢?直接把预估CTR和真实CTR直接进行对比,由于预估CTR针对每一次广告展示都会预估,比如这一次预估CTR为5%,但单次广告真实CTR只有两个结果1或0,即100%、0%,所以从单次观察判断是没有意义的,我们应该从一个足够大的样本观察判断精度。
将每一次广告曝光按照预测的CTR从小到大排序,然后按某个单位(比如每10万次曝光)分别统计平均预估CTR和实际CTR,就能知道预测CTR的精度了。
五、选择何种模型进行CTR预估?
通过设计网络结构进行组合特征的挖掘,其在各个模型的实现方式如下:
FM其实是对嵌入特征进行两两内积实现特征二阶组合;FNN在FM基础上引入了MLP;
DeepFM通过联合训练、嵌入特征共享来兼顾FM部分与MLP部分不同的特征组合机制;
NFM、PNN则是通过改造向量积的方式来延迟FM的实现过程,在其中添加非线性成分来提升模型表现力;
AFM更进一步,直接通过子网络来对嵌入向量的两两逐元素乘积进行加权求和,以实现不同组合的差异化,也是一种延迟FM实现的方式;
DCN则是将FM进行高阶特征组合的方向上进行推广,并结合MLP的全连接式的高阶特征组合机制;
Wide&Deep是兼容手工特征组合与MLP的特征组合方式,是许多模型的基础框架;
Deep Cross是引入残差网络机制的前馈神经网络,给高维的MLP特征组合增加了低维的特征组合形式,启发了DCN;
DIN则是对用户侧的某历史特征和广告侧的同领域特征进行组合,组合成的权重反过来重新影响用户侧的该领域各历史特征的求和过程;
多任务视角则是更加宏观的思路,结合不同任务(而不仅是同任务的不同模型)对特征的组合过程,以提高模型的泛化能力。
当然,广告点击率预估深度学习模型还有很多,深度学习的算法层出不穷,开发者可以选择有充分的广告商业化服务从业经验,积淀了一些特征数据、模型训练经验,同时有扎实算法理论基础,倍业科技此前与天津大学产学结合:让流量价值度量衡回归媒体。
倍业科技成立于2015年,以“赋能媒体商业化”为使命和愿景。自主研发推出APP自己的商业化管理和运营产品Blink,先后获得了险峰华兴、竑观投资、颐成投资等机构的投资。业务涵盖视频、社交、金融、教育、交通出行、汽车、母婴、动漫、工具等多个领域媒体商业化。已与国内100多款知名媒体建立长期合作伙伴关系。倍业科技整合了API和SDK解决方案,结合了全栈式广告技术,通过流量管理和运营优化工具,为媒体充分挖掘每个流量的价值。
参考资料:
《点击率预估界的“神算子”是如何炼成的?》
《学界 | 腾讯提出并行贝叶斯在线深度学习框架PBODL:预测广告系统的点击率 》
《从FM推演各深度CTR预估模型(附代码)》