12.2 异动归因

找到出现问题的环节,并分析原因。

流程:

  1. 验真:确定该异动是真实异动,而非虚假异动

  2. 维度拆解:将指标进行多维度拆分,并定位问题所在之处

  3. 从数据原因到业务原因

12.2.1 验真

指标变动是正常的,关键得看变动幅度和持续时间,从而区别出正常变动与异常变动。

绝对变化、相对变化、发生时间与持续时间

首先考虑变动幅度,如果是小幅度变动,那么可能是由随机因素引起,属于正常范畴。

其次,对于突变点(也就是突然大幅度变动后又平稳)则考虑是否数据采集过程中出了问题,例如统计口径变化、数据未及时更新等等。

最后考虑指标的周期性,在特定周期内指标的大幅度变动也可能是正常的,例如十一前后车票销量暴涨。

综合来说,可根据如下方法判断是否是异常变动:

  • 移动平均

  • 3\(\sigma\)法则

  • 环比/同比双重比较,设定阈值

12.2.2 维度拆解

当确定指标异动是真实的之后,应当将指标进行拆解,从而定位问题所在。

将指标分为总体指标与平均指标。

说来惭愧,直到这里,我才想起来本科的时候学过这方面的知识——“指标的因素分解”

12.2.2.1 总数指标

对于总数指标可以考虑加法模型和乘法模型。

  1. 加法模型(分层拆解)

选择合适的分类型变量作为分层标准,看看不同水平对应的核心指标如何变化,例如

\[ \begin{aligned} GMV &= GMV_{新客户}+GMV_{老客户} \\ &= \sum_{i\in 地区} GMV_i \\ &= \sum_{i\in 品类} GMV_i \end{aligned} \]

GMV:商品交易总额

总而言之,尝试着从人/物品/场景三个角度分割核心指标。

  • 新老客户

  • 城市

  • 性别

  • 年龄

物品

  • 商品品类

  • 商品价格带

场景

  • 首页/搜索/广告/活动会场

  • 设备(安卓/苹果/PC端/小程序)

  1. 乘法模型(链路拆解)

从事件的完整性入手,核心指标不是一蹴而就的,而是经过多轮环节之后“沉淀”下来的,例如

\[ GMV = \text{流量} \times \text{加购转化率} \times \text{下单转化率} \times \text{支付转化率} \times \text{客单价} \]

考虑漏斗分析

  1. 加法+乘法模型

形如

\[ GMV = \sum_{i \in 新老用户} {\text{流量}_i \times \text{加购转化率}_i \times \text{下单转化率}_i \times \text{支付转化率}_i \times \text{客单价}_i} \]

12.2.2.2 平均指标与相对指标

  1. 平均指标

对于平均指标考虑除法模型,也就是从指标的定义出发,即

\[ \bar{X} = \frac{\sum{Xf}}{\sum f} \]

\(X\)为水平值(质量指标),\(f/{\sum f}\)为结构值(数量指标)。

因此从水平和结构两个角度出发看看平均指标变动的地方。

例如\(\bar{X}\)表示整体付费率,\(X\)表示不同维度的付费率,\(f\)表示不同维度的用户数,\(\sum{f}\)表示总用户数。则整体付费率即可表示为总付费用户数/总用户数,其中总付费用户数为各个维度的付费用户数之和。

  1. 相对指标

\[ X = \frac{A}{B} \]

相对指标直接由分子和分母处的指标计算得到,相对较为简单。

12.2.3 贡献度分析

当核心指标拆解为多个子指标的组合后,那么又该如何度量子指标对核心指标变动的影响?

不妨记核心指标为\(X\),子指标为\(X_i\),报告期与基期分别以上标1和0表示。

12.2.3.1 加法模型

\[ X = \sum X_i \]

绝对变动:

\[ X^1 - X^0 &= \sum{X_i^1} - \sum{X_i^0}= \sum{(X_i^1 - X_i^0)} \]

相对变动:

