一、Uplift模型
因果推断在互联网界应用主要是基于Uplift model来预测额外收益提升ROI。Uplift模型帮助商家计算人群营销敏感度,驱动收益模拟预算和投放策略制定,促成营销推广效率的最大化。同时如何衡量和预测营销干预带来的“增量提升”,而不是把营销预算浪费在“本来就会转化”的那部分人身上,成为智能营销算法最重要的挑战。
举个例子🌰:对用户A和用户B都投放广告,投放广告后用户A的CVR(转化量/点击量)为5%,用户B的CVR为4%,那么是否就给用户A投广告呢?仅从投放广告后的结果来看是这样的。但如果投放广告前用户A的CVR为4%,用户B的CVR为2%,那么我们就认为广告投放本身所带来的收益B要比A多,所以把广告投给用户B。
Uplift模型的作用就是计算人群营销敏感度,具体就是计算每个用户的增益,再根据广告主设置的预算以及其它限制看是否对该用户投放广告。
- persuadables: 不发券就不购买、发券才会购买的人群,即优惠券敏感人群
- sure thing:无论是否发券,都会购买,自然转化
- lost causes:无论是否发券都不会购买,这类用户实在难以触达到,直接放弃
- sleeping dogs:与persuadables相反,对营销活动比较反感,不发券的时候会有购买行为,但发券后不会再购买。
建模时主要针对persuadables人群,并且要避免sleeping dogs人群。如果使用reponse model,则难以区分这几类人群,因为模型只预测是否购买,可能转化的用户中persuadable的比例相当少,并不是营销中的target。
Uplift模型用于预测/估计某种干预对个体状态/行为的因果效应。可以形式化为以下等式:
τ i = p ( Y i ∣ X i , T i = 1 ) − p ( Y i ∣ X i , T i = 0 ) (1) \tau_i=p(Y_i|X_i, T_i=1)-p(Y_i|X_i, T_i=0)\tag1 τi=p(Yi∣Xi,Ti=1)−p(Yi∣Xi,Ti=0)(1)
其中, Y i Y_i Yi表示潜在结果(比如转化率,点击率等), X i X_i Xi表示用户的特征, T i = 1 T_i=1 Ti=1表示进行干预, T i = 0 T_i=0 Ti=0表示不进行干预,应用在广告营销中就可以形象的表示为某用户在经过广告投放行为之后,用户发生某种行为(点击或购买)增加的概率。
注意到,对于一个用户,我们只能对他进行干预或者不干预,即只能观测到 T 1 = 1 T_1=1 T1=1或 T 1 = 0 T_1=0 T1=0,所以对于一个个体的增益 τ i \tau_i τi是观测不到的。
所以我们可以考虑总体的(人群的子人群,即用一个人群的因果效果来表示一个单个人的因果效果),即平均因果效应(Average treatment effect,简记为ATE): A T E = E ( Y i ( 1 ) − Y i ( 0 ) ) = E ( Y i ( 1 ) ) − E ( Y i ( 0 ) ) (2) ATE=E(Y_i(1)-Y_i(0))=E(Y_i(1))-E(Y_i(0))\tag2 ATE=E(Yi(1)−Yi(0))=E(Yi(1))−E(Yi(0))(2)
T i ∈ { 0 , 1 } T_i\in\{0, 1\} Ti∈{ 0,1}表示是否进行干预,那么可有 Y i o b s = T i Y i ( 1 ) + ( 1 − T i ) Y i ( 0 ) (3) Y_i^{obs}=T_iY_i(1)+(1-T_i)Y_i(0)\tag3 Yiobs=TiYi(1)+(1−Ti)Yi(0)(3)
这里详细介绍了在合理的假设下,即在一个确定的特征 X i X_i Xi下,用户是随机分到treatment组和对照组的,那么 ( 2 ) (2) (2)式可化为 A T E = E ( Y i ∣ T i = 1 ) − E ( Y i ∣ T i = 0 ) = E ( Y i o b s ∣ X i = x , T i = 1 ) − E ( Y i o b s ∣ X i = x , T i = 0 ) (4) ATE=E(Y_i|T_i=1)-E(Y_i|T_i=0)=E(Y_i^{obs}|X_i=x,T_i=1)-E(Y_i^{obs}|X_i=x,T_i=0)\tag4 ATE=E(Yi∣Ti=1)−E(Yi∣Ti=0)=E(Yiobs∣Xi=x,Ti=1)−E(Yiobs∣Xi=x,Ti=0)(4)
从而可以设计随机化的A/B Test。
二、建模
补贴活动提升的购买意愿为 τ ( X i ) = P ( Y i = 1 ∣ X i , T i = 1 ) − P ( Y i = 1 ∣ X i , T i = 0 ) \tau(X_i)=P(Y_i=1|X_i,T_i=1)-P(Y_i=1|X_i,T_i=0) τ(Xi)=P(Yi=1∣Xi,Ti=1)−P(Yi=1∣Xi,Ti=0),由于我们得不到一个用户的 τ i \tau_i τi,所以无法得到真正的label,造成监督学习无法进行。在缺少真正 τ i \tau_i τi的情况下,一般有三大类方法来评估 τ i \tau_i τi:The Class Transformation Method、Meta-Learning Method、Tree-Based Method。
2.1 The Class Transformation Method
该方法应该归于Meta-Learning Method,这里为了不混淆单列出来。该方法适用于Treatment和Outcome都是二类分类的情况,通过将预测目标做单类的转换,从而实现单模型预测。
首先,定义新的变量 Z i = Y i o b s T i + ( 1 − Y i o b s ) ( 1 − T i ) (5) Z_{i}=Y_{i}^{o b s} T_{i}+\left(1-Y_{i}^{o b s}\right)\left(1-T_{i}\right)\tag5 Zi=YiobsTi+(1−Yiobs)(1−Ti)(5)
由于Treatment和Outcome都是二类分类,所以 Y i o b s ∈ { 0 , 1 } Y_i^{o b s}\in\{0, 1\} Yiobs∈{
0,1}, T i ∈ { 0 , 1 } T_i\in\{0, 1\} Ti∈{
0,1},所以当 Y i o b s = T i = 0 Y_i^{o b s}=T_i=0 Yiobs=Ti=0或 Y i o b s = T i = 1 Y_i^{o b s}=T_i=1