查看原文
其他

因果推断在互联网电商用户增长中的应用

林宏达 DataFunSummit
2024-09-10

导读 本文将分享因果推断增益模型在用户增长中的实践。

主要包括以下四大部分:

1. 什么是因果推断

2. 增益模型在用户增长的实践

3. 因果推断的挑战

4. 书籍/论文推荐

分享嘉宾|林宏达 数据科学家 

编辑整理|张彬

内容校对|李瑶

出品社区|DataFun


01

什么是因果推荐

首先来介绍一下因果推断的相关概念,以及当前的主要流派。

1. 因果性和相关性的区别

上图中,从四个维度对比了相关性和因果性的区别。

数据分析中会遇到很多相关性的问题,从定义上来看,当两个变量同时发生变化的时候,一个变量和另一个变量的变化之间存在某种趋势,那么这两个变量就是相关的。比如戴眼镜和学习好是相关的,但不能说戴眼镜导致了学习好。因果性则是原因和结果之间存在一种必然的、内在的联系,具有方向性,因在前,果在后,因导致了果。

从逻辑结构上来看,相关性仅表示两个变量之间存在某种关联,但并不能表示关联的性质和方向。两个变量可能同时受第三个变量的影响,或者它们之间的关系是偶然的。比如经典的天气、溺水率和冰淇淋销量这三者之间的关系,其中溺水率和冰淇淋销量具有偶然的相关性,但是没有因果性。因果性则有明确的逻辑结构,一个事情在另一个事情之前发生,并且因导致了果。比如我按门铃,门铃响了,就是一个因果关系。

从推断方向上看,相关性通常用来表示两个变量之间的关联程度,没办法发现两个变量之间因果关系的方向,所以方向是不确定的,变量高度相关,但是不能直接从一个变量推断到另一个变量。因果关系则可以通过严格的证据条件,以及科学研究中的 AB 实验、统计检验或逻辑推理等方法来确定。

例如,电商数据分析中经常会发现购买母婴类目的用户复购率比较高,这是一个相关性问题,而不是因果性问题。假设为了提升用户的复购率,给全平台的人都推母婴类目有用吗?可能对于女性用户来讲是有用的,而对于男性用户可能就是没有效果的,甚至是反效果的。但全平台中女性用户的占比较高,因此电商平台的整体效果可能确实会得到提升,这就是一个 ATE 和 THE 的问题。因果关系主要通过 AB 实验、倾向性得分匹配、双重差分、Double Machine Learning 等方法来推断。

2. 因果推断的流派

当前主流的因果推断框架分别为计算机科学、计量经济学和统计学。

(1)计算机科学

计算机科学领域的主要代表人物是 Judea Pearl,他创立了 Casual Graph Model,即因果图模型。其基本思想是,所有关系都属于以下三种之一,第一种是既有因果性又有相关性;第二种是只有相关性没有因果性;第三种是在某个条件下有因果性。

计算机科学领域还有另外两个准则,一个是后门准则,一个是前门准则。后门准则是互联网中用的比较多的一个思想,如上图,给定 X 和 Y,寻找一个 Z 要满足没有 X 往后的节点,Z 阻断了 XY 之间所有指向 X 的路径。也就是把 X 到 Z 这条线,通过 do calculus 算子消掉,没有这条线之后,Z 就满足 X 和 Y 的后门准则。

(2)计量经济学

计量经济学领域的主要思想是,观测结果是潜在结果的组合。观测的结果等于有控制变量影响的概率加没有控制变量影响的概率。也就是,观测的结果等于平均结果加选择偏差。随机实验的话,Select bias 等于 0。这一领域最为著名的方法为 Double Machine Learning(DML),它被设计用于处理基于观测数据进行因果建模的问题。观测数据往往会存在偏差,可能有一个特征既影响目标变量又影响 treatment。DML 通过特定的计量经济学的算法框架,即使在存在偏差的情况下,也可以得到无偏估计。其核心主要是使用残差估计来预估 ATE。这里涉及到使用机器学习来分别基于响应变量和独立变量预测目标变量的问题。

比如电商公司想要提升 GMV,潜在方法很多,比如通过投流、增加营销费用,或者是通过优惠券、降价,又或者提升产品质量等等。要判断哪个方法的优先级最高,或者每种方法对 GMV 提升的效果如何,难点在于其中存在很多混淆变量,如果直接针对这些 X 对 GMV 进行回归建模,那么 X 的系数不是真实的 Y 的因果效应。DML 解决这类问题的方法是,假设所有的混淆变量都可以被观测到,通过对于残差的回归,可以无偏估计某个特征 X 对于 Y 的因果效应。

