转化率模型之转化数据延迟

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

转化率模型之转化数据延迟

GeorgePig   2021-05-07 我要评论

前几天在公司内网上看见有同事在讨论《广告算法工程师的日常》这篇文章里面提到的A、B、C三位同学在实际的晋升中谁的优势更大,其实当时举这个例子,本意只是想说明广告算法工程师在迭代优化模型的过程中,要相信数据>特征>算法本身,在遇到问题的时候能够优先从数据以及特征层面考虑。至于说谁在晋升中优势更大,大家仁者见仁、智者见智哈。

 

好了,今天主要想和大家聊聊“刘西瓜”,话说这个刘大统领…;额,不好意思,串台了哈。言归正传,今天和大家讨论一下转化率模型中转化数据延迟的问题。这个问题无论是在浅层转化(如app安装、app激活、app注册等)或者深度转化(app付费)等场景下都是十分常见的。

 

0.什么是转化数据延迟问题

我们知道,在广告场景下,曝光发生后点击基本在很短时间内发生,而点击发生之后,转化有时候会有较长时间的延时,或许是几分钟,或许是几天,甚至一个月以上,所以点击率CTR的预估模型的训练数据基本是无偏的数据集,而转化率CVR预估模型的训练数据有可能是回流不完全的有偏数据,所以转化率CVR模型可能会因为转化延时问题而导致预估偏差,并且当实时更新模型时,由于实时数据中有偏样本更多,预估偏差会更严重;一般来说像前面讲到的浅层转化(app安装、激活、注册等)基本在1天内数据基本可以回传,而深度转化(app付费等)基本需要一周以上的时间回传数据。

 

1.转化数据延迟问题的常见解法

(1). 指数建模法,代表论文《Modeling Delayed Feedback in Display Advertising》,作者给出了一个指数分布的假设,对于未回流完全的样本,可以用指数分布进行约束;缺点是a.假设首先未必合理 b.对于有回流时间窗口的问题,需要进行时间窗的校准 c.对于大数据集是个挑战

(2). bias-adjusted建模,代表论文《Display Advertising: Estimating Conversion Probability Efficiently》,该方法的收敛速度快,NLL和bias都比较低;缺点是对于大数据集是个挑战

(3). 非参估计建模,代表论文《A Nonparametric Delayed Feedback Model for Conversion Rate Prediction》,该建模方式不对转化时间的分布做假设,更能模拟真实的分布;缺点是a.计算相当复杂 b.对于大数据集是个挑战

 

2.我们的做法

在讲我们的做法之前,大家可以回过头来看下《广告模型初探(三)》中提到的大规模离散DNN即SDNN模型,我们的转化延时模型就是根据该框架实现的。首先给出模型整体的架构图,分为两个部分,一个部分是转化率模型,另一个部分是回流率模型。

 

 

根据我们的实际业务情况,一般数据会在5天之内回流95%以上,因此我们事先设定回流时间窗口为5天,我们最终的训练策略是对于a.回流完全的样本:同时更新转化率模型以及回流率模型 b.回流不完全的样本:只更新转化率模型。举个例子最近30天的训练数据,分为25天回流完全数据+5天回流不完全数据,此时转化率模型是使用30天的数据训练,而回流率模型仅仅使用25天的数据训练,转化率模型的结果会受到5天回流不完全数据的影响,此时回流率模型会作用于转化率模型之上,起到一个校正的作用。

 

在实际使用中,我们采用的是batch+delta的经典模型更新方式,即分为天级别模型训练以及小时级模型训练两块。在天级别模型训练阶段,我们每天会启动一个调度任务,生成softmax天级别回流模型(25天回流完全数据同时更新转化率模型和回流率模型,最近5天只更新转化率模型,回流率模型作用于转化率模型之上),存放在天级别hdfs的目录下;在小时级别模型训练阶段,每小时会启动一个调度任务,拉取天级别目录下面最新的模型,使用小时级的数据生成增量的模型,存放在小时级hdfs的目录下。当线上预估模块检测到小时级模型目录有模型更新时,便会自动拉取该模型推送到线上,用于线上的实时预估。

 

3.小结

本文主要介绍了刘西瓜(额,怎么还有call back)。本文主要给出了转化数据延时问题的定义,常见解法以及我们在实践中的做法。说到底转化数据延迟问题其实是模型的准确率与模型更新时效性的两方博弈,希望大家都能在具体的业务中找到一个平衡点。话不多说,上图

 

欢迎关注微信公众号:计算广告那些事儿

 

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们