新闻  |   论坛  |   博客  |   在线研讨会
因果推荐技术在营销和可解释性上的应用
数据派THU | 2023-05-22 21:32:23    阅读:164   发布文章

主要包括以下四大部分内容:


1. Uplift 增益敏感性预测

2. 增益敏感度的应用

3. 贝叶斯因果网络的介绍

4. 画像决策路径构建及可解释性应用


01 Uplifit 增益敏感度预测


关于 Uplift 增益,通用的业务问题可以总结为,在圈定的人群中,营销人员会想知道,新的营销动作 T=1 相比较原始的营销动作 T=0,能带来多少的平均收益(lift,ATE,Average Treatment Effect)。大家会关注新的营销动作是否比原来的更有效。


在保险场景下,营销动作主要指的是保险的推荐,比如推荐模块上透出的文案和产品,目标是在各种营销动作和约束条件限制下,找到因营销动作而增益最多的群体,去做定向投放(Audience Targeting)。


图片


先做一个比较理想且完美的假设:对于每一个用户 i ,都能知道他对营销动作 t 是不是买账。如果买账,可以认为公式中的 Di 为正,且 value 比较大;如果不买账,且对营销动作很反感,Di 可能就会比较小,甚至是负向的。这样就能够得到每个用户个体对于 treatment 的效果。


关于人群划分,可以看到上图中的营销四象限,我们最关注的肯定是左上角 Persuadables 的人群。结合公式,该人群的特点是当有一些营销动作的时候,会很买账,也就是 Yi > 0 ,且值比较大。如果对该人群不去做营销动作则是负的,或者是比较小,等于 0,这样的人群的 Di 就比较大。


再看另外两个象限的人,Sure things,指无论是否营销,这些人都会买,那么营销投到这一人群上的收益率是比较低的。Sleeping dogs,是指去做营销反而会起到一些负面作用。这两部分群体最好不要进行营销投放。


图片


但是这里也存在一个反事实的困境:Di 没有那么完美。我们不可能同时知道一个用户对 treatment 是否感兴趣,即无法知道同一用户在同一时间对不同 treatment 下的反应。


最通俗的一个例子是:假设有一个药物,给 A 吃了之后,会得到 A 对药物的反应。但却不知道,如果 A 不吃的结果,因为 A 已经将药吃下去了,这其实就是一个反事实的存在。


对于反事实,我们进行了近似的预估。ITE(Individual Treatment Effect )预估的方式,虽然找不到一个用户,实验其对两个 treatment 的反应,但可以找到相同特征的用户群来预估反应,比如具有相同 Xi 的两个人,可以假设在同一特征空间下,近似等同为一个人。


图片


这样,Di 的预估分成了三块:(1)Xi 在 T=1 的营销动作下的转化率;(2)Xi 在 T=0 的营销动作下的转化率;(3)lift 是一个差值,计算两个条件概率下的差异。用户群体的 lift 值越高,则说明该人群更买账。如何让 lift 更高呢?在公式中,是将 Xi 在 T=1 的营销动作下的转化率变大,Xi 在 T=0 的营销动作下的转化率越小即可。


图片


在建模方式上,结合上文的公式,做一些归纳:


(1)T 变量的数量,如果不只是一个营销动作,而是有 n 个营销动作,则为多变量 Uplift 建模,否则是单变量 Uplift 建模。

(2)条件概率 P 以及 lift 的预估方式:① 通过差分建模,预估 P 值,然后找到 lift 值,这是间接的建模。② 通过直接建模,比如标签转化模型,或者是因果森林,比如 Tree base 、LR、 GBDT 或者一些深度模型。


02 增益敏感度的应用


图片


增益敏感度主要做了三方面的应用:保险产品的推荐,红包推荐,以及文案的推荐。


首先来介绍一下,旅游保险在飞猪上是什么样的定位。旅游保险是旅行商品中的一个种类,但它更多的是出现在主营商品的搭售链路上。比如我们去订机票、酒店的时候,主要购买意图是:酒店、机票、火车票,这个时候 APP 会问你要不要买一个保险。所以保险是属于一个辅营业务,但是其目前已经成为交通和住宿行业一个非常重要的商业性收入来源。


本文讲的主要作用域在弹窗页:弹窗页是飞猪 APP 下拉收银台的时候会弹出的一个页面,这个页面只会展示一种创意文案,只能展示一种保险商品,这一点与前面详情页可以展示多个类型的商品,以及保险的价格不同。所以这个页面,会让用户的注意力足够的聚焦在这里,并且可以做一些拉新促活,甚至是一些用户教育培养的营销动作。


图片


目前遇到的业务问题为:在弹窗页面,我们需要去推荐一个最佳的保险产品或者红包,使得整体的转化或者收益最大化。更具体的是去做一个拉新,或者是更高转化的业务目标。而业务收益目标是在收益不降低的情况下,提高转化率。


在以上的约束条件下,有几个营销项:(1)给用户推荐一个入门级低价保险;(2)另外一个 treatment,推荐一些红包,主要是去做一些拉新的操作。而 Base 就是原价的保险。


图片


建模的时候,有一些假设的条件:条件独立的假设。指 treatment 营销动作,在建模 uplift 采集的时候,样本服从假设条件独立,用户的各个特征是相互独立的。比如发红包,不能在年龄上有不同的分布,例如,在年轻人上少一点,老年人上发的多一点。这个会导致样本有偏。所以提出的解法是让用户随机地去曝光商品。同样的,也可以计算倾向性得分,得到同质的用户群,去做对比。


在实验设计上,AB 实验:A 是按原来的策略去投放,可能是 40 块钱的保险,也可能是运营来进行保险的定价,或者原始模型的一个定价。B 桶,低价保险投放。 


Label :用户是否转化成交。


模型:T/S/X-learner 以及各类的这种 Meta 模型。


样本构造:诉求是要刻画用户到底对这种低价保险是否更感兴趣,就需要有足够多的特征去刻画用户对价格的敏感性。但实际上像辅营产品,没有一个比较强的意图性。所以我们很难从用户的历史浏览购买记录当中,看到用户到底喜欢多少块钱的保险,或者是他会购买多少钱的保险。我们只能从主营或者用户流浏览的一些其他的飞猪 APP 域内的数据上去看,也会看用户红包的使用频率和红包消费比例,比如用户会不会只有在发红包的前几天,才在飞猪上进行转化。


图片


基于以上的特征样本的构造,同样进行特征重要性和可解释性的分析。通过 Tree base 模型可以看到,在一些时间、价格变量、年龄变量特征上是比较敏感的。


图片


评估指标的计算方式:Gini 和 Accumulated Gini。将 Uplift 分成 n 组,每一组去计算一个 Gini 分,如上图第一个公式所示,在该分组下得到用户映射到 test 桶和 base 桶之后的转化率,再去算 Gini。同理类推到 Uplift Gini,通过计算不同的阈值下的收益分,辅助我们去做阈值的一个判定。


图片


通过离线可得,表现最好的模型是 LR+T-Learner,其实不太符合原始的预期。后来思考了这个问题,也许问题出在用户对保险相关的价格特征的构建上,并不太足够去刻画。因为我们也去做了一些用户调研,比如用户的性格,对保险的敏感程度,这种 APP 域内的一些用户画像数据,能看到用户对一个无实物商品的感兴趣程度。但最终,还是基于这样的分数,去划定人群做投放,线上的 base 桶相对提升 5.8%。


图片


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客