计量经济学中还包括工具变量法、DID 双重差分、合成控制法等。首先介绍一下双重差分。比如实验前 A 组和 B 组某个指标可能差了 5%,实验之后这一指标差了 10%。这里有两个做法,一个做法是在实验前先做个 A 实验,把 A 和 B 的差异消掉,但这样会导致时间等各方面成本都比较高。这里可以通过 DID 方法,用实验后的 10% 减去实验前的 5%,得出这个策略的提升大概就是 5%。DID 相较于 AB 实验来说成本更低。再来介绍一下合成控制。比如要在北京实施某个政策,看一下这个政策对于北京市的影响,但在全球范围内,很难找到一个跟北京相似的城市进行比较。这时就可以通过合成控制的方法,比如北京市的情况等于上海乘以 0.9 加上长春乘以 0.1,这样合成一个类似北京的城市,来与北京做有无政策影响的比较。

(3)统计学

第一个方法是潜在结果模型,其核心思想是同一个人在接受干预和不接受干预时候的结果差异,可以通过干预结果减去没有干预的结果来计算。统计学领域还有应用广泛的 AB 实验,AB 实验有四个前提,即保证同时性、同质性、唯一性和均匀性。针对一些 AB 实验成本很高或无法采用 AB 实验的情况,可以用一些其他方法,比如通过线性得分加权等。

接下来将会重点介绍 Meta-learning 和 Tree-based Model 两种方法。

02

增益模型在用户增长的实践

1. 营销增益模型理论

针对流失人群进行营销触达,怎样识别真正的营销敏感人群呢?经典的 Uplift 模型将人群分为四类:第一类是 Persuadables,在没有营销触达时没有购买欲望,在营销触达之后购买了;第二类是 Sure things,无论是否有营销触达,都会进行购买;第三类是 Lost causes,不管有没有营销触达,都不会购买;第四类是 Sleeping dogs,是反营销的人,营销没有触达会购买,而营销触达时反而不买了。

例如,用户 A 的发券购买率是 2%,不发券购买率是 1%,那么增益就是 1%;用户 B 的发券购买率是 3%,不发券购买率是 2.5%,增益就是 0.5%。如果用传统的机器学习,针对发券购买率进行建模,就会错误地将优惠券发给 B,因为 B 的发券购买率比较高。如果用因果推断的思想,其实 A 才是 uplift 比较高的。假设用户 A 和用户 B 分别有 1000 个人,商品原价是 100 元,优惠券是 100 减 20,券后价 80 元。如果 A 和 B 按原价进行购买,收益是 3500 元;如果都发券,那么收益是 4000;如果按照 uplift,A 发 B 不发,收益是 4100;相反,A 不发 B 发,则是 3400。可见,用传统的机器学习建立 response 模型,通过发券购买率来判断是否发券的话,收益是最低的。根据增益模型来发券,收益则是最高的。

这里介绍几个 uplift 模型中常用的算法。第一个是 T-learner,T 是 two 的缩写,代表两个模型,即针对实验组和对照组分别建一个模型,实验组减去对照组的差值就是 uplift score。第二个是 S-learner,S 是 single 的缩写,相较于 T-learner 不同的点是,把 treatment 当做 X 的一个 variable,进行建模,只建一个模型,在模型里直接计算 Treatment 等于 1 的预测结果减去 Treatment 等于 0 的预测结果,得出 uplift score。这两个算法分别存在其明显的缺点,T-learner 中两个模型是有叠加误差的;S-learner 是针对 response 进行建模,并没有直接对 uplift score 进行建模,也是比较间接的方法。X-learner 是 T-learner 的一个衍生,通过交叉训练,解决对照组和实验组数量不平衡的问题。R-leaner 是通过最小化损失函数来对增量进行建模。

Tree-base model 节点的分裂跟传统的决策树不同,传统的决策树是通过信息熵的方向进行分裂,而 Tree-base model 是通过 uplift 来进行分裂,以分裂前后增益的最大化作为目标。如图中,Treatment group 有三个绿一个红,通过节点分类之后,三个绿在一组,一个红在一组。Control group 是两个绿两个红,通过节点分类后,两个红在一组,两个绿在一组。

DragonNet 是一个深度学习的方法。这里不做详细介绍。

2. 营销增益模型建模

建模需要有一定的训练数据,一般会先做一个小样本的 AB 测试来获取训练数据。假设选 2 万人进行测试,1 万人发券,1 万人不发。数据存放在 csv 文件中,分组满足同时性、同质性、唯一性和均匀性。发完券之后 1-2 周,等数据回流之后,对其进行建模。

在互联网电商经常会用到的一些特征包括,用户 ID、流失时长(最后一次下单至今的时长,一般选二十多天的人,比较有召回的价值)、累计消费金额、地址类型(地址有三个来源,一个是注册时填写的地址,第二是使用小程序 APP 或 H5 时前端经纬度返回的地址,第三是下单时的收货地址,通过地址识别地址类型)、使用优惠券比例(可以比较真实的反映该用户是否营销敏感)、下单来源(反应用户偏好的是哪一个端)、是否发放营销优惠券、消费金额(测试期间的消费金额)。

上图中举了一个特征工程的例子,类别型的变量用 get_dummies 进行了处理。

建模选择了 T-learner、S-learner 和 Tree-based model 三个模型。T-learner 针对 A 组和 B 组分别建模,再由差值得出 uplift score。S-learner 是把 treatment 当做 X 的特征,做建模。

