核心是如何计算uplift,本文针对CN群体采用发放优惠券的前提:。本文参考自Uplift模型提升用户增长。 uplift_score.append(us) raw_data['uplift_score'] = uplift_score raw_data.head() image-20230206154629137 ----------------------------------------- BOGO Conversion Uplift: 4.52% # 高Uplift分数:客户的uplift分数>3/4分位数 ---------------------- BOGO Conversion Uplift: 26.18% top25%的uplift分数用户的转化提升效果明显高于基础 # 低Uplift分数:客户的 uplift分数<1/2分位数 raw_data_lift = raw_data.copy() uplift_q_50 = raw_data_lift.uplift_score.quantile(0.5
2 uplift model的模型 2.0 Uplift 经典模型介绍 参考:Uplift 经典模型介绍 2.0.1 元学习:双模型(Two Model, T-Learner) 针对单Treatment 比右子树的uplift更高,即该特征能够很好的把uplift更高和更低的两群人做一个区分。 对uplift分数排序,得到uplift bar,如下图所示。横轴是测试集中每个用户uplift的十分位数(decile),共10个bin;纵轴是每个bin的uplift均值。 由于uplift排序是从低到高,因此这个uplift bar看起来是反的(正常应该是从高到底排)。 这两个组是: 高Uplift分数:客户的uplift分数>3/4分位数 低Uplift分数:客户的uplift分数<1/2分位数 我们会对比: 转化的uplift 每个目标用户的收入uplift,看看我们的模型是不是让我们的活动更有效了
在【营销增益模型实战-Uplift Model原理及应用】一文中提到: 目前的算法包虽然可以直接使用,但速度慢,定制性差 由于Uplift模型还未被广泛使用,业界对于该技术的定义混乱,每个领域甚至每个公司都会有自己的魔改版本 Modeling Python Package by Uber Pylift Uplift Meta-learner Python Package R Uplift Package Opossum: Pylift在sklearn的基础上针对uplift modeling对各模型做了一些优化,同时集成了一套uplift评价指标体系。 所以Pylift内核还是sklearn,在sklearn外面封装了一套API,针对树模型做了uplift优化,可以通过Pylift实现直接的uplift modeling. score分数, 注意这是uplift score,如果不是uplift score需要自己先将uplift score计算好。
一、Uplift模型 因果推断在互联网界应用主要是基于Uplift model来预测额外收益提升ROI。 Uplift模型用于预测/估计某种干预对个体状态/行为的因果效应。 ,即用两个模型分别建模干预、不干预的情况,取差值作为Uplift。 uplift建模的计算方法,其中包括了利用分布散度对uplift建模和直接对uplift建模。 CTS树具体构造流程为: 相比于meta-learner,uplift下树模型由于往往是直接对uplift进行建模和利用特征直接对人群进行切分,因此模型精度往往比较高一些。
2.4 协变量X的重要性 3 mr_uplift + 倾向得分 4 简单看一下:class:MRUplift 1 mr_uplift 介绍 1.1 介绍 官方地址:https://github.com mr_uplift开源库,试图为Uplift建模构建一个自动化的解决方案,包括以下特性: 允许多种treatments 。 import get_simple_uplift_data from mr_uplift.mr_uplift import MRUplift #Generate Data y, x, t = get_simple_uplift_data _2 from mr_uplift.mr_uplift import MRUplift, get_t_data from mr_uplift.keras_model_functionality import _2(10000) pred_uplift = uplift_model.predict_optimal_treatments(x = x_test) pred_uplift_propensity =
测试得到效应 5.4 Uplift decile charts 参考文献 之前的文章: 智能营销增益(Uplift Modeling)模型——模型介绍(一) 智能营销增益(Uplift Modeling 不过uplift模型等于评估个人的CATE。 【缺点】:不直接建模uplift,效果打折扣。 uplift建模的计算方法,其中包括了利用分布散度对uplift建模、直接对uplift建模的CTS 、 CausalForest。 参考文献 因果推断–uplift model 评估 因果推断综述及基础方法介绍(二) 【Uplift】建模方法篇 一文读懂uplift model进阶 DiDi Food中的智能补贴实战漫谈
Uplift Model的价值 接下来介绍什么是Uplift Model,以及Uplift Model和传统的Response Model有什么样的差异。 因此随机化实验是Uplift Model建模过程中非常重要的基础设施,可以为Uplift Model提供无偏的样本。 2. Uplift Model建模算法 ? 比右子树的uplift更高,即该特征能够很好的把uplift更高和更低的两群人做一个区分。 有了以上三种常见uplift的建模方法,我们需要对uplift模型进行评估,因为uplift评估最大的难点在于我们并没有单个用户uplift的ground truth,因此传统的评估指标像AUC是无法直接使用的 理论上如果模型对uplift的识别比较准确,我们预测uplift比较高的区间段,真实的uplift也较高,uplift curve就会呈现上凸的形式,我们也可以计算曲线下的面积度量不同模型的表现差异。
3.2 基于 Uplift Model 的短信敏感度预估模型 为了解决 Response Model 在上述业务场景下存在的问题,提升短信投放带来的增量效益,我们进一步构建了基于 Uplift Model Uplift Model 是工业界因果推断与机器学习结合最成熟的算法之一,在智能营销和用户增长领域中有着广泛的应用,我们先介绍一下用来解释 Uplift Model 的较为经典的营销人群划分图: 图4 Response Model 的转化率预估模型作为对照版,将基于 Uplift Model 的短信敏感度预估模型作为实验版,其中 Uplift Model 为离线评估效果相对较好的 T-learner ,线上效果如表 4 所示: 表4 线上实验结果:Uplift Model vs Response Model 从表 4 可以看出,Uplift Model 的线上表现效果和离线一致,相比 Response 各模型的离线评估效果如下: 表5 Uplift Model 离线指标评估结果(测试集 v1) 图5 Uplift Model 离线评估结果-Qini Curve(测试集 v1) 为了更加清晰地看出
\ =uplift_model.predict_proba(X_test.drop('treatment', axis=1)) result['proba_CN'] = uplift_proba [:,0] result['proba_CR'] = uplift_proba[:,1] result['proba_TN'] = uplift_proba[:,2] result bogo_uplift = uplift(df_model_bogo) 图1 “买一送一”营销策略的混淆矩阵 同样地,对于“打折促销”策略也是用营销增益模型识别营销敏感人群,实现代码如下,混淆矩阵结果如图 discount_uplift = uplift(df_model_discount) 图2 “打折促销”策略的混淆矩阵 2.增益值分布 除了混淆矩阵外,增益值也是直观衡量营销策略的指标。 plt.figure(figsize= (10,6)) plt.xlim(-.05,.1) plt.hist(discount_uplift.uplift_score,bins=1000, color=
Uplift模型有很多介绍的文章,也有一些评估方式,例如AUUC、 十分位柱状图、累计增益曲线Qini Curve等,但是如果模型结果好或者不好,我们需要怎么进一步分析,却少有文章介绍,本问以Interpretable multiple treatment revenue uplift modeling这篇论文的方法介绍模型分析以及可解释性的方法。 建模方法首先Uplift模型从干预和响应类型分为四类,文章主要介绍的场景也是多干预场景连续结果MT-Rev,这也是现实中比较场景的场景,特别是在营销推荐场景中。ST-Conv:单干预和二分类响应。
Uplift model的各类模型 权益:发什么券? 线性规划、贪心分配、背包问题 1 选人、圈人 很显然,活跃转化是最主要的人群,大多的方法都是uplift model,那么uplift model也有几类: •uplift方法一:元学习方法(Meta-learning 方法二:Tree-Based Method(增量直接建模) • 分布散度下的Uplift-Tree• CausalForest• 对uplift直接建模的CTS Tree •NN-Based Method 还有uplift model评估问题也很关键后面可以再看看。 对于广告效应的推断方面,这种模型相比于DNN会有一定的提升(uplift Qini指数提升至0.6)。
锐宝智联专注基于英特尔嵌入式平台工业主板及整机的研发、设计和生产,荣膺“2021年英特尔钛金级合作伙伴”,被英特尔纳入ODM Uplift计划,未来将与英特尔一起共同推动各行业智能化升级。 锐宝智联专注基于英特尔嵌入式平台工业主板及整机的研发、设计和生产,荣膺“2021年英特尔钛金级合作伙伴”,被英特尔纳入ODM Uplift计划,未来将与英特尔一起共同推动各行业智能化升级。
利用Uplift模型识别营销敏感用户提升转化率 上篇 1.数据基本情况探索 2.数据预处理及相关性分析 3.样本平衡性验证 下篇 1.构建营销增益模型 2.营销增益模型效果评价 营销增益模型(Uplift)是用户转化分析中常用的模型,今天的文章基于营销数据利用Python进行实战识别营销敏感客户群体,以在实际营销活动中降低企业成本
model 这个人应该发什么类型的权益 线性规划、贪心分配、背包问题 3.1 选人、圈人 很显然,活跃转化是最主要的人群,大多的方法都是uplift model,那么uplift model也有几类 Method(增量直接建模) 分布散度下的Uplift-Tree CausalForest 对uplift直接建模的CTS Tree NN-Based Method 还有uplift model 对于广告效应的推断方面,这种模型相比于DNN会有一定的提升(uplift Qini指数提升至0.6)。 nn-based我们还没有尝试,他是将propensity score估计即倾向性得分和uplift score估计合并到一个网络实现。 这样一个用户如果在各种券类别下uplift都很高时,我们将会优先为他/她配置券值较低的补贴券。这样做法的好处是简洁明了实现简单,在人工干预较强的时候对于运营的可解释性也比较强。
9 阿里文娱:智能营销增益模型 ( Uplift Model ) 技术实践 一些细节也可参考:智能营销增益(Uplift Modeling)模型——模型介绍(一) 文章来源:阿里文娱智能营销增益模型 ( Uplift Model ) 技术实践 9.1 Uplift Model建模评估 uplift评估最大的难点在于我们并没有单个用户uplift的ground truth,因此传统的评估指标像AUC ,这个差异就可以近似地认为是分数最高的这群人真实的uplift,类似地,我们可以计算前20%,40%一直到100%的点上面的值,连线就能得到uplift curve。 理论上如果模型对uplift的识别比较准确,我们预测uplift比较高的区间段,真实的uplift也较高,uplift curve就会呈现上凸的形式,我们也可以计算曲线下的面积度量不同模型的表现差异。 11 腾讯广告:上线Uplift广告增效衡量 一个文档:Uplift广告增效衡量FAQ 一个文章:国内独家!
具体计算方法 AUUC 的全称是 Area Under the Uplift Curve, 计算的是 Uplift Curve 弹性曲线下的面积。 因此首先解释下什么是 Uplift Curve,以及如何计算 Uplift Curve。 2.1 计算 AUUC 所需要的输入 假设我们有一个数据集 ,这是计算 AUUC 所需要的全部输入。 依次类推,我们可以得到第 1~n 个 Uplift 值,可以根据此画出曲线。 lift.plot() 的曲线图代表着 uplift 曲线,曲线上 x 轴 y 轴对应系为 gain.plot() 的曲线图代表着累积 uplift 曲线,曲线上 x 轴 y 轴对应关系为 两者的横坐标的含义都是人 这是因为累积 uplift 值会比较高,对 y 轴归一化更方便分析。 归一化的除数是 gain.iloc[-1,:],它是“排序在最末尾的累积 uplift 值”,。
如果大家看到好的文章和工程实现也欢迎在下面评论~ Uplift Modelling/Causal Tree Nicholas J Radcliffe and Patrick D Surry. Real-world uplift modelling with significance based uplift trees. Decision trees for uplift modeling with single and multiple treatments. Uplift modeling with multiple treatments and general response types. Ghaffarizadeh, 2017, Improve User Retention with Causal Learning [文章连接] Zhenyu Zhao, Totte Harinen, 2020, Uplift
budget allocation optimal = attr.optimize_budget(total_budget=100000) 支持的方法包括 Shapley 值(博弈论)、马尔可夫链归因、Uplift Uplift 建模 关注点在于谁会对干预产生反应,而不只是平均效应。 from pycausalsim.uplift import UpliftModeler uplift = UpliftModeler( data=campaign_data, received_offer', outcome='purchased', features=['recency', 'frequency', 'monetary'] ) uplift.fit (method='two_model') # Segment users by predicted response segments = uplift.segment_by_effect()
Value Decomposition, 16% The biggest declines are for Association rules, down 47% to 15.3% from 28.6% Uplift The most "Industrial Algorithms" were: Uplift modeling, 2.01 Anomaly Detection, 1.61 Survival Analysis , 1.39 Factor Analysis, 0.83 Time series/Sequences, 0.69 Association Rules, 0.5 While the uplift modeling Survival Analysis Z 7.9% 9.3% -14.9% -0.15 27 EM U 6.6% -0.19 28 Other methods Z 4.6% -0.06 29 Uplift
因果推断笔记——因果图建模之微软开源的EconML(五)[5] 因果推断笔记——工具变量、内生性以及DeepIV(六)[6] 因果推断笔记——自整理因果推断理论解读(七)[7] 因果推断笔记——uplift •三+四+六+八都是因果推断中比较重要的方法,尤其是uplift是工业界兵家必备;•一+五是因果推断中比较成体系的开源项目,这里不得不佩服这些开源的作者,好的开源项目真的是最好的学习材料,包括之前学习生存分析的 后续可能会继续学习的方向: •把 EconML 、 CasualML 这两个非常赞项目的案例都过一遍;•一些更细方法的学习,比如断点回归、uplift的tree based 、 NN-Based的方法等 120020123 [7] 因果推断笔记——自整理因果推断理论解读(七): https://mattzheng.blog.csdn.net/article/details/120097306 [8] 因果推断笔记——uplift