MT-AUCC:多 Treatment 场景下的钱效评估指标
一、背景:为什么需要 MT-AUCC
1.1 AUUC 的局限
在 Uplift 模型评估中,AUUC(Area Under Uplift Curve)是最常用的离线指标。它按模型预测的增量效应降序排列样本,计算累计增益曲线与随机线之间的面积。
但 AUUC 有一个根本假设:所有干预的成本相同。
现实营销场景中,这个假设往往不成立:
- 发一张"满 100 减 10"的券,成本 10 元
- 发一张"满 200 减 30"的券,成本 30 元
如果只按增量收益排序,模型可能把"收益高但成本极高"的样本排在前面,导致实际钱效(ROI)很差。
1.2 AUCC 的改进
AUCC(Area Under Cost Curve)解决了单 treatment 下的这个问题:
- X 轴:累计成本增量(不再是人数)
- Y 轴:累计收益增量
- 排序依据:ROI(收益增量 / 成本增量)
这样,曲线高度直接对应"每一块钱花出去能换回多少增量收益"。
1.3 多 Treatment 的新问题
当 treatment 有多个时,常规做法是分别计算每个 treatment 相对 control 的 AUCC,然后取均值或按在线分布加权。
但美团的研究指出,这种做法存在一个关键缺陷:
单个 treatment 内部的 ROI 排序准确,并不保证 treatment 与 treatment 之间的 ROI 排序准确。
举例来说,模型可能知道"用户 A 比用户 B 更适合用小券",但不知道"用户 A 到底该用小券还是大券"。
MT-AUCC 正是为解决这个问题而提出的。
二、算法原理
MT-AUCC(Multi-Treatment Area Under Cost Curve)的核心思想是:
为每个样本选择所有 treatment 中边际 ROI 最高的那个,用这个"最优边际 ROI"作为排序依据。
2.1 排序分数的定义
对于样本 $x$ 和 treatment $t$,定义边际 ROI 为:
$$
\rho(x, t) = \frac{\mathbb{E}[Y(x,t)]}{\mathbb{E}[C(x,t)]}
$$
其中:
- $Y(x,t)$:接受 treatment $t$ 后的收益增量
- $C(x,t)$:对应的成本增量
然后取该样本所有 treatment 中的最大 ROI:
$$
\rho^*(x) = \max_{t \in \mathcal{T}} \rho(x, t)
$$
2.2 曲线绘制步骤
- 按 $\rho^*(x)$ 降序排列所有样本
- 沿排序累计:X 轴为累计成本增量,Y 轴为累计收益增量
- 连接各点得到 MT-AUCC 曲线
- 计算曲线下面积与随机线面积的比值
2.3 相比"两两 AUCC 加权"的优势
| 方法 |
评估目标 |
局限性 |
| 两两 AUCC 加权 |
局部排序能力 |
无法保证全局最优 treatment 选择 |
| MT-AUCC |
全局钱效排序 |
计算稍复杂,需预测成本和收益 |
MT-AUCC 直接评估了"样本应该选哪个 treatment"这一全局决策能力,而不是把多分类问题拆成多个二分类再人为拼凑。
三、计算 Demo
3.1 场景设定
假设有三种干预方式:
| Treatment |
成本 |
说明 |
| A(小券) |
3 元 |
低门槛补贴 |
| B(中券) |
8 元 |
中等补贴 |
| C(大券) |
15 元 |
高门槛补贴 |
模型对 4 个用户预测的收益增量如下:
| 用户 |
A 收益 |
B 收益 |
C 收益 |
| U1 |
6 |
12 |
18 |
| U2 |
2 |
16 |
20 |
| U3 |
5 |
5 |
6 |
| U4 |
12 |
9 |
10 |
3.2 Step 1:计算每个用户的最优 ROI
U1:
- A 的 ROI = $6 / 3 = 2.00$
- B 的 ROI = $12 / 8 = 1.50$
- C 的 ROI = $18 / 15 = 1.20$
- 最优:A,ROI = 2.00
U2:
- A 的 ROI = $2 / 3 = 0.67$
- B 的 ROI = $16 / 8 = 2.00$
- C 的 ROI = $20 / 15 = 1.33$
- 最优:B,ROI = 2.00
U3:
- A 的 ROI = $5 / 3 = 1.67$
- B 的 ROI = $5 / 8 = 0.63$
- C 的 ROI = $6 / 15 = 0.40$
- 最优:A,ROI = 1.67
U4:
- A 的 ROI = $12 / 3 = 4.00$
- B 的 ROI = $9 / 8 = 1.13$
- C 的 ROI = $10 / 15 = 0.67$
- 最优:A,ROI = 4.00
3.3 Step 2:按最优 ROI 降序排列
| 排序 |
用户 |
最优 ROI |
最优 Treatment |
成本 |
收益 |
| 1 |
U4 |
4.00 |
A |
3 |
12 |
| 2 |
U1 |
2.00 |
A |
3 |
6 |
| 3 |
U2 |
2.00 |
B |
8 |
16 |
| 4 |
U3 |
1.67 |
A |
3 |
5 |
3.4 Step 3:累计计算并绘制曲线
| 累计成本 |
累计收益 |
累计 ROI |
| 3(U4) |
12 |
4.00 |
| 6(+U1) |
18 |
3.00 |
| 14(+U2) |
34 |
2.43 |
| 17(+U3) |
39 |
2.29 |
将(累计成本,累计收益)作为坐标点连线,得到 MT-AUCC 曲线。
对曲线积分并归一化,即可得到 MT-AUCC 值:
$$
\text{MT-AUCC} = \frac{\int_{0}^{C_{\max}} G(c) \, dc}{\int_{0}^{C_{\max}} G_{\text{random}}(c) \, dc}
$$
其中 $G(c)$ 为累计收益曲线,$G_{\text{random}}(c)$ 为随机分配基线。
3.5 对比:如果只看单 Treatment AUCC
假设只看 Treatment A 的 AUCC,排序依据是 A 的 ROI:
| 用户 |
A 的 ROI |
| U4 |
4.00 |
| U1 |
2.00 |
| U3 |
1.67 |
| U2 |
0.67 |
这个排序与 MT-AUCC 的前三名一致(U4、U1、U3),但忽略了 U2 在 Treatment B 上有着 2.00 的最优 ROI。
如果业务场景中 B 券是可选的,MT-AUCC 会正确地把 U2 纳入高优先级,而单 treatment AUCC 会漏掉这个机会。
四、关键区别总结
| 维度 |
AUUC |
单 Treatment AUCC |
MT-AUCC |
| 排序依据 |
uplift 分数 |
ROI(单 treatment) |
最优边际 ROI |
| 是否考虑成本 |
否 |
是 |
是 |
| 是否支持多 treatment |
否 |
需分别计算 |
是 |
| 评估目标 |
增量排序质量 |
单臂钱效排序 |
全局钱效排序 |
五、一句话总结
MT-AUCC 的本质是:
用"每个样本在所有可选 treatment 中的最高 ROI"作为排序键,直接评估模型在"选对 treatment + 排对顺序"这两个层面的综合能力。
美团在其营销数据集上的实验显示,DPM(Direct Policy Model)在 MT-AUCC 上达到 0.7860,显著优于两阶段基线方法。
六、实践建议
- 数据要求:需要同时预测收益增量和成本增量,对模型要求更高
- 成本定义:成本不仅包括补贴金额,还应考虑履约成本、运营成本等
- 与在线指标结合:MT-AUCC 是离线指标,最终决策仍需结合在线 A/B 实验
- 敏感性分析:成本预测的误差会直接影响 ROI 排序,建议对成本做敏感性分析