Adtributor:把根因归因做成自动化系统
前三篇的归因方法——Delta 法、基尼系数法、剔除法——本质上都依赖分析师手工拆解、逐层下钻。维度一多(渠道 × 地域 × 机型 × 版本),组合迅速爆炸,人工归因既慢又容易遗漏。微软研究院 2014 年在 NSDI 上发表的 Adtributor(Bhagwan et al., Adtributor: Revenue Debugging in Advertising Systems)给出了第一个系统化的多维度根因分析算法:广告收入骤跌时,自动把嫌疑范围收窄到某个维度的某几个元素。论文报告其在微软超大规模广告系统上的定位准确率超过 95%,排障时间缩短一个数量级。
一、Adtributor 是什么
背景:广告收入(或任何核心指标)下跌,原因可能出在任何维度——数据中心故障、某个广告主停投、某类设备上的广告请求失败。传统系统运维的故障定位只盯着基础设施,Adtributor 把"嫌疑对象"扩展到了所有业务维度,这就是它所说的 revenue debugging(收入调试)。
三个核心概念(论文原词):
| 概念 | 含义 | 回答的问题 |
|---|---|---|
| 解释力 Explanatory Power(EP) | 某元素的波动占整体波动的比例 | 它占多大份额? |
| 简洁性 Succinctness | 用尽量少的元素解释够多的波动 | 解释得够不够精炼? |
| 惊奇性 Surprise(S) | 某元素分布的真实值与预测值差异 | 它的变化有多反常? |
EP 大说明"占得多",S 大说明"不正常",两个条件同时满足的元素才是好嫌疑犯——这正是对"贡献度排序"和"基尼系数集中度"两篇手工方法的算法化升级。
二、三步流程
1、数据回收:收集多维时间序列数据(每个维度下每个元素的历史值);
2、异常检测:对指标进行预测,超过阈值点的算做异常——这一步正是第二章 Prophet / ARIMA / 3-sigma 的用武之地,Adtributor 不自己做预测,只消费预测结果;
3、根因分析:采用 Adtributor 算法对各个元素计算 EP 值、S 值,输出根因维度和元素集合。
注意这个分工:预测模型管"有没有异动",归因算法管"异动从哪来",两者是流水线的上下游关系。
三、EP:解释力
3.1 定义
设 F(m_{ij}) 表示 i 维度下 j 因素对应的预测收入,A(m_{ij}) 表示实际收入,F(m)、A(m) 分别表示预测与实际总收入。维度 i 下因素 j 的 EP 定义为:
即该元素的波动量占整体波动量的比例——形式上就是 Delta 法的"预测基线版":基线不是昨天的值,而是预测值,天然剔除了趋势和季节性。
3.2 复算
PPT 的案例:某公司本月预估广告收入 100 万,实际收入 50 万,缺口 50 万。三个维度的数据如下:
表 1 分数据中心收入
| 数据中心 | 预测收入 | 实际收入 | 差异 | EP |
|---|---|---|---|---|
| X | 94 | 47 | -47 | 0.94 |
| Y | 6 | 3 | -3 | 0.06 |
| 总计 | 100 | 50 | -50 | 1.00 |
数据中心 Y 的 EP 值:(3-6)/(50-100) = (-3)/(-50) = 0.06;X 的 EP 为 0.94——两个数据中心都跌了约一半。
表 2 分广告主收入
| 广告主 | 预测收入 | 实际收入 | 差异 | EP |
|---|---|---|---|---|
| A1 | 50 | 24 | -26 | 0.52 |
| A2 | 20 | 21 | +1 | -0.02 |
| A3 | 20 | 4 | -16 | 0.32 |
| A4 | 10 | 1 | -9 | 0.18 |
| 总计 | 100 | 50 | -50 | 1.00 |
表 3 分设备类型收入
| 设备类型 | 预测收入 | 实际收入 | 差异 | EP |
|---|---|---|---|---|
| PC | 50 | 49 | -1 | 0.02 |
| 手机 | 25 | 1 | -24 | 0.48 |
| 平板电脑 | 25 | 0 | -25 | 0.50 |
| 总计 | 100 | 50 | -50 | 1.00 |
三个维度各自的 EP 都能凑出"嫌疑人":数据中心看 X,广告主看 A1/A3,设备看手机/平板。只看 EP 无法分辨哪个维度是真根因——这就需要 S 值登场。
四、S:惊奇性
4.1 计算步骤
a、计算先验概率与后验概率:
b、用 JS 散度计算惊奇性:
其中 0 表示 p、q 之间的分布无差异,数值越大差异越大(以自然对数为底时上界为 \ln 2,以 2 为底时上界为 1)。
直观理解:p 是"这个元素本来应该占多少",q 是"它实际占多少"。元素的占比发生了剧烈的重新分配,说明它的行为偏离了常态。
4.2 例子:设备类型 PC
PC 预估收入为 50,实际收入 49——自身几乎没跌,但先验概率 p = 50/100 = 0.5,后验概率 q = 49/50 = 0.98:占比从一半飙到 98%。JS 散度很大,惊奇性很高。
这个例子揭示了 EP 和 S 的分工:PC 的 EP 只有 0.02(对缺口几乎没贡献),但 S 很高(占比剧变)——它自己没出事,是"别人塌了把它衬高了"。反过来,一个元素可以 EP 很高但 S 很低(比如等比例缩水的数据中心 X:p = q = 0.94,JS 散度为 0,占比纹丝不动)。
4.3 算法输出
Adtributor 的完整决策逻辑:
- 维度内:把元素按 EP 降序排列,从大到小累加,选出累计 EP 达到阈值(minEP)的最小集合——保证解释力足够且足够简洁(succinctness),集合内元素的惊奇性汇总为该维度的 S;
- 维度间:比较各维度的 S,超过阈值(minS)且 S 最大的维度,就是最可能的责任维度;
- 输出:根因维度 + 该维度下的嫌疑元素集合,供排障人员继续下钻。
五、案例收口
对三个维度分别计算 S:
- 数据中心:X 和 Y 的占比都没变(p = q),各元素 JS 散度趋近 0,维度惊奇性低——只是随大盘等比例缩水,自身结构毫无异动;
- 广告主:A2 占比从 0.2 升到 0.42,结构有一定变化,惊奇性中等;
- 设备类型:PC 从 0.5 飙到 0.98,手机、平板从 0.25 崩到 0.02 和 0,占比剧烈重分配,惊奇性最高。
结论:设备类型是根因维度,嫌疑元素为手机(EP 0.48)+ 平板(EP 0.50),两者合计解释了 98% 的收入缺口——移动端的变现链路几乎完全中断,而 PC 端一切正常。接下来该查什么?移动端广告 SDK 故障、广告位改版事故、或移动流量被反作弊系统误杀,范围已经从"整个广告系统"收窄到"移动端变现"一个角落。
六、实战要点
EP 用预测值做基线,是它优于朴素 Delta 法的关键。拿昨日值做基线,遇到周末、节假日、大促,归因会被基线噪声污染;拿预测值做基线,趋势和季节性已在第二章的模型里消化掉了。
S 值本质上是在量"结构重分配",与辛普森悖论一篇的逻辑同源:看每个元素自身的变化会骗人,看占比的迁移才见真相。PC 收入没跌、占比翻倍,恰恰暴露了移动端的塌方。
局限:Adtributor 假设各维度独立候选、一次归因一个根因维度——现实中多个维度可能同时出问题(数据中心故障恰好赶上大客户停投),此时需要多轮归因或人工复核;对 CPC 这类衍生指标(分子分母都波动),论文专门定义了衍生指标的 EP 计算方式,落地时要单独处理;阈值 minEP、minS 需要按业务校准,过松会把噪声当根因,过紧会漏报。
与前面方法的关系:EP ≈ Delta 法(贡献度),S ≈ 基尼系数(结构集中度的另一种度量),"维度内按 EP 选集合、维度间按 S 定维度"的两层结构与"基尼定维度、Delta 定分组"的两级漏斗完全同构——Adtributor 的价值在于把这套流程标准化、自动化,并给出了经得起大规模生产系统验证的阈值工程。
小结
- Adtributor 是微软 2014 年提出的多维根因自动归因算法:数据回收 → 异常检测(复用预测模型)→ 根因分析三步走;
- EP 解释力:元素波动占整体波动的比例,用预测值做基线,等价于"预测基线版的 Delta 法";
- S 惊奇性:先验占比 p 与后验占比 q 的 JS 散度,衡量结构重分配的剧烈程度;
- EP 高 + S 高才是真嫌疑:EP 大说明占份额,S 大说明反常;两者缺一,或是大盘性缩水(EP 高 S 低),或是被动结构变化(EP 低 S 高);
- 维度内按 EP 选最小嫌疑集合,维度间按 S 定根因维度——手工方法的算法化封装,准确率 95%+。
至此,异动归因一章(多维拆解、量化贡献、加法/除法指标归因、辛普森悖论、Adtributor)全部成文。下一篇进入第四章:漏斗分析。
参考资料
- Bhagwan, R., Kumar, R., Ramjee, R., Varghese, G. et al. (2014). Adtributor: Revenue Debugging in Advertising Systems. NSDI 2014.(https://www.usenix.org/system/files/conference/nsdi14/nsdi14-paper-bhagwan.pdf)
- Lin, J. (1991). Divergence Measures Based on the Shannon Entropy. IEEE Transactions on Information Theory, 37(1).(JS 散度原始出处)
- Taylor, S. J. & Letham, B. (2017). Forecasting at Scale. The American Statistician.(上游异常检测的预测基线)
- Sun, Y. et al. (2018). Hotspot: Anomaly Localization for Additive KPIs with Multi-Dimensional Attributes. IEEE Access.(Adtributor 的后续改进,用幂律贡献假设替代 EP)