广告预估校准机制介绍

背景

说搜推广的时候,我们会用到很多的模型来对效果进行预估,包括ctr的模型和cvr模型。这就会涉及到使用对应的指标,对模型的效果进行衡量。

一般情况下,我们使用最多的指标就是auc,因为auc可以来评判排序的效果好坏。很多时候我们也会使用auc来评判广告中的ctr或者cvr模型的好坏。而且一般我们在特定的场景也会有一个auc和线上效果的大致转化关系。例如,我们会有这样的经验:线下auc提升一个点,线上的收入提升n个点。不同的广告平台会有很大差异。

但是随着广告效果的精细化,以及引入了更多的机制,这样的模式就会存在明显问题。例如对于cpc产品我们的rpm的预估收入公式是:ecpm=ctr*bid。这就要求我们不仅要保证预估ctr的排序正确,同时需要保证ctr预估的值也足够的准确。

这就是搜索推荐与广告在对于ctr预估的准确度上的区别:搜索推荐只考虑排序的正确性,但广告需要考虑ctr预估的准确性

解决广告ctr预估准确性的手段主要就是两种,第一就是让模型足够准确,狂怼模型预估能力;第二就是增加合理的校准逻辑。

这个地方再详细展开说一下,为什么广告中对于预估的准确性那么重要,主要由以下几个原因:

  1. 只有ctr足够准收入,收入预估才足够准, 如上 ecpm=ctr*bid
  2. 还是ecpm=ctr*bid,因为本质上广告主关注的还是效果,roi,所以如果转化率预估的足够准,我们是可以对好的流量进行提价的,也就是增加bid,同样可以提升收入。 具体参见:CVR优化的重要性
  3. 现在很多广告平台都同时支持cpc广告和ocpc广告混排,这就需要将不同模式的广告效果进行拉齐排序,也要求预估足够的准确,否则变现效果不可比.
  4. 自然结果和广告需要进行混排,而且很多时候收入和自然结果的体验会有对应的量化折算关系,也要求预估足够准确。具体参见:多目标广告混排机制在超级APP中的技术

具体如何让ctr预估模型更加准确,可以参见:推荐系统,变现系统CTR&CVR预估算法演进-模型,更多的是介绍如何让校准更加准确。

校准的要求

一般情况下,校准是在预估打分之后,机制之前进行的。因为线上的计算逻辑较重,所以一般都希望校准能够相对简单,并且可解释。同时,最好校准逻辑不要跟有业务逻辑绑定,需要通用。


图:预估校准阶段,在排序机制4(预估)之后,5(机制逻辑)之前

正所谓没法衡量,就不存在优化,所以和所有的算法逻辑一样,校准也有对应的标准来进行效果的衡量。目前经常使用的衡量指标有如下三种:

PCOC:该指标的基本思想就是平均预估值/统计真实值;该指标逻辑相对简单,但是不能反映分布的差异。

CAL-N:该思路对PCOC进行分桶统计,不同桶上的误差会累计,相当于一定程度上体现了分布的值。具体的计算逻辑为:

$CAL-N=\sqrt{\frac{\sum_{i=1}^N error_i^2}{N}}$

其物理含义,就是单独计算分桶的PCOC(或error), 然后求平均误差。

GC-N:该指标就更进一步,针对某一个特定的维度去进行加权,毕竟什么事物都有个优先级重要性。例如在广告中根据单元或者计划的pv或者收入去进行加权。具体计算逻辑为:

$GC-N=\frac{\sum_{j=1}^m w_j Cal-Nj}{\sum{j=1}^m w_j}$

其物理含义, 就是分某个维度后, 在维度上计算CAL-N,然后再进行加权汇总。 例如在广告系统中, 此处的维度可以是广告计划维度, 权重为该计划的PV或者消费。

具体实现

知乎上《阿里妈妈展示广告预估校准技术演进之路》 中介绍的已经非常详细,写的非常赞。我们团队也是借鉴了阿里妈妈的技术,所以这个地方就不详细展开,大家可以上知乎看看同学的文章写得非常详尽。 此处仅介绍传统的方法和我们团队借鉴的SIR方法。

传统校准方法

主要有以下3种:

Platt's Method
该方法的思路是对预估的值在使用实际的label进行一次参数化的映射,使用LR方式进行参数化学习。 校准函数为:

$f(x)=\frac{1}{1+e^{ax+b}}$

其中a,b为学习出来的参数。该方式优点是比较简单,且是学习出来的结果, 缺点是对于假设空间有过强的假设(认为是sigmoid函数)

Isotonic Regression
该方式的思路是使用一个单调函数来最小化预估值和label之间的square error,对结果进行保序的校准。 该方式隐含的假设, 是预估值至少能够保证预估顺序的正确性。 该方式的缺点,是处理不好预估值在突变的情况

Binning Method
该方式的思路, 是将预估值进行排序后分桶,然后统计正样本占比。


图:Smoothed Isotonic Regression(SIR)方法

具体的计算逻辑为:

  1. line 1-3进行排序分桶
  2. line 4-9对每个桶,计算预估样本上下界,以及正样本概率
  3. line 11-23构建每个分桶的线性插值函数。
    之后,对于任意x,使用x所落在的空间,使用该区间的线性差值函数即可进行预估数值的校准。

该方式可以按天分小时进行计算,以便体现时间上的ctr值得差异, 特别是在LBS场景, 中午餐饮行业, 下午晚上的休闲娱乐酒店的分布还是有较大差异的。

线上效果

进行SIR校准后, 在我们的场景, 效果有5%左右的相对提升, 另外理论上该机制也能够更好地平衡CPC & OCPC广告的混拍。 所以先不管提升是多少, 就是一个需要去做的正确的工作 。

末了附上一句阿里土话:if not now, when? if not me, who? -- 此时此刻,非你莫属

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注