目标:围绕广告商业化场景,用一套贯穿始终的数据和业务问题,掌握从增量效应估计、人群异质性识别到投放策略优化的完整链路。

一、不要把它们当成十几个独立模型

第一优先级的方法实际上围绕三层问题展开:

估计增量效应→发现人群异质性→制定投放策略\text{\text{估计增量效应}}\rightarrow\text{\text{发现人群异质性}}\rightarrow\text{\text{制定投放策略}}

建议始终使用同一个广告案例:

  • XX:用户画像、历史行为、广告上下文;
  • TT:是否曝光广告;
  • YY:是否购买、转化或产生收入;
  • 目标:找出“因为广告才会转化”的用户。

二、第一阶段:统一目标语言

先掌握以下核心概念:

  1. ATE:整体平均增量。
  2. CATE:某类用户的平均增量。
  3. ITE:个体处理效应的估计。
  4. Propensity Score:用户接受广告曝光的概率。
  5. Outcome Model:给定用户特征和处理状态后的结果预测模型。
  6. Nuisance Model:为最终因果效应估计服务的辅助模型。
  7. Overlap:各种用户都有曝光和未曝光的可能。
  8. Unconfoundedness:重要混杂变量已经被观测和控制。
  9. Cross-fitting:通过样本拆分和交叉预测降低过拟合偏差。
  10. Orthogonality:辅助模型的小误差不容易直接传递到最终效应。

这一阶段的检验标准是能回答:

当前模型究竟在估计 ATE、CATE,还是只在预测购买概率?

三、第二阶段:学习 Meta-Learner

推荐顺序:

T-Learner→S-Learner→X-Learner→R-Learner→DR-Learner\text{T-Learner}\rightarrow\text{S-Learner}\rightarrow\text{X-Learner}\rightarrow\text{R-Learner}\rightarrow\text{DR-Learner}

1. T-Learner

分别训练处理组和对照组的结果模型:

μ^1(X)=E[Y∣T=1,X]\hat\mu_1(X)=E[Y\mid T=1,X]
μ^0(X)=E[Y∣T=0,X]\hat\mu_0(X)=E[Y\mid T=0,X]

处理效应为:

τ^(X)=μ^1(X)−μ^0(X)\hat\tau(X)=\hat\mu_1(X)-\hat\mu_0(X)

它的直觉最简单,适合作为第一个基线。

2. S-Learner

只训练一个模型:

μ^(X,T)=E[Y∣X,T]\hat\mu(X,T)=E[Y\mid X,T]

分别令 T=1T=1 和 T=0T=0 得到处理效应。重点理解:预测能力很强的模型可能忽略处理变量,导致估计出的效应被压缩。

3. X-Learner

重点理解四步:

  1. 估计潜在结果;
  2. 构造伪处理效应;
  3. 分别在处理组和对照组学习效应;
  4. 按倾向得分组合结果。

它尤其适合处理组和对照组样本量差异明显的场景。

4. R-Learner

重点理解残差化:

Y−m^(X)Y-\hat m(X)
T−e^(X)T-\hat e(X)

先剔除结果和处理状态中可以由协变量预测的部分,再学习异质性效应。R-Learner 是进入 DML 和因果森林的重要桥梁。

5. DR-Learner

重点理解“双重稳健”:

  • 如果结果模型正确,估计仍可能一致;
  • 如果倾向得分模型正确,估计也仍可能一致。

当广告曝光不是随机分配时,DR-Learner 通常比最简单的 S/T-Learner 更值得作为主模型。

统一练习方法

不要使用五套不同数据。用同一套模拟数据或广告实验数据运行全部模型,统一比较:

  • ATE;
  • CATE 分布;
  • CATE 分桶后的真实增量;
  • Qini;
  • AUUC;
  • Policy Value;
  • 训练时间与结果稳定性。

这样学到的是模型差异,而不是五套不同 API。


四、第三阶段:Causal Forest 与 DML

1. 先学 Causal Forest

重点不是重新学习随机森林,而是理解:

  • 分裂标准为什么针对处理效应差异;
  • Honest Estimation;
  • 树如何构造局部相似人群;
  • 如何估计 CATE 及其置信区间;
  • 如何检验异质性是否真实存在。

