转化率预估(pCVR)系列--延迟预估模型(上篇)

2020 年 6 月 1 日 AINLP

说到cvr延迟预估,不得不提开山之作“Modeling Delayed Feedback in Display Advertising”,本文从这篇经典论文入手,对cvr预估中遇到的订单延迟问题的背景、影响及解决方案进行了详细讲解。


本文关键内容总结如下:

1.CVR建模拆解:将cvr预估拆分为两个模型,转化模型(conversion model,CVR)和订单延迟模型(Delayed Feedback Model,DFM)。CVR模型用户预估用户最终是否发生转化,DFM则预估点击后第几天发生转化。

2. DFM的优化思路:假设转化延迟时间服从指数分布

3.模型训练及预估:CVR和DFM联合训练,采用EM算法或sgd-Joint Learning等方法。在线预估时,只使用CVR模型,DFM被舍弃。


背景

展示广告中,oCPX/CPA模式(eCPM=pCTR * pCVR * CPA)下pcvr预估的准确性至关重要。

在参考ctr模型优化经验优化cvr模型时,会遇到一个问题,与点击(相比曝光)发生时间相比,转化发生时间要晚的多,很多时候转化事件会发生在广告被点击的几天(甚至一周)后。

转化延迟会对模型的训练产生负向的影响,通常简单的做法,就是预先设定好转化归因的时间窗口(例如15天),并且cvr模型只使用已归因完全(已超过归因时间窗口)的数据进行模型训练(例如,只使用15天之前的数据)。这种情况下,归因时间窗口的设定就变得尤为关键


  1. 归因时间窗口太短,一些样本将被错误的标记成负样本,但未来将完成转化,从而干扰模型学习到了错误标签;

  2. 归因时间窗口过长,则,模型无法及时捕获到更新的广告、新发生的用户行为(含转化)等信号,存在模型过时的风险;


相关数据

1.转化延迟,

作者提供的数据中2天可以归因约50%左右的订单,相比较曝光-点击延迟,1小时内就可以有95.5%的点击归因。

相比大部分实际业务场景,论文中的转化延迟算是比较长的,例如,很多实际业务场景中t+1天就可以归因90%+的转化,所以cvr模型天级别更新情况下也没有特别大问题。

但论文作者的延迟情况在很多场景中也是存在的,笔者还了解到甚至部分电商场景的延迟比论文中延迟还高(7天归因50%左右订单),所以,在这种场合下,cvr延迟模型的必要性不言而喻。


2.广告更新频率

论文对广告的更新频率进行了统计分析,从某一天的广告作为base,统计随着时间增加新增广告的占比。累积26天后,新广告的占比为11.3%。

在实际业务场景下,笔者了解到很多广告的更新频率比论文中的11.3%还高。

这就说明了,归因时间窗口过长,时间窗口的数据无法及时应用到模型中,将会对新广告带来非常大的影响。


解决思路

1.数据方面:

忽略转化归因时间窗口,当点击后已发生转化,标记为正样本,否则被标记为unlabeled(因为,未发生转化的,但将来可能会发生)

2.模型方面:

采用两个模型进行cvr预估:

Conversion Model,用来预估最终是否转化。

Delayed Feedback Model,预估点击后第几天发生转化

这一模型和生存分析中使用的模型有很大相关性。类似的,对转化问题来说,一些样本是censored(删失的),即在训练时间内无转化,而后续可能有转化。这种情况下,删失样本的转化延迟至少大于从点击开始的流逝时间


 CVR模型建模

 1.参数说明:


2.场景介绍:

如果用户已经发生转化(Y=1),则C=1恒成立。即,

如果用户还未发生转化(Y=0),那么存在两种情况:C=0 或者C=1 & E < D。即,

另外,论文还提到一个假设:(C,D)在给定X情况下,与E无关。即

3.训练数据构建:

y=0时,样本集为(x,y,e),

当y=1时,样本集还会增加d,即(x,y,e,d)。

4.CVR建模:

上面已经提到,为了解决下单延迟带来的影响,作者将CVR拆解为两个模型:

(1)conversion model,预测用户最终是否发生转化:采用Logistic Regression进行建模,即

