文章目录
增益模型因果与推论(Causal Inference)
常用的点击率预测模型,称为响应模型(response model),即预测用户看到商品后点击的概率。在智能营销的发放优惠券场景下也可以使用这种模型,即用户看到优惠券后购买商品的概率。但在这种场景下,很自然会想到,用户是本来就有购买的意愿还是因为发放了优惠券诱使用户购买?对有发放优惠券这种有成本的营销活动,我们希望模型触达的是优惠券敏感的用户,即发放的优惠券促使用户购买,而对优惠券不敏感的用户——无论是否发券都会购买——最好不要发券,节省成本。营销活动中,对用户进行干预称为treatment,例如发放优惠券是一次treatment。我们可以将用户分为以下四类:
- persuadables不发券就不购买、发券才会购买的人群,即优惠券敏感人群
- sure thing:无论是否发券,都会购买,自然转化
- lost causes:无论是否发券都不会购买,这类用户实在难以触达到,直接放弃
- sleeping dogs:与persuadables相反,对营销活动比较反感,不发券的时候会有购买行为,但发券后不会再购买。
建模时主要针对persuadables人群,并且要避免sleeping dogs人群。如果使用reponse model,则难以区分这几类人群,因为模型只预测是否购买,但人群的区分需要明确是否因为发放优惠券才导致了购买行为,这是一个因果推论问题(causal inference)。在优惠券发放Demo一节可以看到,response model(一个预测模型)可以取得很好的效果(转化率很高),但转化的用户中persuadable的比例相当少,并不是营销中的target。
营销活动中,我们要预测的是某种干预(treatment)的增量,这种模型称为增益模型(uplift model)。设 G G G表示某种干预策略(如是否推送广告), X \boldsymbol{X} X表示用户特征, Y = 1 Y=1 Y=1表示用户输出的正向结果(如下单或点击):
- Reponse model: P ( Y = 1 ∣ X ) P(Y = 1 | \boldsymbol{X}) P(Y=1∣X),看过广告之后购买的概率
- uplift model: P ( Y = 1 ∣ X , G ) P(Y = 1 | \boldsymbol{X}, G) P(Y=1∣X,G),因为广告而购买的概率
增益模型的表示
假设有 N N N个用户, Y i ( 1 ) Y_i(1) Yi(1)表示我们对用户 i i i干预后的结果,比如给用户 i i i发放优惠券后(干预)用户下单(结果), Y i ( 0 ) Y_i(0) Yi(0)表示没有对用户干预的情况下用户的输出结果,比如没有给用户 i i i发放优惠券(干预),用户下单(结果)。用户 i i i的因果效应(causal effect)的计算如下:
τ i = Y i ( 1 ) − Y i ( 0 ) (1) \tau_i = Y_i(1) - Y_i(0) \tag{1} τi=Yi(1)−Yi(0)(1)
增益模型的目标就是最大化 τ i \tau_i τi,这是一个增量,即有干预策略相对于无干预策略的提升,简单讲就是干预前后结果的差值。实际使用时会取所有用户的因果效应期望的估计值来衡量整个用户群的效果,称为条件平均因果效应(Conditional Average Treatment Effect, CATE):
C A T E : τ ( X i ) = E [ Y i ( 1 ) ∣ X i ] − E [ Y i ( 0 ) ∣ X i ] (2) CATE: \tau(X_i) = E\left[Y_i(1) | X_i\right] - E\left[Y_i(0) | X_i\right] \tag{2} CATE:τ(Xi)=E[Yi(1)∣Xi]−E[Yi(0)∣Xi](2)
上式中 X i X_i Xi是用户 i i i的特征,所谓的conditional指基于用户特征。
(2)式是理想的uplift计算形式,实际上,对用户 i i i我们不可能同时观察到使用策略(treatment)和未使用策略(control)的输出结果,即不可能同时得到 Y i ( 1 ) Y_i(1) Yi(1)和 Y i ( 0 ) Y_i(0) Yi(0)。因为对某个用户,我们要么发优惠券,要么不发。将(2)式修改一下:
Y i o b s = W i Y i ( 1 ) + ( 1 − W i ) Y i ( 0 ) (3) Y_i^{obs} = W_i Y_i(1) + (1-W_i)Y_i(0) \tag{3} Yiobs=WiYi(1)+(1−Wi)Yi(0)(3)
其中 Y i o b s Y_i^{obs} Yiobs是用户 i i i可以观察到的输出结果, W i W_i Wi是一个二值变量,如果对用户 i i i使用了策略, W i = 1 W_i = 1 Wi=1,否则 W i = 0 W_i = 0 Wi=0.
在条件独立的假设下,条件平均因果效应的期望估计值是:
τ ( X i ) = E [ Y i o b s ∣ X i = x , W = 1 ] − E [ Y i o b s ∣ X i = x , W = 0 ] (4) \tau(X_i) = E\left[Y_i^{obs} | X_i = x, W = 1\right] - E\left[Y_i^{obs} | X_i = x, W = 0\right] \tag{4} τ(Xi)=E[Yiobs∣Xi=x,W=1]−E[Yiobs∣Xi=x,W=0](4)
上式要满足条件独立(CIA)的条件,即用户特征与干预策略是相互独立的。
{ Y i ( 1 ) , Y i ( 0 ) } ⊥ W i ∣ X i \lbrace Y_i(1), Y_i(0) \rbrace \perp W_i | X_i { Yi(1),Yi(0)}⊥Wi∣Xi
实践上,满足CIA这样条件的样本的可以通过AB实验获取,因为时随机实验,可以保证用户(特征)与干预策略是相互独立的。
增益模型要优化 τ ( X i ) \tau(X_i) τ(Xi