← 返回 QuantGrowth 首页

Adtributor:用EP和S值把根因归因自动化

数据
数据数据指标

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 定义为:

EP(i,j) = \frac{A(m_{ij}) - F(m_{ij})}{A(m) - F(m)}

该元素的波动量占整体波动量的比例——形式上就是 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、计算先验概率与后验概率

p_{ij} = \frac{F(m_{ij})}{F(m)} \quad (\text{先验:预测占比}), \qquad q_{ij} = \frac{A(m_{ij})}{A(m)} \quad (\text{后验:实际占比})

b、用 JS 散度计算惊奇性

S(i,j) = JS(p_{ij} \| q_{ij}) = \frac{1}{2}KL(p_{ij} \| m) + \frac{1}{2}KL(q_{ij} \| m), \quad m = \frac{p_{ij}+q_{ij}}{2}

其中 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 的完整决策逻辑:

  1. 维度内:把元素按 EP 降序排列,从大到小累加,选出累计 EP 达到阈值(minEP)的最小集合——保证解释力足够且足够简洁(succinctness),集合内元素的惊奇性汇总为该维度的 S;
  2. 维度间:比较各维度的 S,超过阈值(minS)且 S 最大的维度,就是最可能的责任维度;
  3. 输出:根因维度 + 该维度下的嫌疑元素集合,供排障人员继续下钻。

五、案例收口

对三个维度分别计算 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)全部成文。下一篇进入第四章:漏斗分析。

参考资料

  1. 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)
  2. Lin, J. (1991). Divergence Measures Based on the Shannon Entropy. IEEE Transactions on Information Theory, 37(1).(JS 散度原始出处)
  3. Taylor, S. J. & Letham, B. (2017). Forecasting at Scale. The American Statistician.(上游异常检测的预测基线)
  4. Sun, Y. et al. (2018). Hotspot: Anomaly Localization for Additive KPIs with Multi-Dimensional Attributes. IEEE Access.(Adtributor 的后续改进,用幂律贡献假设替代 EP)