\[ \frac{X^1 - X^0}{X^1 - X^0} = 1 = \sum{\frac{(X_i^1 - X_i^0)}{X^1 - X^0}} \]

这里的相对变动指的是子指标的变动对总指标变动的贡献度

12.2.3.2 乘法模型

\[ X=\prod X_i \]

绝对变动:

\[ X^1 - X^0 = \prod{X_i^1} - \prod{X_i^0} \]

以两因素(总体指标能够拆解为两个指标之积)为例,绝对变动可进一步拆分为

\[ X^1 - X^0 = X_1^1 \cdot X_2^1 - X_1^0 \cdot X_2^0 = (X_1^1 \cdot X_2^0 - X_1^0 \cdot X_2^0 ) + (X_1^1 \cdot X_2^1 - X_1^1 \cdot X_2^0) \]

其中称\(X_1\)为数量指标,\(X_2\)为质量指标。根据连环替换法,先将质量指标固定在基期,再逐渐将数量指标替换为报告期。那么\((X_1^1 \cdot X_2^0 - X_1^0 \cdot X_2^0 )\)度量了因数量变动而带来的绝对值变化,\((X_1^1 \cdot X_2^1 - X_1^1 \cdot X_2^0)\)度量了因质量变动带来的绝对值变化。

数量指标和质量指标是一个相对概念而不是绝对概念,习惯上将数量指标写在前面,质量指标写在后面

例如总产值可以分解为工人数、劳动生产率、产品价格三者之积

此时工人数相对于劳动生产率是数量指标,而劳动生产率相对于工人数是质量指标

相对的,劳动生产率是产品价格的数量指标,产品价格是劳动生产率的质量指标

相对变动:

\[ \frac{X^1}{X^0} = \frac{\prod{X_i^1}}{\prod{X_i^0}}=\prod{\frac{X_i^1}{X_i^0}} \] 也就是说总体指标的相对变动可以分解为子指标相对变动之积。

以两因素为例,相对变动可进一步拆分为

\[ \frac{X^1}{X^0} = \frac{X_1^1 \cdot X_2^1}{X_1^0 \cdot X_2^0} = \frac{X_1^1 \cdot X_2^0}{X_1^0 \cdot X_2^0}\cdot \frac{X_1^1 \cdot X_2^1}{X_1^1 \cdot X_2^0} \]

这进一步拆分是为了形式上的统一(基期与报告期),同时也是为后续的加法+乘法模型做铺垫

当然,也可通过取对数将乘法模型转化为加法模型,则

\[ \log{X} = \sum{\log{X_i}} \]

那么可根据加法模型计算子指标变动对总指标的贡献度。

12.2.3.3 乘法+加法模型

事实上加法+乘法模型就涉及到同度量因素报告期基期的概念,可以了解下拉氏指数与帕氏指数

以两因素为例

\[ X = \sum{X_1 \cdot X_2} \]

绝对变动:

\[ X^1-X^0 = (\sum{X_1^1X_2^0}- \sum{X_1^0X_2^0}) + (\sum{X_1^1X_2^1} - \sum{X_1^1X_2^0}) \]

相对变动:

\[ \frac{X^1}{X^0} = \frac{\sum{X_1^1X_2^0}}{\sum{X_1^0X_2^0}}\cdot\frac{\sum{X_1^1X_2^1}}{\sum{X_1^1X_2^0}} \]

12.2.3.4 除法模型

\[ X = \frac{A}{B} \]

绝对变动:

\[ X^1 - X^0 = \frac{A^1}{B^1} - \frac{A^0}{B^0} = (\frac{A^1}{B^0} - \frac{A^0}{B^0}) + (\frac{A^1}{B^1}-\frac{A^1}{B^0}) \]

相对变动:

\[ \frac{X^1}{X^0}=\frac{A^1/B^1}{A^0/B^0} = \frac{A^1/B^0}{A^0/B^0}\cdot \frac{A^1/B^1}{A^1/B^0} \]

12.2.3.5 乘法+加法+除法模型