下面看一下具体实现的代码。

首先是 import 必须使用的一些包。比如 lightgbm,其优势是采用并行方式,运行比较快,针对比较大的数据量,建模时间成本会比较低。接着是初始化模型参数,把实验组和对照组分开,两个模型分别训练、分别预测、分别计算误差。最后合并预测结果,合并之后再计算 MSE。这就是 T-learner 的实现过程。

S-learner 前面的数据处理和 T-learner 是一样的。唯一的区别是把 treatment 作为特征,加入训练集和测试集。因为 T-learner 和 S-learner 比较简单,一般会将其建模的结果作为模型的 baseline。

Tree-based model 采用的是 DecisionTreeClassifier 这个包,并且用了 UpliftRandomizedSearchCV 进行模型的选择和参数的调优。然后进行训练模型,输出最优的参数,然后在测试集上进行模型的评估,计算其 score。

3. 营销增益模型评估

模型评估一般分为两个层面,一个是模型效果层面,一个是价值层面。

模型效果层面,一般采用 Qini 和 AUUC 来进行评估。把数据按照 uplift score 从高到低排,每次取前 10%,看一下 uplift score,然后再取前 20% 看一下其 uplift score,这样叠加,就形成了 Qini 曲线。

价值层面首先会考察营销增益响应率,通过目标人群的转化率减去其自然转化率来得到。第二个考察的指标是净增量收入 NIR,即商品利润增量减去活动的营销成本。

上图中展示了 AUUC 的具体实现,其中用到了梯形法来 AUUC。

4. 后续复杂场景

上面介绍的是只发一种优惠券的情况下,如何利用 uplift 建模。然而实际应用中的场景通常会更为复杂。

对于多种优惠券的情况,T-learner 就不再适用了,因为它只建一个模型。可以用 S-learner,S-learner 的 treatment 可以是连续的也可以是离散的。Tree-based model,对于连续的 treatment,可以使用 DecisionTreeRegressor 算法。除了模型角度的考虑,还要考虑优惠券的成本怎么控制,给谁发多少钱的优惠券比较合理等等。

第二个分享的场景是我们遇到的一个真实场景,公司想要采购一套智能外呼系统,希望可以在每次营销活动时,通过这个系统给用户打电话。智能外呼系统的价格与其并发量相关,因此需要考虑采购多大的智能外呼系统,可以使公司的收益最大化。通常智能外呼系统会越打越便宜,假设公司希望在三个月内成本回正,那么只需要满足智能外呼带来的增益在这段时间内等于这套系统的成本就可以了。成本则包括系统成本、每次外呼的成本,以及相应的营销成本。

第三个场景是,在降本增效的大背景下,如何评估电话销售人员的业绩,现在使用的 ROI 是否存在问题?如果只是简单计算 ROI 的话,那么只要给比较活跃的,或者是接下来比较有可能回购的人打电话就好了,这样 ROI 就是最高的。显然仅使用 ROI 是不够的。而是应该把打电话这个动作当做 treatment,看一下每次打电话带来的增益,作为绩效评估的标准。

03

因果推断的挑战

因果推断从技术角度来看其实并不难,有很多成熟的算法框架。而真实数据中会有很多噪声,寻找 confounders,或者确定想要控制的变量才是最大的挑战。

另外,将因果推断应用在不同场景,提高其可复用性也是挑战之一。

未来,需要去探寻因果推断与大模型的结合,利用大模型以及 Agent 技术助力因果推断。

04

书籍/论文推荐

最后,为希望从数据分析转入数据科学领域,或者是在准备参加校招希望从事相关工作的同学,推荐一本书,英文原版名为《CAUSAL INFERENCE IN STATISTICS》,中文翻译版名为《统计因果推理入门》,对于初学者来说非常容易理解。

上图中还推荐了 4 篇比较新的论文,分别是关于 multiple treatment,non-randomized studies,真实世界中的应用,以及 uplift 效果相关的论文。

最后一个 github 链接中,整理了 causal inference 和 AB 测试的一些代码,还有一些书籍、PDF 和参考论文,也推荐给大家做相关学习。

以上就是本次分享的内容,谢谢大家。


分享嘉宾

INTRODUCTION


林宏达

数据科学家

拥有 10 年数据科学从业经验,曾担任头部保险公司核保风控算法团队负责人,专注于大数据用户画像、智能营销、因果推断、增益模型和用户增长等领域。


往期推荐


面向 Data+AI 时代的数据湖优化与实践

推荐系统的8种层次!

对话刘铭教授:多模态知识图谱构建初探

推荐系统降本增效之路

强化学习在推荐系统中的实践探索与业界进展

大模型驱动的数据清洗与数据合规技术展望

DataFunCon2024·北京站,精彩议题抢先看!

欧美 KOL 游戏营销技术应用

加速数据决策,实时数仓创新应用与实践

AI 技术演进与商业落地:从学术探索到创业实践的全景观察

点个在看你最好看

SPRING HAS ARRIVED

继续滑动看下一个
DataFunSummit
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存