阿里文娱智能营销增益模型 ( Uplift Model ) 技术实践(zz)

0 / 650

阿里文娱智能营销增益模型 ( Uplift Model ) 技术实践

原创 阿里文娱技术 DataFunTalk 2020-03-25

图片

分享嘉宾:奕晴 阿里文娱 算法专家

编辑整理:有感情的打字机

内容来源:阿里文娱技术

出品平台:DataFun

注:欢迎转载,转载请在留言区留言。

**导读:**随着移动互联网和人工智能技术的发展,智能化营销正渗透到各行各业。如何衡量和预测营销干预带来的"增量提升",而不把营销预算浪费在"本来就会转化"的那部分人身上,成为智能营销算法最重要的挑战。**我们以Uplift Model为基础,构建营销增益预测模型,帮助商家锁定营销敏感人群,驱动收益模拟测算和投放策略制定,促成营销推广效率的最大化。**本文将分享营销增益模型的原理和常见的建模及评估方法,并以淘票票智能票补为例介绍Uplift Model技术的实践经验。

本次分享主要包括:

❶ 智能营销面临的挑战及Uplift Model的价值

❷ Uplift Model建模与评估方法

❸ Uplift Model在淘票票智能票补中的应用

❹ 技术思考与后续规划

▌智能营销面临的挑战及Uplift Model的价值

  1. 智能营销面临的挑战

目前,智能化的营销手段越来越普及,商家可以通过多种渠道触达消费者,比如,在手淘上商家可以圈定他想要的目标人群,进行广告推送,为店铺拉新,也可以通过短信或旺旺这些渠道定向发放优惠券。无论是红包还是广告,我们都称为营销的干预手段,其背后都是有成本的。营销的目标就是在成本有限的情况下最大化营销的总产出,这里面最关键的一点是我们能否准确找到真正能被营销打动的用户,我们称他们为营销敏感人群,可以通过下面的图进行简单的解释:

图片

比如,我们对人群做四象限的划分,横纵坐标分别是用户在有干预和无干预情况下的购买状况。如上图,左上角人群的购买状况在干预后发生了正向变化,如果我们不对这类人群进行干预,那他有可能是不购买的,但是干预之后的购买概率有极大提升,所以这类人群是我们真正想要触达的用户,即营销敏感人群。而其他人群比如第2类和第3类,在干预前后的购买状况没有变化,所以预算花费可能是浪费。右下角是一类比较特殊的人群,虽然其在干预前后的状态有跳变,但这种跳变不是我们希望看到的,因为确实有一些人群对营销是反感的,所以对这类人群我们应该极力避免触达。Uplift Model正是为了识别我们想要的营销敏感人群。

  1. Uplift Model的价值

接下来介绍什么是Uplift Model,以及Uplift Model和传统的Response Model有什么样的差异。以广告投放为例,对于两个用户群,我们知道他们对广告投放的转化率分别是0.8%和2%,假如只有一次广告曝光的机会,应该向哪类用户投放广告?

图片

按照以往的经验和直觉,可能会向第二类用户群投放广告,因为其转换率是最高的,但这个结论是对的吗?经过进一步分析,除了广告曝光转化率之外,我们还能知道这两类用户群体在没有广告触达情况下的自然转化率,从而推算出广告所带来的增量。比如第一类用户的广告转化率虽然低,但在没有广告触达情况下的转化率更低,即广告所带来的增量反而是比第二个用户更高的,而我们要最大化总体的转化率其实等价于最大化广告的增量,按照这个逻辑,我们应该向第一个用户投放广告。也就是说Response Model很有可能会误导我们做出错误的决策,Uplift Model和Response Model之所以有差异,主要在于两个模型的预测目标不一样。

❶ Response Model的目标是估计用户看过广告之后转化的概率,这本身是一个相关性,但这个相关性会导致我们没有办法区分出自然转化人群;

❷ Uplift Model是估计用户因为广告而购买的概率,这是一个因果推断的问题,帮助我们锁定对营销敏感的人群。所以Uplift Model是整个智能营销中非常关键的技术,预知每个用户的营销敏感程度,从而帮助我们制定营销策略,促成整个营销的效用最大化。

▌Uplift Model建模与评估方法

  1. 什么是Uplift Model

Uplift Model是一个增量模型,目的是预测某种干预对于个体状态或行为的因果效应。在数学上可以表达为两个条件概率的差值形式,如下图所示:

图片

