cvr 预估中的转化延迟反馈

与点击行为可能在用户浏览后的很短时间内就发生并被广告系统收集不同,广告后续所产生的转化conversion很可能延时发生,过了几天才又去购买。

**时间窗口:**转化行为反馈时间上的延迟会对模型的训练产生负向的影响,一个简单的做法可能是通过一个预先设定好的时间窗口来进行转化归因,使用经过了时间窗口并进行了归因后的数据来进行转化率模型的更新。但是这对时间窗口的选择带来了挑战,并且可能因为单一时间窗口带来调试上的不灵活。(有可能产生错误标签-时间太短;或者过时模型-时间太长)

相对于cpc计费方式,ocpc,ocpm,ocpa等方式因为更加注重“转化”,因此更受广告主的欢迎。o系的计费方式中一个重要的公式就是ecpm的计算:ecpm = bid * pctr * pcvr。将pctr和pcvr分开计算有两点好处:不需要join长期的转化从而减轻pipeline的负载(因为最多只需要join点击的数据);对转化少或者没有转化的数据预估会更准确,因为这时候pctr也能提供一部分信息。

论文1

Modeling Delayed Feedback in Display Advertising

这篇主要思路是将延迟反馈问题的延迟建模成一个指数分布,然后和cvr一起进行学习(经典)

不包含固定的匹配窗口:当产生训练集的时候,对一个点击后的样本,当跟着一个转化的时候将被标记成正样本,否则将被标记成 unlabeled(这不能直接标记为负样本,因为接下来也可能产生转化)。

提出了一个模型用来预估是否转化,另一个模型来**捕获预测点击到转化的期望延迟时间的解决方案**。两个模型同时训练,这两个模型同时准确预估两个输出的概率,通过两个模型来建模转化与转化需要的期望时间。。这一模型和存活时间分析中使用的模型有很大相关性。类似的,对转化问题来说,一些延迟是censored(经过审查的),当在训练时候转化还没发生,而后续如果有转化的话,转化的延迟至少是从点击开始的时间

模型

转化率模型采用一个标准的逻辑回归(目测也可以用别的方式)
预估转化延迟采用的是指数分布形式,文中提到其他的分布也可以,但是指数分布是一个常用且有效的拟合经验延迟分布的分布

论文2

A Nonparametric Delayed Feedback Model for Conversion Rate Prediction

认为延迟的反馈分布可能和广告/用户/上下文都有关系,因此对延迟反馈的时间建模成一个可以学习的模型,和第一篇一样的方式与cvr进行联合建模。

并不能保证延迟时间是服从指数分布的,表示延迟的最佳分布取决于数据。而且每个广告,不同上下文,不同的用户的延迟时间的期望分布的形态也应该是不一样的,因此第二篇将期望延迟时间的表示形式进行了模型化,感觉向着“神经网络化”更近了一步.

将时间轴分成L份,建立L个虚拟的时间片,然后用到了上文提到的hazard function并且应用了一部分的KDE的思想,并且引入了核函数对期望的延迟时间进行建模。

其他思路

两篇论文都是使用两个模型(cvr和转化期望时间)来进行的,思路上都可以借鉴。实际预估转化的时候,可以将转化的期望时间同时建模来试一下效果。
另外multitask或者类似的模型在特定场合还是挺有用的,其他如pctr和pcvr同时训练的如ESMM等,算是解决问题的一个好思路

参考:https://zhuanlan.zhihu.com/p/74586059

你可能感兴趣的:(推荐系统)