一、UPLIFT 模型简介
首先介绍一下 UPLIFT 模型。
一个经典的场景:市场营销活动怎么找到最优投放客群?或者怎么找到最优的营销激励方式?
普遍的思路就是投放高意愿(上图 Sure Things 和 Persuadable 象限)的用户,但是这个思路最大的问题是:它忽略了自然流量下的用户转化。首先,高意愿用户中有一部分用户(Sure Things 象限用户)不投放也能够自然转化;此外,在折扣券的营销模式下,直接对高意愿用户进行投放往往会带来一个高成本的损耗。那是不是可以转而投低意愿(Do Note Disturbs 和 Lost Causes 象限)的用户呢?通过投放将他们的消费意愿提升?事实上,对于低意愿的用户,他们转化的概率本来就很低,可能无论你怎么投他都不转化,甚至会永久流失,但是消耗大量营销成本。
因此,在解决这类市场营销问题前,我们需要先回到市场营销学的概念——“营销增益”上。“营销增益”的意思就是我们的营销活动应该聚焦在能被改变立场的那一部分用户。通俗的说我们要找的目标客群就是营销前不会转化,但是营销后会转化的人群(Persuadable 象限人群),而 UPLIFT 模型就是为了找到这些对营销激励敏感的人群。
1、UPLIFT 模型 VS 响应(Response)模型
(1)响应模型
在判断对用户营销后用户是否会转化时,往往会构建一个响应(Response)模型,模型会预测每个用户的转化率,然后我们会根据一系列的数据分析、成本预估等,划定一个转化率阈值,对预测高于这个转化率阈值的用户进行投放。响应模型简单高效,能直接用当前所有主流的机器学习/深度学习等模型进行构建,但是它最大的问题就是没有考虑不营销也能转化的那一部分自然转化流量,因此建模目标和商业目标并不完全匹配。
(2)UPLIFT 模型
UPLIFT 模型则用一个或多个模型来分别预测用户在营销下的转化率和非营销下的转化率,这两个值的差值就是 UPLIFT。最终我们根据 UPLIFT 值的大小来决策是否投放。
对比上图中响应模型和 UPLIFT 模型曲线图可以看出,UPLIFT 模型会导致干预时间提前。在用户流失预警场景中,运营需要对即将流失的用户进行提前挽留。在实际应用中,预测用户流失的具体时间是没有意义的,对这部分用户施加挽留措施可能已经错过最佳干预时点,而预测能够被运营措施挽留的用户才有落地价值。
2、UPLIFT 模型和因果推断
UPLIFT 模型本身是因果推断领域的,上图简单总结了基于观察研究的因果推断。首先包括经典的因果推断方法,这类方法主要是研究平均干预效应,形成策略效果的整体方向性评估,比如有学者研究“吸烟是否有害健康”,得出长期吸烟会降低寿命期望的结论,这样的结论往往是方向性的,形成不了具体的策略,这就是我们在实际工作中面临的一个问题——即因果推断方法怎么去落地。另一方面,UPLIFT 模型属于研究异质因果效应类的模型,发现对不同的群体或者不同的个体进行干预所产生的效果是不一样的,从而发现干预机制规律,形成个性化的策略落地。
接下来我们介绍几个定义:
(1)Neyman-Rubin 潜在结果框架: 个体(样本)由自身固有属性呈现出潜在结果,这种潜在结果往往在现实世界中只能存在一面,这就会带来一个很大的问题:归纳偏置(Inductive Bias)。
(2)CATE: UPLIFT 模型的建模目标。
(3)无混杂基本假设(Unconfoundedness):对混淆因素进行控制(且没有未发现混杂因素)进行预估才能得到无偏的 CATE。
3、UPLIFT 模型的行业应用
UPLIFT 模型有广泛的行业应用,应用途径大概分为两类:一类是评估干预的异质性效应 HTE。以 A/B 测试为例,可能在整体上观测到的干预效应不显著,但是通过 UPLIFT 模型下钻能找到干预效果显著的子群体。一类是策略优化,包括公共服务领域和互联网个性化营销领域的策略定制。
二、技术挑战
1、UPLIFT 模型建模过程
UPLIFT 建模首先是数据收集,一般情况下我们先创建随机对照实验,实验组全都进行干预,对照组都不干预, 随后收集样本用 UPLIFT 模型建模。
以 T-Leaner 为例,干预样本可以构建一个响应模型,非干预样本可以构建一个响应模型,最后得到的打分求差就是 UPLIFT 值。
2、UPLIFT 建模的两个核心问题
UPLIFT 建模有两个核心问题:
(1)混杂因素偏置 Confounding Bias
由于干预机制导致的选择偏差,引起干预样本和不干预样本的特征分布不一致,产生了混杂因素。这一类混杂因素一方面会影响干预,也会影响结果。由于混杂因素的存在,我们无法得到一个干净的因果效应。具体案例比如:
① 流行度偏差:曝光集中在热门干预。
② 选择偏差:不同人群物品曝光差异。
基于这样的样本去建模大概率是得不到置信度高的结论的。
主要的解决方法:
① 在 loss 引入倾向分正则项。
② 在模型结构引入倾向分链式、对抗结构。
③ 倾向分逆加权采样。
④ 解离表征:试图将混杂因素项解离到一个向量中。
(2)归纳偏置 Inductive Bias
如下图所示:当样本/个体分别在干预/不干预的模型下进行打分后的分布不一致时,我们对干预打分-非干预打分差值(CATE)进行分布统计时会发现抖动很厉害,不同个体/群体之间的 UPLIFT 差别很难分辨,这说明 UPLIFT 模型预测基本是失效的。
这个案例就展示了归纳偏置(Inductive Bias)问题:从模型架构角度,预估反事实结果无监督信号,或潜在结果预估正则化程度不一致,导致最终 UPLIFT 预估不稳定。
回到 Neyman-Rubin 潜在结果框架,对于不同的个体我们只知道干预的结果或者不干预的结果,不可能同时知道干预和不干预的结果,这导致了两个潜在结果预估的分布不一致;而且我们的深度模型建模目标往往是 CTR 或者 CVR ,他们本身不可能直接得到一个增益得分(UPLIFT),这就导致我们的建模目标和最终评估的指标是不一致的。在图中我们可以看到 CATE 的分布与潜在结果预估得分分布完全不一致。这一系列的问题我们都总结为归纳偏置问题。归纳偏执问题是 UPLIFT 模型的一个核心问题,目前学界大概提出了以下四种解决方法:
① 反事实输出向量一致性,MMD 等分布对齐方法;
② 设计合理的共享参数架构,FlexTENet、S-Net;
③ 反事实参数差异限制;
④ 在模型结构引入重参结构(reparametrization),EUEN。
3、UPLIFT 模型应用挑战
介绍完 UPLIFT 的核心问题后,接下来简单说一下 UPLIFT 模型的应用挑战。在金融领域主要有两大类:一类是多值/ 连续值干预,一类是连续结果预估。
三、深度 UPLIFT 模型发展脉络
沿着刚刚提出的 UPLIFT 模型的两大核心问题——混杂因质偏置和归纳偏置,学界和工业界提出了很多解决方案。
首先最基本的是 Meta-Learner,代表的建模方案有 S-Learner 和 T-Learner,随后进入深度学习后就演化出来以解决混杂偏置为代表的 DragonNet、DESCN、S-Net、CFRNet 等,和以解决归纳偏置为代表的 FlexTENet、S-Net、EUEN、DESCN、GANITE、CFRNet 等。
四、应用案例:信用卡还款劵营销
接下来介绍 UPLIFT 模型在金融科技领域的应用案例。UPLIFT 模型的应用往往需要结合运营措施和模型迭代。在运营活动中我们从小流量随机投放开始收集干预/非干预的样本,然后进行可行性验证及实验设计、策略性分客群投放、UPLIFT 模型构造及投放评估。
其中 UPLIFT 模型方案完成了三代迭代:
(1)第一代解决方案:Meta-Learner
第一代解决方案以 Meta-Learner 为主,快速上线以达到业务的目标,业务的痛点是期望控制营销 ROI 并放量。
(2)第二代解决方案:从 CFRnet 到 EFIN
第二代主要是以深度学习架构为基础的,主要目的是为了实现多劵个性化运营, 是一个多值干预的问题。主要用到的模型有 CRFnet 和自研的 EFIN (Explicit Feature Interaction uplift Network)。
这里我们重点介绍下自研的 EFIN 模型。这个算法主要有三个模块:
第一个模块是自交互层,用一个 Self-Attetion 网络实现大规模用户特征的充分学习。
第二个模块是整个算法的关键,将干预变量 T 单独进行显式表示学习,这有利于解决多值干预问题。随后将干预 T 和特征 X 采用注意力机制交叉,加强异质性效应学习,而这恰恰是 UPLIFT 模型要学习的目标。并使用了重参(Reparametrization)法作为预估输出,缓解了潜在结果打分分布不一致的问题。
第三个模块使用干预约束项,让模型难以区分样本是否有被干预过,以图解决混杂偏置(Confounding Bias)问题。
(3)第三代解决方案:多目标 UPLIFT 模型
多目标 UPLIFT 模型为了同时建模 Ctr-Lift 和 Value-Lift, 预期实现 ROI>1 的同时实现 GMV 增长。里面最大的难点是金额的 UPLIFT 建模困难,因为金额本身两个反事实的预估结果就方差很大,再相减得到的 UPLIFT 方差更大,想要得到稳定的 UPLIFT 是比较难的,目前还在着力解决中。
五、总结
这次讲座中,介绍了 UPLIFT 建模的两大核心问题以及两个应用挑战和三代的解决方案,并重点介绍了自研 EFIN 模型。未来会在多目标 UPLIFT 建模、ROI 约束、动态UPLIFT 建模、 观测数据纠偏这一系列方向中去更深入的研究。
六、问答环节
Q1:非随机实验获得的有偏样本用 DragonNet 这种网络同时建模 Y 和 T 有效果吗?
A1:这个肯定有效果,我们针对观测数据一般情况下都会选择这种倾向性得分的方式建模,倾向性得分方式的应用可能会用 DragonNet 这样的模型结构,在模型结构中直接加上倾向性得分。另外一个更直接的方式就是直接根据倾向性得分的分布进行样本加权采样。
Q2:潜在结果存在归纳偏置对 UPLIFT 预估会带来什么样的影响?
A2:这个其实我刚刚那个图讲得比较清楚了,因为我们的深度学习模型是分别预估两个反事实的 CTR,它们的建模目标实际上是两个 CTR, 这两个 CTR 求差会发现这个差值的方差较大。
Q3:神经网络的输入一般做什么处理,连续型特征和离散型特征有什么区别?
A3:这个问题就不是一个 UPLIFT 问题了,一般情况下就是做 Embedding ,类别型的就做 One-Hot。
Q4:在您的第二代解决方案里,Meta-Learner 比 EFIN 之外的其他 NN 模型都要好,S-Learner 里面的基模型也是这个模型吗?
A4:对,S-Learner 它里面也是一个 DNN 。
Q5:深度学习模型相比于因果森林和 UPLIFT-Tree 模型,各有什么样的优劣势?
A5:深度模型最大的优势就是采用复杂网络结构,如特征交叉、注意力机制等,对特征的充分学习;森林和树模型的最大优势就是稳定性,并且森林类模型的建模目标直接就是 CATE。
Q6:如果只有观测数据的话,怎么评估 UPLIFT 模型的准确性?
A6:评估指标离线我们主要用到的是 AUUC 和 QINI,在线可能主要还是转化成一个财务指标来看它的营销带来的一个 ROI, 取决于我们的任务目标。
Q7:在金融场景下因果推断的应用与搜广推下的应用有什么区别?
A7:金融场景下实际上也有搜广推, 但是确实金融场景有它的独特性的, 这种独特性在于它的转化链路非常长,它涉及到它的授信、核卡等这样的一类审批流程,另外金融里怎么做金额的预估也是一个难点。
Q8:UPLIFT Model 和 DML 各有什么优劣势?
A8:UPLIFT Model 和 DML都用来求解 CATE。UPLIFT Model 以机器学习作为主要工具,如树模型,深度学习,同时融合了因果推断的思想。而 DML 模型以计量经济学的思路指导机器学习工具进行 CATE 的预估。UPLIFT Model 是个更大的范畴,部分模型也借鉴了 DML 的思想。
Q9:UPLIFT 模型主要用在新客还是老客上面,如果老客只有百万量级,能否使用模型?
A9:量级问题其实是一个很关键的问题,但是曝光量级其实不是最重要的, 最重要的是你的正样本有多少, 正样本才是决定能否建模的关键。
Q10:EFIN 代码是否有开源?
A10:论文审核后会开源。