Y代表的结果 ( 比如用户的点击,转化等 ),X是用户维度的特征,T代表的是营销的变量 ( 1代表有干预,0代表无干预 ),因此这个概率差值表示的是用户在有干预和没有干预情况下的变化,这个模型建模的难点在于我们获取到的训练数据是不完整的,对于个体来说,我们不可能同时观测到在有干预和没有干预两种情况下的表现,也就是因果推断中经常提到的反事实的问题。我们应当如何去建模呢?可以换一种思路,从人群的角度来对平均因果效应做统计,假设我们有两群同质用户,均来自一线城市/年龄段为25-35/女性,我们可以对其中一组用户进行广告投放,另外一组不进行任何干预,之后统计这两群人在转化率上的差值,这个差值可以被近似认为是具备同样特征的人可能的平均因果效应。所以Uplift Model本质是从训练样本中学习条件的平均因果效应,同时因为模型是具有一定的泛化能力,可以对没有见过的样本也进行预测。

但这里需要强调的是,Uplift建模对样本的要求是比较高的,需要服从CIA ( Conditional Independence Assumption ) 条件独立假设,要求X与T是相互独立的。什么样的样本有这样的特征,又如何获取呢?最简单的方式就是随机化实验A/B Test,因为通过A/B Test拆分流量得到的这两组样本在特征的分布上面是一致的,也就是X和T是相互独立的。因此随机化实验是Uplift Model建模过程中非常重要的基础设施,可以为Uplift Model提供无偏的样本。

  1. Uplift Model建模算法

图片

最简单的Uplift建模方法是基于Two Model的差分响应模型,它的形式和前面介绍的Uplift Model的定义非常相似,包含了两个响应模型,其中一个模型G用来估计用户在有干预情况下的响应,另外一个模型G'是用来学习用户在没有干预情况下的响应,之后将两个模型的输出做差,就得到我们想要的uplift。这种建模方法的优点是比较简单容易理解,同时它可以套用我们常见的机器学习模型,如LR,GBDT,NN等,所以该模型的落地成本是比较低的,但是该模型最大的缺点是精度有限,这一方面是因为我们独立的构建了两个模型,这两个模型在打分上面的误差容易产生累积效应,第二是我们建模的目标其实是response而不是uplift,因此对uplift的识别能力比较有限。

图片

进一步地,还有一个基于One Model的差分响应模型,它和上一个模型最大差别点在于,它在模型层面做了打通,同时底层的样本也是共享的,之所以能实现这种模型层面的打通,是因为我们在样本的维度上做了一个扩展,除了user feature之外,还引入了与treatment相关的变量T ( T如果是0,1的取值可以建模single treatment,T也可以扩展为0到N,建模multiple treatment,比如不同红包的面额,或者不同广告的素材 ),One Model版本和Two Model版本相比最大的优点是训练样本的共享可以使模型学习的更加充分,同时通过模型的学习也可以有效的避免双模型打分误差累积的问题,另外一个优点是从模型的层面可以支持multiple treatment的建模,具有比较强的实用性。同时和Two Model版本类似,它的缺点依然是其在本质上还是在对response建模,因此对uplift的建模还是比较间接,有一定提升的空间。

图片

所以后续也有相关研究提出了第三种建模方法,通过对现有的模型内部进行深层次的改造来直接刻画uplift,其中研究较多的是基于树模型的uplift建模,下面主要介绍它的思想,在传统的决策树构建中,最重要的环节是分裂特征的选择,我们常用的指标是信息增益或者信息增益比,其背后的含义还是希望通过特征分裂之后下游节点的正负样本的分布能够更加的悬殊,也就代表类的纯度变得更高。类似的,这种思想也可以引入到Uplift Model的建模过程中,虽然我们并没有用户个体的uplift直接的label,但是我们可以通过treatment组和control组转化率的差异来刻画这个uplift,以图中左下角的图为例,我们有T和C两组样本,绿色的样本代表正样本,红色的代表负样本,可以看到在分裂之前T和C两组正负样本的比例比较接近,但是经过一轮特征分裂之后,T和C组内正负样本的比例发生了较大的变化,左子树中T组全是正样本,C组全是负样本,右子树正好相反,C组的正样本居多,意味着左子树的uplift比右子树的uplift更高,即该特征能够很好的把uplift更高和更低的两群人做一个区分。如何从数学上度量这种概率分布的差异的方式呢?一些文章提出了可行的方法,比如基于KL散度,欧式距离,卡方距离的等等。这种模型的优点是可以直接对uplift进行建模,因此它的精度理论上是更高的,但是在应用层面我们需要做大量的改造和优化,除了前面介绍的分裂规则之外,我们还需要改造它的loss函数,后续的剪枝等一系列的过程,所以它的实现成本是比较高的。

  1. Uplift Model建模评估

![图片](http:/