type
Post
status
Published
date
Jan 9, 2026
slug
summary
在推荐系统领域,我们长期围绕 CTR、CVR、GMV 等目标优化排序与召回,但在广告、优惠券、Push 等营销干预场景中,传统预测模型只能判断用户是否会转化,无法区分「自然转化」与「干预带来的增量转化」,容易造成预算浪费与用户体验损耗。Uplift 建模(增益模型)作为「因果推断」在营销算法的核心落地方向,精准聚焦个体干预增量效应,帮我们定位仅因营销触达才转化的高价值用户、规避反效果人群,实现从「相关性预测」到「因果决策」的能力升级,也是推荐算法工程师拓展营销广告赛道、提升业务 ROI 的必备核心技术。
tags
营销算法
category
知行合一
icon
password
在推荐系统领域,我们长期围绕 CTR、CVR、GMV 等目标优化排序与召回,但在广告、优惠券、Push 等营销干预场景中,传统预测模型只能判断用户是否会转化,无法区分「自然转化」与「干预带来的增量转化」,容易造成预算浪费与用户体验损耗。Uplift 建模(增益模型)作为「因果推断」在营销算法的核心落地方向,精准聚焦个体干预增量效应,帮我们定位仅因营销触达才转化的高价值用户、规避反效果人群,实现从「相关性预测」到「因果决策」的能力升级,也是推荐算法工程师拓展营销广告赛道、提升业务 ROI 的必备核心技术。
快速扫盲
- Treatment - 译为:触达、干预、执行营销(广告),例:发放优惠券
- 因果推断:区分“因为干预才发生”和“本来就会发生”,识别出干预本身带来的真实因果效应。
- ITE(Individual Treatment Effect)表示一个用户的倍感被干预后产生的影响
- ATE
- CATE(个体处理效应)
- 元学习 Meta-Learner:不是具体模型(不是 LR / GBDT / NN)而是一种“怎么用模型”的策略,可以把任意监督学习模型塞进去。
背景和问题定义
何谓Uplift模型
Uplift增益模型,是专门用来衡量营销干预(广告、优惠券、触达)对用户带来的真实增量效果的模型。传统模型只预测用户会不会转化(CTR、CVR),是一个具体数值。而Uplift模型预测的是:如果对这个用户做干预,能多多少概率转化。也就是只算因为干预才带来的提升,排除掉用户本来就会转化的部分。
本质是因果推断在营销算法里的落地,目标是找到最值得投放的人,让预算真正花在有增量的地方。
用户-营销四象限(优惠券场景)
- Persuadables:不发优惠券则不买,发优惠券则购买
- Sure things:不论是否发优惠券均会购买
- Lost causes: 不论是否发优惠券均不会购买
- Sleeping Dogs:不发优惠券会购买,发优惠券反而不买

应用Uplift模型
双模型 Two-Model T-Learner
很好理解,我们不是要预测干预与否的区别吗? 那干脆copy一份传统的模型(例如CVR预估),分别用干预、不干预的数据进行训练,分别预测干预与不干预的效果,求差即uplift。
具体体现为对 和 分别建模,一个用户通过两个模型进行预测并对结果取差则得到预估的uplift值:
- 优点:简单易用,可以使用常用的回归/分类模型,或者系统原有的传统预测模型。
- 缺点:不是对uplift直接建模,可能会错失一些uplift相关的信号、误差累计、导致表现较差。
单模型 Single-Model S-Learner
让模型自己学习干预与否的区别。直接将is_treat作为参数,和其他用户特征拼在一起,作为一个普通特征输入模型。
样本不用划分,直接训练:。计算 得到uplift。
定义:
- 用户特征:
X = [x1, x2, ..., xn]
- 是否被干预:
T ∈ {0,1}
- 结果变量:
Y(例如CVR)
适用场景:
✔️
缺点:
- X已经很强,T可能会被忽略,退化为普通预测模型(区分不开是否干预)
- 没有显示用户与T交互,ITE退化为ATE(所有人 uplift 都一样)
T-Learner、S-Learner 都是实是 Meta-Learner(元学习)中的说法
目标都是估计CATE(个体处理效应):
S-Learner:直接预测 Y,再做差
T-Learner:分别预测两个状态
X-Learner:先估计差,再学习差
DR-Learner:用残差校正,双保险
方法 | 模型数 | 稳定性 | 个体差异能力 | 复杂度 |
S | 1 | 高 | 弱 | 低 |
T | 2 | 中 | 中 | 低 |
X | 3-4 | 高 | 强 | 中 |
DR | 多 | 很高 | 强 | 高 |
直接建模Uplift Transformation Method
很好理解,不是想要增益值、差值吗,那我们就直接预测这个值。
我们只关注:
把原问题转成一个新的监督学习问题。
构造新标签:
展开一下:
- T=1 → Z = +Y
- T=0 → Z = -Y
样本怎么理解?
前提:1:1 随机分流(非常重要)
一半人发券,一半人不发券,
而且是随机分的 —— 这样两组人“本质上差不多”,
我们才能把差异理解成干预带来的。
- Treatment 且成功 → 正样本,提供正向因果信号 推高 uplift
给了券之后他买了,
这说明“券可能对这类人有效”。
- Control 且成功 → 负样本,提供负向因果信号 拉低 uplift
没给券他也买了,
说明“这类人本来就容易买,券未必有必要”。
在特征相似的人群里,发券的人是不是比不发券的人更容易成功?“这类人对券敏不敏感?”
模型通过两组成功率的差异,学出“哪类人更值得发券”。
方法 | 思路 | 是否直接学 uplift |
S-Learner | 学 Y | ❌ |
T-Learner | 学 Y | ❌ |
Transformation | 改标签 | ✅ |
Uplift Tree | 改分裂标准 | ✅ |
什么时候用直接建模?
适合:
- 有严格随机对照实验
- 目标是排序而非精确因果估计
- 营销投放
- Push 优化
不适合:
- 观察数据(非随机)
营销领域:
- 很多公司用 Uplift Tree / Uplift RF
因果推断领域:
- 更偏向 DR / X Learner
评估Uplift模型
不能用普通 AUC。
常见:
✅ Qini 曲线
衡量 uplift 排序能力
✅ AUUC
Uplift 曲线下面积
结果
📎 参考文章
- Author:YelloooBlue
- URL:https://tangly1024.com/article/318e32f0-1b7f-808f-860c-e413a7eefc49
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!