\[ \bar{X} = \frac{\sum{Xf}}{\sum f} \]

绝对变动:

\[ \bar{X}^1-\bar{X}^0=\frac{\sum{X^1f^1}}{\sum f^1}-\frac{\sum{X^0f^0}}{\sum f^0} = \begin{pmatrix} \frac{\sum{X^0f^1}}{\sum f^1}-\frac{\sum{X^0f^0}}{\sum f^0}\end{pmatrix}+\begin{pmatrix} \frac{\sum{X^1f^1}}{\sum f^1}-\frac{\sum{X^0f^1}}{\sum f^1}\end{pmatrix} \]

\(\bar{X}^*\)\((\sum{X^0f^1})/(\sum f^1)\),则\(\bar{X}^*-\bar{X}^0\)度量了因结构变化导致的绝对值变化,\(\bar{X}^1-\bar{X}^*\)度量了因水平变化导致的绝对值变化。

相对变动:

\[ \frac{\bar{X}^1}{\bar{X}^0} = \frac{\frac{\sum{X^1f^1}}{\sum f^1}}{\frac{\sum{X^0f^0}}{\sum f^0}}=\frac{\frac{\sum{X^0f^1}}{\sum f^1}}{\frac{\sum{X^0f^0}}{\sum f^0}}\cdot\frac{\frac{\sum{X^1f^1}}{\sum f^1}}{\frac{\sum{X^0f^1}}{\sum f^1}} \]

同理,\(\bar{X}^*/\bar{X}^0\)度量了因结构变化导致的相对变化,\(\bar{X}^1/\bar{X}^*\)度量了因水平变化导致的相对变化。

12.2.4 从数据原因到业务原因

当找到异动所在之处,并度量了不同子指标对核心指标的影响时,这就是数据层面造成异动的原因。

那么又是怎样的业务原因会导致这样的数据原因呢?

可以尝试如下方法:

  • 从数据开始发生异动的时间入手,寻找与其可能相关的业务变动

  • 业务原因对不同维度的影响是结构化的,从这种结构化差异寻找可能的业务变动

  • 宏观因素的影响

例如在AI时代,考虑员工工资总额这一指标,其影响因素为员工数与人均工资。在AI时代(宏观因素),企业会加大AI的研发投入,因此在AI部门的招聘人数要明显多于其他部门(结构化差异),同时AI部门的员工的薪资往往高于其他部门,最终导致员工工资总额大幅上升。

12.2.5 案例分析

12.2.5.1 GMV

考虑GMV下降问题。

  1. 验真

    数据变动是否属于正常范围?是否处于周期性变动中?统计口径是否变化?数据是否及时更新?

  2. 维度拆解

\[ GMV = UV \times \text{转化率} \times \text{客单价} \]

  • UV:不同城市(区域)?不同价值层级的用户?新老用户?年龄段?

  • 转化率:哪个环节的转化率下降最多?首页->搜索页->详情页->购物车->提交订单->支付成功

  • 客单价:不同品类?新老客户的优惠力度?

  1. 业务原因
  • 新客户访问量下降,拉新或者流量曝光存在问题?

  • 客单价下降,促销力度是否减小?

  • 订单页转化率下降,是否出现卡顿等因素影响用户支付体验?

12.2.5.2 DAU

  1. 验真

    数据变动是否属于正常范围?是否处于周期性变动中?统计口径是否变化?数据是否及时更新?

  2. 维度拆解

\[ \begin{aligned} DAU &= \text{新用户} + \text{老用户} \end{aligned} \]

对于新用户,可以看看是从哪些渠道注册的,例如城市/广告/第三方渠道 对于老用户,可以看看行为路径,打开->浏览->点击->停留,看看哪个环节有问题

  1. 业务原因
  • 产品迭代:UI调整/入口改版

  • 技术问题:登录失败/页面加载延迟/崩溃率上升

  • 运营因素:活动停止/内容更新少

  • 外部因素:竞品/节日/天气