(2)delayed feedback model,预测在d天发生转化的概率:假设转化满足指数分布,即

其中,参考survival analysis学科称为风险函数(hazard function),采用exp(w * x)来建模。

备注:论文中并未对指数分布 & 生存分析(survival analysis)做过多解释,笔者自行查阅和理解,对此部分做简单补充。此部分并非论文内容,感兴趣的同学可以参考文末补充部分。


那么,在d时刻发生conversion的概率估计则为:


在e时刻还未发生conversion的概率估计则为:


其中,


并且,C=0情况下,Y=0也恒成立,即

那么,

5.模型训练

论文采用了两种训练方法:(1)Expectation-Maximization(EM)算法;(2)GD-Joint Learning算法

EM算法:

Expectation step

求解发生conversion的期望,即,

当Y=1时,C=1恒成立,

当Y=0时,


Maximization step,

利用wi,求解最大似然(wc、wd)


对上述公式整合,得到最终结果


该公式有两个特点:

(1)p和lamda相互独立,可独立优化,且都是凸函数。

(2)解释性强,p是加权logistic regression,lamda是标准指数回归,wi是对unlabeled数据的缺失数据的表示


GD-Joint Learning算法:

loss function:

其中,为正则化(L2)系数,其他如下:


采用梯度下降(gradient descent algorithm,L-BFGS)对loss function进行求解。具体求导公式如下(笔者未亲自推导验证):



在线预估

inference时,只使用conversion model。

delayed feedback model被丢弃。实际业务场景中,该模型,还可以被用来应用于oCPX场景的出价反馈机制中。

以上是论文的主要是思想。实验效果不就再描述。


接下来,下篇文章,我们计划去讲解另外一篇改进文章“A Nonparametric Delayed Feedback Model for Conversion Rate Prediction”。


References

1.Modeling Delayed Feedback in Display Advertising

2.cvr 预估中的转化延迟反馈问题概述:https://zhuanlan.zhihu.com/p/74586059

3.泊松分布&指数分布:https://www.cnblogs.com/think-and-do/p/6483335.html

4.survival analysis:https://www.cnblogs.com/wwxbi/p/6136348.html




附录

指数分布 & 生存分析(survival analysis)相关补充:

1.指数分布:

说指数分布之前,不得不先介绍泊松分布。

泊松分布:是指某段时间内事件发生的概率(例如,某网站平均每分钟有2次访问),即,,其中,t表示时间,n表示事件发生的次数,lamda表示事件发生的频率。

指数分布:则是指事件的时间间隔的概率(例如,网站访问的时间间隔)。指数分布的公式可由泊松分布推断出来。如果网站下一次访问的间隔时间 t ,就等同于 t 之内没有访问

反过来,事件在时间 t 之内发生的概率(至少访问一次的概率),就是1减去上面的值,即

进而,其概率密度函数,曲线如下:


概率密度函数:


对概率密度函数积分,得到指数函数分布:


针对广告cvr场景,则就是,已知C=1情况下:

点击后的d时刻,发生转化的概率,即为

还未发生转化的概率为:p

已发生的概率,p=1-

生存分析(survival annalysis):

生存分析,对一个或多个非负随机变量进行统计推断,研究生存现象和响应时间数据及其统计规律的一门学科。研究主要对象的寿命超过某一时间的概率,例如,病人感染了病毒后多久会死亡。

常用的几个基本概念:

(1)f(t):概率密度函数,t时刻死亡概率


,代表截止t时刻的死亡概率

(2)s(t):生存函数


(3)h(t):风险函数


CVR的DFM模型假设服从指数分布,其在泊松分布中代表的是事件在某段时间发生的频率,此处h(t)风险函数同样可以理解为事件在某时刻下发生的概率,只不过h(t)不是均匀分布,而是符合某种分布。

(4)H(t):风险累积函数


推荐阅读

AINLP年度阅读收藏清单

当当四折购书,推荐一份书单

模型压缩实践收尾篇——模型蒸馏以及其他一些技巧实践小结

中文命名实体识别工具(NER)哪家强?

学自然语言处理,其实更应该学好英语

斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用

