1、背景介绍
在展示广告场景中,有多种多样的计费方式,如按每次展示计费CPM、按每次点击计费CPC、以及按每次转化计费CPA。但不论何种计费方式,在实时竞价的场景下,供给方(媒体)对于广告的排序基本都是采用eCPM(千次展示广告收入),那么对于CPC计费的情景,eCPM = bid * pCTR,而对于CPA计费的场景,eCPM = bid * pCTR * pCVR。可以看到,对于CPA计费的场景,需要对CTR和CVR进行准确的预估。而本文也重点关注CPA计费场景下的CVR预估问题。
但是对与转化率(Conversion Rate)的预估,有时候会存在一定的延迟反馈(delayed feedback)问题,比如看过一个商品广告,当时没有发生购买行为,过了几天按捺不住去买。对于这种存在延迟反馈的场景,在训练模型时,对于一些还没有转化的样本,我们无法确定是负样本还是有可能变成正样本。一种比较基本的做法是设定一个matching window,比如5天,如果5天内还没有发生转化,那么就会标记为负样本。
上述的做法,对于matching window的设定至关重要,如果matching window设置的较短,那么可能会有更多的样本被错误的标记为负样本,如果设置较长,那么每次更新模型,所使用的样本至少是matching window时间前的样本,这样会导致训练的模型“不新鲜”。
因此,本文提出一种不包含matching window的对延迟反馈问题建模的方法,一起学习一下。
2、建模方法
2.1 符号定义
首先,我们来看下本文至关重要的5个符号定义:
X : 特征集合
Y : 0或者1,表示转化行为是否已经发生
C : 0或者1,表示转化行为是否最终发生
D : 转化行为和点击行为之间的时间间隔(如果最终没有转化,就不会有对应的D)
E : 目前距点击行为发生的的时间间