需要能够解释:

普通随机森林寻找“购买率不同”的人群;因果森林寻找“广告增量不同”的人群。

2. 再学 Double Machine Learning

DML 解决的问题是:当处理模型和结果模型都使用复杂机器学习时,如何减少正则化偏差并获得相对可靠的效应估计。

第一轮只需先掌握两个动作:

  1. Cross-fitting
  2. Residualization / Orthogonalization

然后依次接触:

  • LinearDML;
  • SparseLinearDML;
  • CausalForestDML。

CausalForestDML 可以暂时理解为:

先用 DML 残差化处理混杂和预测偏差,再用因果森林学习异质性效应。

五、第四阶段:从 CATE 走向投放决策

广告业务最终要决定:

π(X)∈{投放,不投放}\pi(X)\in\{\text{\text{投放}},\text{\text{不投放}}\}

最简单的投放规则是:

π(X)=1[τ^(X)>0]\pi(X)=1[\hat\tau(X)>0]

考虑商业成本后:

π(X)=1[τ^revenue(X)>广告成本(X)]\pi(X)=1[\hat\tau_{revenue}(X)>\text{\text{广告成本}}(X)]

重点学习:

  1. Policy Value;
  2. IPS;
  3. Doubly Robust Policy Evaluation;
  4. Policy Tree;
  5. Budget-constrained Policy Learning。

最终应比较以下策略:

  • 全量投放;
  • 向预测 CVR 最高的人群投放;
  • 向 CATE 最高的人群投放;
  • 向预期 ROI 最高的人群投放;
  • 使用学习得到的策略投放。

广告业务中的关键区别是:

高转化用户不一定是高增量用户。一个本来就会购买的用户,可能具有很高 CVR,但广告对他的增量接近于零。

六、第五阶段:学习因果模型评估

由于无法同时观察同一个用户曝光和未曝光时的结果,所以不能像分类任务一样直接计算 ITE 准确率。

建议学习顺序:

  1. 分桶校准;
  2. Uplift Curve;
  3. Qini Curve;
  4. AUUC;
  5. RATE / TOC;
  6. Policy Value;
  7. Doubly Robust Policy Value;
  8. A/B 实验回测。

必须理解以下局限:

  • Qini 和 AUUC 适合评价排序,不代表 CATE 数值准确;
  • 训练集上的 Uplift 指标意义有限;
  • 观察数据上的评估依赖倾向得分和识别假设;
  • 最终策略价值最好通过随机实验验证。

七、六周学习计划

周次学习内容最小产出
第 1 周ATE、CATE、倾向得分、重叠性画出曝光概率与共同支撑分布
第 2 周S/T/X-Learner比较三种 CATE 估计结果
第 3 周R/DR-Learner理解并实现残差化与双重稳健估计
第 4 周Causal Forest输出人群异质性和置信区间
第 5 周DML、CausalForestDML比较朴素模型与正交化模型
第 6 周Qini、AUUC、Policy Value形成一套广告定向策略

八、贯穿学习的广告增量项目

项目名称:广告增量定向系统

输入

  • 用户特征;
  • 是否曝光;
  • 是否转化;
  • 收入;
  • 广告成本。

输出

  1. 整体广告增量 ATE;
  2. 不同用户的 CATE;
  3. CATE 分桶后的真实增量;
  4. Qini 与 AUUC;
  5. 预算约束下的目标人群;
  6. 新策略相对全量投放的预期收益;
  7. 下一轮 A/B 实验方案。

工具选择

  • 第一轮使用 CausalML 快速理解 S/T/X-Learner 和 Uplift;
  • 再使用 EconML 学习 DR-Learner、DML 与 CausalForestDML;
  • 不必从头实现所有算法;
  • 建议只手写 T-Learner 和一次残差化过程,以确认真正理解了模型结构。

九、每学一个模型都回答四个问题

  1. 它估计的是 ATE、CATE、ITE 还是 Policy Value?
  2. 它依赖哪些识别假设?
  3. 它比上一个模型改进了什么?
  4. 它的估计结果最终如何验证?
学习主线:不要以“学会多少模型 API”为目标,而要打通“增量估计 → 人群异质性 → 策略价值 → 在线实验验证”的业务闭环。