太赞了!Springer面向公众开放电子书籍,附65本数学、编程、机器学习、深度学习、数据挖掘、数据科学等书籍链接及打包下载

数学之美中盛赞的 Michael Collins 教授,他的NLP课程要不要收藏?

自动作诗机&藏头诗生成器:五言、七言、绝句、律诗全了

模型压缩实践系列之——bert-of-theseus,一个非常亲民的bert压缩方法

这门斯坦福大学自然语言处理经典入门课,我放到B站了

征稿启示 | 稿费+GPU算力+星球嘉宾一个都不少

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。


登录查看更多
26

相关内容

ACM/IEEE第23届模型驱动工程语言和系统国际会议,是模型驱动软件和系统工程的首要会议系列,由ACM-SIGSOFT和IEEE-TCSE支持组织。自1998年以来,模型涵盖了建模的各个方面,从语言和方法到工具和应用程序。模特的参加者来自不同的背景,包括研究人员、学者、工程师和工业专业人士。MODELS 2019是一个论坛,参与者可以围绕建模和模型驱动的软件和系统交流前沿研究成果和创新实践经验。今年的版本将为建模社区提供进一步推进建模基础的机会,并在网络物理系统、嵌入式系统、社会技术系统、云计算、大数据、机器学习、安全、开源等新兴领域提出建模的创新应用以及可持续性。 官网链接:http://www.modelsconference.org/
【反馈循环自编码器】FEEDBACK RECURRENT AUTOENCODER
专知会员服务
22+阅读 · 2020年1月28日
姿势服装随心换-CVPR2019
专知会员服务
34+阅读 · 2020年1月26日
专知会员服务
85+阅读 · 2020年1月20日
【推荐系统/计算广告/机器学习/CTR预估资料汇总】
专知会员服务
86+阅读 · 2019年10月21日
推荐系统之矩阵分解家族
图与推荐
13+阅读 · 2020年3月28日
从模型到应用,一文读懂因子分解机
AI100
10+阅读 · 2019年9月6日
推荐系统召回四模型之二:沉重的FFM模型
AINLP
23+阅读 · 2019年3月22日
推荐系统召回四模型之:全能的FM模型
AINLP
16+阅读 · 2019年3月4日
业界 | 从FM推演各深度CTR预估模型(附代码)
大数据文摘
7+阅读 · 2018年7月16日
CTR预估专栏 | 一文搞懂DeepFM的理论与实践
AI前线
13+阅读 · 2018年7月6日
[推荐] 这些年,我用过的点击率(CTR)预估模型!!!
菜鸟的机器学习
28+阅读 · 2017年7月31日
Arxiv
21+阅读 · 2019年8月21日
Arxiv
6+阅读 · 2018年11月1日
Next Item Recommendation with Self-Attention
Arxiv
5+阅读 · 2018年8月25日
Arxiv
4+阅读 · 2018年4月10日
VIP会员
相关VIP内容
【反馈循环自编码器】FEEDBACK RECURRENT AUTOENCODER
专知会员服务
22+阅读 · 2020年1月28日
姿势服装随心换-CVPR2019
专知会员服务
34+阅读 · 2020年1月26日
专知会员服务
85+阅读 · 2020年1月20日
【推荐系统/计算广告/机器学习/CTR预估资料汇总】
专知会员服务
86+阅读 · 2019年10月21日
相关资讯
推荐系统之矩阵分解家族
图与推荐
13+阅读 · 2020年3月28日
从模型到应用,一文读懂因子分解机
AI100
10+阅读 · 2019年9月6日
推荐系统召回四模型之二:沉重的FFM模型
AINLP
23+阅读 · 2019年3月22日
推荐系统召回四模型之:全能的FM模型
AINLP
16+阅读 · 2019年3月4日
业界 | 从FM推演各深度CTR预估模型(附代码)
大数据文摘
7+阅读 · 2018年7月16日
CTR预估专栏 | 一文搞懂DeepFM的理论与实践
AI前线
13+阅读 · 2018年7月6日
[推荐] 这些年,我用过的点击率(CTR)预估模型!!!
菜鸟的机器学习
28+阅读 · 2017年7月31日
Top
微信扫码咨询专知VIP会员