- 机票的成交转化率下降了,怎么分析?
- 航班公司觉得自己的某个航线经营状况不好,怎么分析原因?
- 某个产品的销售量下降了,怎么分析?
- xxx转化率最近在下降,询盘量有点上升,请分析下是什么情况?
- NPS、CPO、CSAT上涨/下降的主要原因是什么?
分析过程
指标异动归因分析的基本流程:
- 明确关注的核心指标,以及对应的业务目标
- 梳理相关的业务流程,明确可拆解的纵向、横向维度
- 纵向分析:对同一指标在不同时间里的发展变化进行分析
- 横向分析:对同一指标在同一时间里进行多维分析
- 纵向分析,定义异动,并发现异动
- 横向分析,拆解维度,定位异动的主要原因,发现业务的可优化点
明确指标、业务目标
明确关注的核心指标,以及对应的业务目标
梳理流程,拆解维度
梳理相关的业务流程,明确可拆解的纵向、横向维度
常见纵向维度
- 时间:日、周、月等
常见横向维度
- 平台/版本
- 某产品列表页到详情页的转化提升
- 猜测是Android版本中优化列表布局方式
- 则应分 IOS 、Android以及Android的新版、老版来对比转化数据,从而进一步验证前述猜测
- 某产品列表页到详情页的转化提升
- 区域/城市
- 用户群体
- 类目
纵向分析,发现异动
按照时间等纵向维度观察指标变化趋势,通过摸底分析定义指标异常波动;结合纵向分析,发现指标的异常波动。
常用异动检测方法:
- 算法:通过对时间序列形式的指标历史数据进行学习建模,预测指标的正常波动区间,超过区间的波动则视为异动。
- Holt-winters算法(三次指数滑动平均算法)
- Prophet算法
- 规则:通过摸底分析,划定指标同环比的正常波动区间,超出区间的同环比波动则视为异动。
- 指标A环比小于30%
- 指标B同比绝对值超过20%
- ……
异动本质
异动的本质在于比较,比较包含以下要点:
- 评估指标:明确比较的业务指标
- 参照对象:界定参照对象的研究群体
- 纵向:同一群体在不同时间里的比较分析
- 时间维度、……
- 横向:同一时间不同群体之间的比较分析
- 空间维度、……
- 纵向:同一群体在不同时间里的比较分析
- 衡量方式:
- 相对比较:参照对象的比值差异
- 绝对比较:参照对象的绝对差值
什么是异常值?
异常值,也称为离群值(outlier),指数据统计中,偏离多数数据样本或不符合现有数据统计规律的数值。一般来说,异常值会明显大于或小于其他数据样本。
- 作用:
- 监控告警
- 数据分析前处理
- 可以使用变化率、距离、密度等指标设定阈值进行监控
横向分析,归因异动
发现指标异常波动后,先排外因,后定内因。
- 排外因:
- 数据统计是否有误
- 产品或策略更新是否存在问题
- 相关政策/规则是否变动
- 大促/营销策略等影响
- ……
- 定内因:拆解维度进行横向分析,结合贡献度(贡献度计算方法见归因方法)等方法,定位异动的主要原因,发现存在的业务问题和可优化点。
- 怎么拆:根据业务类型、业务流程、业务面临的实际问题聚焦,事前与业务同学充分讨论,捕捉业务动作、业务核心关注点灯关键信息。
- 拆多深:异动归因以解决业务问题为原则,定位到业务侧能有比较明确的改善落脚点(业务策略抓手)即可,切勿盲目下钻。
根据指标类型,选择合适的归因方法(贡献度计算方法)。
- 加法指标:目标指标可以拆解为多个维度指标的加和(可加型量值类指标)。适用Delta法。
- DAU = 老客DAU + 新客DAU
- GMV = 老客GMV + 新客GMV
- ……
- 除法指标:目标指标可以拆解为两个量值类指标相除(率值类指标)。适用剔除法、加权占比法(即组内组间拆解法)。
- 点击率(CTR,Click Through Rate) = 点击PV / 曝光PV
- 差评率 = 差评量 / 评价量
- CSAT = 满意问卷量 / 问卷提交量
- ……
- 乘法指标:目标指标可拆解为多个指标的乘积(流程链路类指标)。适用LMDI方法。
归因方法
- 目标指标:$Y$
- 波动类型:
- 绝对波动:$\Delta Y = Y^T - Y^0$
- 相对波动:$\Delta Y \% = \frac{ \Delta Y }{ Y^0 } = \frac{ Y^T - Y^0 }{ Y^0 }$
- 贡献:
- 因子$j$对绝对波动$\Delta Y$的贡献度$C_j$ ,$ \sum_{j=1}^n C_j = 100 \% $
- 因子$j$对绝对波动$\Delta Y$的贡献值$V_j = C_j \cdot \Delta Y$ ,$ \sum_{j=1}^n V_j = \Delta Y $
- 因子$j$对相对波动$\Delta Y \%$的贡献值$RV_j$ ,$ \sum_{j=1}^n RV_j = \Delta Y \% $
其中,$T$指对比期(当期),$0$指基期(上一期)。
- 贡献度:Contribution
- 贡献值:Contribution Value
- 相对的:Relative
维度归因
将指标在同一维度上进行拆解,计算各个因子对指标波动的贡献度,发现影响指标波动的主要原因(因子)。
- 同向影响因子:对目标指标同向变动做出贡献的因子(因素);贡献度为正的因子为同向影响因子
- 反向影响因子:对目标指标反向变动做出贡献的因子(因素);贡献度为负的因子为反向影响因子
加法指标
即Delta法。
目标指标$Y$可拆分成同一个多个因子指标的加和。假设有$n$个因子,同一维度各因子之间满足MECE原则。
- 目标指标:$Y = Y_1 + Y_2 + \cdots + Y_n$
- 波动:
- 绝对波动:
\begin{aligned}
\Delta Y &= Y^T - Y^{0} \\
&= \sum_{j=1}^n Y_j^T - \sum_{j=1}^n Y_j^0 \\
&= \sum_{j=1}^n ( Y_j^T - Y_j^0 ) \\
&= \sum_{j=1}^n \Delta Y_j \\
&= \Delta Y_1 + \Delta Y_2 + \cdots + \Delta Y_n \\
\end{aligned}
$$100 \% = \frac{ \Delta Y}{ \Delta Y } = \sum_{j=1}^n \frac{ \Delta Y_j }{ \Delta Y } = \sum_{j=1}^n \frac{ Y_j^T - Y_j^0 }{ Y^T - Y^0 } $$
- 相对波动:
\begin{aligned}
\Delta Y \% &= \frac{ \Delta Y }{ Y^0 } = \frac{ Y^T - Y^0 }{ Y^0 } \\
&= \frac{ \sum_{j=1}^n Y_j^T - \sum_{j=1}^n Y_j^0 }{ Y^0 } \\
&= \frac{ \sum_{j=1}^n \Delta Y_j }{ Y^0 } = \sum_{j=1}^n \frac{ \Delta Y_j }{ Y^0 } \\
\end{aligned}
- 贡献:
- 因子$j$对绝对波动$\Delta Y$的贡献度
$$C_j = \frac{\Delta Y_j}{\Delta Y} = \frac{Y_j^T - Y_j^0 }{ Y^T - Y^0 }$$ - 因子$j$对相对波动$\Delta Y \%$的贡献值
$$RV_j = \frac{\Delta Y_j}{\Delta Y} \cdot \Delta Y \% = \frac{\Delta Y_j}{ Y^0 } = \frac{Y_j^T - Y_j^0}{ Y^0 }$$
- 因子$j$对绝对波动$\Delta Y$的贡献度
- 若$C_j > 0$,则因子$F_j$是指标$Y$的同向影响因子(同上涨或同下跌)
- 若$C_j < 0$,则因子$F_j$是指标$Y$的反向影响因子(一上涨一下跌)
:chestnut: 以GMV为例:
$$\mathrm{GMV} = 老客\mathrm{GMV} + 新客\mathrm{GMV}$$
除法指标
适用分子分母可分别加和的除法指标。除法指标的变化主要由结构变化、指标值变化共同决定。这类指标主要是比率型指标,比如用户满意度(满意问卷量 / 问卷提交量)、留存率(留存用户数 / 存量用户数)等。
目标指标$Y$可拆分为两个指标相除,且分子分母是可加和的(可以分别拆分成$m$个维度指标加和,各维度之间满足Post not found: 数据分析-MECE原则 MECE原则)。
控制变量法(敏感度分析)
目标指标:
$$Y = \frac{X}{Z} = \frac{ X_1 + X_2 + \cdots + X_n }{ Z_1 + Z_2 + \cdots + Z_n }$$波动:
- 绝对波动:
$$\Delta Y = Y^T - Y^0 = \Delta \frac{X}{Z} = \frac{ X^0 + \Delta X }{ Z^0 + \Delta Z } - \frac{X^0}{ Z^0 }$$
- 绝对波动:
可解释功效(EP,Explanatory Power):用对比期的同一维度值替换基期的维度值,计算绝对波动值
\begin{aligned}
EP_j &= \tilde{Y}^0 - Y^0 \\
&= \frac{X_1^0 + X_2^0 + \cdots + X_{i-1}^0 + X_{i}^T + X_{i+1}^0 + \cdots + X_n^0 }{ Z_1^0 + Z_2^0 + \cdots + Z_{i-1}^0 + Z_j^T + Z_{i+1}^0 + \cdots + Z_n^0 } - \frac{ X^0 }{ Z^0 } \\
&= \frac{ X^0 - X_j^0 + X_j^T }{ Z^0 - Z_j^0 + Z_j^T } - \frac{ X^0 }{ Z^0 } \\
&= \frac{ X^0 - X_j^0 + X_j^T }{ Z^0 - Z_j^0 + Z_j^T } - Y^0 \\
\end{aligned}因子$j$对绝对波动$\Delta Y$的贡献度:
$$C_j = \frac{EP_j}{ \sum_{j=1}^n EP_j } = \frac{ EP_j }{ EP_1 + EP_2 + \cdots + EP_n }$$因子$j$对绝对波动$\Delta Y$的贡献值:
$$V_j = C_j \cdot \Delta Y = \frac{EP_j}{ \sum_{j=1}^n EP_j } \cdot \Delta Y $$
剔除法
相关资料:
- Bhagwan R , Kumar R , Ramjee R , et al. Adtributor: revenue debugging in advertising systems[C]// Networked Systems Design and Implementation. USENIX Association, 2014.
将基期(上一期)、对比期(当期)的同一维度(因子)的数据同时剔除,计算剔除后目标指标的波动,与目标指标的真实波动进行比较,衡量该维度(因子)对目标指标波动变化的贡献。
- 目标指标:
$$Y = \frac{ X }{ Z } = \frac{ X_1 + X_2 + \cdots + X_n }{ Z_1 + Z_2 + \cdots + Z_n}$$ - 波动:
- 「真实」绝对波动:
$$\Delta Y = \Delta \frac{ X }{ Z } = \frac{ X^0 + \Delta X }{ Z^0 + \Delta Z } - \frac{ X^0 }{ Z^0 }$$ - 「剔除因子$j$后」绝对波动:
\begin{aligned}
\Delta \tilde{Y} &= \tilde{Y}^T - \tilde{Y}^0 \\
&= \frac{ X^T - X_j^T }{ Z^T - Z_j^T} - \frac{ X^0 - X_j^0 }{ Z^0 - Z_j^0 }
\end{aligned}
- 「真实」绝对波动:
- 波动差值(剔除法得分):
$$ES_j = (\Delta Y - \Delta\tilde{Y}) \cdot \mathrm{sign} (\Delta Y)$$- 若波动差值$ES_j > 0$,则表示维度(因子)$i$是波动$\Delta Y$的同向影响因子
- 若波动差值$ES_j < 0$,则表示维度(因子)$i$是波动$\Delta Y$的反向影响因子
- 贡献:
- 因子$j$对绝对波动$\Delta Y$的贡献度:
$$C_j = \frac{ES_j}{\sum_{j=1}^n ES_j}\cdot \mathrm{sign} (\Delta Y)$$
- 因子$j$对绝对波动$\Delta Y$的贡献度:
其中,
$$ \mathrm{sign} (x) = \left\lbrace
\begin{array}{ll}
1 &, x > 0 \\
0 &, x = 0 \\
-1 &, x < 0 \\
\end{array}
\right.
$$
目标指标波动 | 波动差值 | 意义 |
---|---|---|
$\Delta Y > 0$ 目标指标上涨 |
$\Delta Y - \Delta\tilde{Y} > 0$ | 剔除维度(因子)$i$后目标指标上涨幅度变小,则维度(因子)$i$对目标指标的上涨是同向贡献。绝对值越大,则同向贡献越大。 |
$\Delta Y - \Delta\tilde{Y} = 0$ | 剔除维度(因子)$i$后目标指标上涨幅度没有变化,则维度(因子)$i$对目标指标的波动没有影响。 | |
$\Delta Y - \Delta\tilde{Y} < 0$ | 剔除维度(因子)$i$后目标指标上涨幅度变大,则维度(因子)$i$对目标指标的上涨是反向贡献。绝对值越大,则反向贡献越大。/td> | |
$\Delta Y < 0$ 目标指标下跌 |
$\Delta Y - \Delta\tilde{Y} > 0$ | 剔除维度(因子)$i$后目标指标下跌幅度变大,则维度(因子)$i$对目标指标的上涨是反向贡献。绝对值越大,则反向贡献越大。 |
$\Delta Y - \Delta\tilde{Y} = 0$ | 剔除维度(因子)$i$后目标指标上涨幅度没有变化,则维度(因子)$i$对目标指标的波动没有影响。 | |
$\Delta Y - \Delta\tilde{Y} < 0$ | 剔除维度(因子)$i$后目标指标下跌幅度变小,则维度(因子)$i$对目标指标的上涨是同向贡献。绝对值越大,则同向贡献越大。/td> | |
加权占比法(组内组间拆解法)
相关资料:
加权占比法同时考虑各维度指标变化的影响(组内)、各维度结构变化的影响(组间)。
组内指标差异:因子$j$指标“变化”相对“不变”对目标指标波动产生的影响
组间结构差异:因子$j$结构占比“变化”相对“不变”对目标指标波动产生的影响
目标指标:
$$Y = \frac{X}{Z} = \frac{ X_1 + X_2 + \cdots + X_n }{ Z_1 + Z_2 + \cdots + Z_n }$$结构占比(分母占比):
- 基期(上一期):
$$w_j^0 = \frac{ Z_j^0 }{ Z^0 }$$ - 对比期(当期):
$$w_j^T = \frac{ Z_j^T }{ Z^T }$$
- 基期(上一期):
贡献:
组内贡献值:
\begin{aligned}
V_j^{ \mathrm{within} } &= 基期结构占比 \times 维度i的指标变化差值 \\
&= w_j^0 \cdot (Y_j^T - Y_j^0) \\
&= w_j^0 \cdot \left( \frac{ X_j^T }{ Z_j^T } - \frac{ X_j^0 }{ Z_j^0 } \right) \\
\end{aligned}组间贡献值:
\begin{aligned}
V_j^{ \mathrm{between} } &= 结构占比变化差值 \times 对比期维度i指标与基期大盘指标差值 \\
&= ( w_j^T - w_j^0 ) \cdot ( Y_j^T - Y^0 ) \\
&= \left( \frac{ Z_j^T }{ Z^T } - \frac{ Z_j^0 }{ Z^0 } \right) \cdot \left( \frac{ X_j^T }{ Z_j^T } - \frac{ X^0 }{ Z^0 } \right) \\
\end{aligned}综合贡献值:
$$V_j = V_j^{ \mathrm{within} } + V_j^{ \mathrm{between} }$$
证明:
\begin{aligned}
\Delta Y \% &= \frac{\Delta Y}{ Y^0 } = \frac{ Y^T - Y^0 }{ Y^0 } \\
&= \frac{ \frac{ \sum_{j=1}^n X_j^T }{ \sum_{j=1}^n Z_j^T } - \frac{ \sum_{j=1}^n X_j^0 }{ \sum_{j=1}^n Z_j^0} }{ Y^0 } \\
&= \frac{ \frac{ \sum_{j=1}^n \frac{ X_j^T }{ Z_j^T } \cdot Z_j^T }{ \sum_{j=1}^n Z_j^T } - \frac{ \sum_{j=1}^n \frac{ X_j^0 }{ Z_j^0 } \cdot Z_j^0 }{ \sum_{j=1}^n Z_j^0 } }{ Y^0 } \\
&= \frac{ \sum_{j=1}^n \left( \frac{ X_j^T }{ Z_j^T } \cdot \frac{ Z_j^T }{ \sum_{j=1}^n Z_j^T } \right) - \sum_{j=1}^n \left( \frac{ X_j^0 }{ Z_j^0 } \cdot \frac{ Z_j^0 }{ \sum_{j=1}^n Z_j^0 } \right) }{ Y^0 } \\
&= \frac{ \sum_{j=1}^n Y_j^T \cdot w_j^T - \sum_{j=1}^n Y_j^0 \cdot w_j^0 }{ Y^0 } \\
&= \frac{ \sum_{j=1}^n Y_j^T \cdot w_j^T - \sum_{j=1}^n Y_j^0 \cdot w_j^0 + \boldsymbol{ \sum_{j=1}^n Y^0 ( w_j^0 - w_j^T ) } }{ Y^0 } \\
&= \frac{ \boldsymbol{ \left( \sum_{j=1}^n Y_j^T \cdot w_j^0 - \sum_{j=1}^n Y_j^T \cdot w_j^0 \right) } + \sum_{j=1}^n Y_j^T \cdot w_j^T - \sum_{j=1}^n Y_j^0 \cdot w_j^0 + \sum_{j=1}^n Y^0 ( w_j^0 - w_j^T ) }{ Y^0 } \\
&= \frac{ \sum_{j=1}^n w_j^0 \cdot ( Y_j^T - Y_j^0 ) + \sum_{j=1}^n ( w_j^T - w_j^0 ) \cdot ( Y_j^T - Y^0 ) }{ Y^0 } \\
&= \sum_{j=1}^n \left( \frac{ w_j^0 \cdot ( Y_j^T - Y_j^0 ) }{ Y^0 } + \frac{ ( w_j^T - w_j^0 ) \cdot ( Y_j^T - Y^0 ) }{ Y^0 } \right) \\
&= \sum_{j=1}^n \left( RV_j^{ \mathrm{ within } } + RV_j^{ \mathrm{ between } } \right) \\
\end{aligned}
因此,
\begin{aligned}
\Delta Y &= \Delta Y \% \cdot Y^0 \\
&= \sum_{j=1}^n \left( w_j^0 \cdot ( Y_j^T - Y_j^0 ) + ( w_j^T - w_j^0 ) \cdot ( Y_j^T - Y^0 ) \right) \\
&= \sum_{j=1}^n \left( V_j^{ \mathrm{ within } } + V_j^{ \mathrm{ between } } \right) \\
\end{aligned}
\begin{aligned}
V_j^{ \mathrm{ within } } &= w_j^0 \cdot ( Y_j^T - Y_j^0 ) \\
\\
V_j^{ \mathrm{ between } } &= ( w_j^T - w_j^0 ) \cdot ( Y_j^T - Y^0 ) \\
\end{aligned}
其中,$\sum_{j=1}^n Y^0 ( w_j^0 - w_j^T ) = Y^0 \cdot (\sum_{j=1}^n w_j^0 - \sum_{j=1}^n w_j^T ) = Y^0 \cdot (1-1) = 0$。
根因定位算法
指标归因
Divisia分解法(乘法指标)
目标指标$Y$受到多个因子的叠加影响。
下面将使用指数分解方法,计算乘法指标中每个因子(维度)对目标指标的波动贡献。
首先对目标指标进行结构拆解(Divisia分解),以考虑到结构化变化对目标指标的影响(可以理解为维度拆解)。
$$ Y = \sum_{i=1}^m Y_i = Y_1 + Y_2 + \cdots + Y_m $$
在每一个子类(sub-category)里,指标$Y_i$又受到$n$个因素的叠加影响。
\begin{aligned}
Y &= \sum_{i=1}^m Y_i = Y_1 + Y_2 + \cdots + Y_m \\
&= \sum_{i=1}^m \sum_{j=1}^n x_{j,i} = \sum_{i=1}^m x_{1,i} \cdot x_{2,i} \cdot \cdots \cdot x_{n,i} \\
\end{aligned}
将分解的各个因子(因素)看成是时间$t$的连续可微函数,对时间$t$进行微分,分解出各个因子(因素)对目标指标的影响。
为了便于理解,假设基期为时间$0$,对比期(当期)为时间$T$。
加法分解:将目标指标的波动$\Delta$分解到各个因子上
\begin{aligned}
\Delta Y_{tot} &= Y^T - Y^{0} \\
&= \sum_{j=1}^n \Delta Y_{x_j} \\
&= \Delta Y_{x_1} + \Delta Y_{x_2} + \cdots + \Delta Y_{x_n} \\
\end{aligned}乘法分解:将目标指标的变化倍数$RATIO$分解到各个因子上
\begin{aligned}
D_{tot} &= \frac{Y^T}{ Y^{0} } \\
&= \prod_{j=1}^n D_{x_j} \\
&= D_{x_1} \cdot D_{x_2} \cdot \cdots \cdot D_{x_n} \\
\end{aligned}
s其中,$tot$表示“total”,结构性变化、所有因子对目标指标的综合影响。
首先,目标指标$Y$对时间$t$进行微分:
\begin{equation}
\begin{aligned}
\frac{ \mathrm{d} Y^t }{ \mathrm{d} t } &= \frac{ \mathrm{d} \sum_{i=1}^m \sum_{j=1}^n x_{j,i} }{ \mathrm{d} t } \\
&= \sum_{j=1}^n \sum_{i=1}^m x_{1,i}^t x_{2,i}^t \cdots x_{j-1, i}^t x_{j+1, i}^t \cdots x_{n, i}^t \frac{ \mathrm{d} x_{j,i}^t }{ \mathrm{d} t } \\
&= \sum_{j=1}^n \sum_{i=1}^m \frac{ Y_i^t }{ x_{j,i}^t } \frac{ \mathrm{d} x_{j,i}^t }{ \mathrm{d} t } \\
&= \sum_{j=1}^n \sum_{i=1}^m Y_i^t \frac{ \mathrm{d} \ln x_{j,i}^t }{ \mathrm{d} t } \\
\end{aligned}
\end{equation}
上式等号两边同时对时间$t$进行积分:
\begin{aligned}
\int_0^T \frac{ \mathrm{d} Y^t }{ \mathrm{d} t } &= Y^T - Y^0 = \Delta Y_{tot} \\
&= \sum_{j=1}^n \int_0^T \sum_{i=1}^m Y_i^t \frac{ \mathrm{d} \ln x_{j,i}^t }{ \mathrm{d} t } \\
\end{aligned}
由指数分解加法形式$\Delta Y_{tot} = \sum_{j=1}^n \Delta Y_{x_j}$可得
$$\Delta Y_{x_j} = \int_0^T \sum_{i=1}^m Y_i^t \frac{ \mathrm{d} \ln x_{j,i}^t }{ \mathrm{d} t } $$上式等号两边同时除以$Y^t$,并对时间$t$进行积分:
\begin{aligned}
\int_0^T \frac{1}{ Y^t } \frac{ \mathrm{d} Y^t }{ \mathrm{d} t } &= \int_0^T \frac{ \mathrm{d} \ln Y^t }{ \mathrm{d} t } \\
&= \ln Y^T - \ln Y^0 = \ln \left( \frac{ Y^T }{ Y^0 } \right) \\
&= \sum_{j=1}^n \int_0^T \sum_{i=1}^m \omega_i^t \frac{ \mathrm{d} \ln x_{j,i}^t }{ \mathrm{d} t }
\end{aligned}
等式两边取指数$\mathrm{exp}$,可得
\begin{aligned}
D_{tot} &= \prod_{j=1}^n D_{x_j} \\
&= \mathrm{exp} \left( \sum_{j=1}^n \int_0^T \sum_{i=1}^m \omega_i^t \frac{ \mathrm{d} \ln x_{j,i}^t }{ \mathrm{d} t } \right) \\
&= \prod_{j=1}^n \mathrm{exp} \left( \int_0^T \sum_{i=1}^m \omega_i^t \frac{ \mathrm{d} \ln x_{j,i}^t }{ \mathrm{d} t } \right) \\
\end{aligned}
由乘法分解形式$D_{tot} = \prod_{j=1}^n D_{x_j}$可得
$$D_{x_j} = \mathrm{exp} \left( \int_0^T \sum_{i=1}^m \omega_i^t \frac{ \mathrm{d} \ln x_{j,i}^t }{ \mathrm{d} t } \right)$$
Divisia分解后的公式,计算比较困难,通常采用近似计算。近似方法不同,则产生不同的分解结果。
AMDI方法
算术平均迪氏指数法(AMDI,Arithmetic Mean Divisia Index):
- 加法分解形式:
\begin{aligned}
\Delta Y_{x_j} &= \int_0^T \sum_{i=1}^m Y_i^t \frac{ \mathrm{d} \ln x_{j,i}^t }{ \mathrm{d} t } \\
&= \sum_{i=1}^m \frac{Y_i^0 + Y_i^T }{2} \ln \left( \frac{x_{j,i}^T }{ x_{j,i}^0 } \right) \\
\end{aligned} - 乘法分解形式:
\begin{aligned}
D_{x_j} &= \mathrm{exp} \left( \int_0^T \sum_{i=1}^m \omega_i^t \frac{ \mathrm{d} \ln x_{j,i}^t }{ \mathrm{d} t } \right) \\
&= \mathrm{exp} \left\lbrace \sum_{i=1}^m \frac{\omega_i^0 + \omega_i^T }{2} \left( \frac{x_{j,i}^T }{ x_{j,i}^0 } \right) \right\rbrace \\
\end{aligned}
LMDI方法
对数平均迪氏指数法(LMDI,Log Mean Divisia Index):AMDI分解法存在残值问题,Ang等研究提出LMDI方法,改进AMDI的残值问题。
相关资料:
- Ang, Beng. (2005). The LMDI Approach to Decomposition Analysis: A Practical Guide. Energy Policy. 33. 867-871. 10.1016/j.enpol.2003.10.010.
- Ang, B.W. (2015). LMDI decomposition approach: A guide for implementation. Energy Policy, 86, 233-238.
- Xiang, X.; Ma, X.; Ma, Z.; Ma, M.; Cai, W. Python-LMDI: A Tool for Index Decomposition Analysis of Building Carbon Emissions. Buildings 2022, 12, 83. https://doi.org/10.3390/buildings12010083 pdf download
- Python Package: PyLMDI
- Ang, B.W., Zhang, F., & Choi, K. (1998). Factorizing changes in energy and environmental indicators through decomposition. Energy, 23, 489-495.
- 加法分解形式:将目标指标的波动$\Delta$分解到各个因子上
\begin{aligned}
\Delta Y_{tot} &= Y^T - Y^{0} \\
&= \sum_{j=1}^n \Delta Y_{x_j} \\
&= \Delta Y_{x_1} + \Delta Y_{x_2} + \cdots + \Delta Y_{x_n} \\
&= \sum_{j=1}^n \sum_{i=1}^m L(Y_i^T, Y_i^0) \ln \left( \frac{x_{j,i}^T }{ x_{j,i}^0 } \right) \\
&= \sum_{j=1}^n \sum_{i=1}^m \frac{ Y_i^T - Y_i^0 }{ \ln Y_i^T - \ln Y_i^0 } \ln \left( \frac{x_{j,i}^T }{ x_{j,i}^0 } \right) \\
\end{aligned}
\begin{aligned}
\Delta Y_{x_j} &= \int_0^T \sum_{i=1}^m Y_i^t \frac{ \mathrm{d} \ln x_{j,i}^t }{ \mathrm{d} t } \\
&= \sum_{i=1}^m L(Y_i^T, Y_i^0) \ln \left( \frac{x_{j,i}^T }{ x_{j,i}^0 } \right) \\
&= \sum_{i=1}^m \frac{ Y_i^T - Y_i^0 }{ \ln Y_i^T - \ln Y_i^0 } \ln \left( \frac{x_{j,i}^T }{ x_{j,i}^0 } \right) \\
&= \sum_{i=1}^m (Y_i^T - Y_i^0) \frac{ \ln \left( \frac{x_{j,i}^T }{ x_{j,i}^0 } \right) }{ \ln \left( \frac{Y_i^T }{Y_i^0} \right) } \\
\end{aligned}
- 乘法分解形式:将目标指标的变化倍数$RATIO=\frac{ Y^T }{ Y^0 }$分解到各个因子上
\begin{aligned}
D_{tot} &= \frac{Y^T}{ Y^{0} } \\
&= \prod_{j=1}^n D_{x_j} \\
&= D_{x_1} \cdot D_{x_2} \cdot \cdots \cdot D_{x_n} \\
&= \prod_{j=1}^n \mathrm{exp} \left( \sum_{i=1}^m \frac{ L(Y_i^T, Y_i^0) }{ L(Y^T, Y^0) } \ln \left( \frac{ x_{j,i}^T }{ x_{j,i}^0 } \right) \right) \\
&= \prod_{j=1}^n \mathrm{exp} \left( \sum_{i=1}^m \frac{ Y_i^T - Y_i^0 }{ \ln Y_i^T - \ln Y_i^0 } / \frac{ Y^T - Y^0 }{ \ln Y^T - \ln Y^0 } \times \ln \left( \frac{ x_{j,i}^T }{ x_{j,i}^0 } \right) \right) \\
\end{aligned}
\begin{aligned}
D_{x_j} &= \mathrm{exp} \left( \int_0^T \sum_{i=1}^m \omega_i^t \frac{ \mathrm{d} \ln x_{j,i}^t }{ \mathrm{d} t } \right) \\
&= \mathrm{exp} \left( \sum_{i=1}^m \frac{ L(Y_i^T, Y_i^0) }{ L(Y^T, Y^0) } \ln \left( \frac{x_{j,i}^T }{ x_{j,i}^0 } \right) \right) \\
&= \mathrm{exp} \left( \sum_{i=1}^m \frac{ Y_i^T - Y_i^0 }{ \ln Y_i^T - \ln Y_i^0 } / \frac{ Y^T - Y^0 }{ \ln Y^T - \ln Y^0 } \times \ln \left( \frac{ x_{j,i}^T }{ x_{j,i}^0 } \right) \right) \\
\end{aligned}
其中,
- 波动差值:
- $\Delta = \Delta Y_{tot} = Y^T - Y^0$
- $\Delta_j = \Delta Y_{x_j} = $
- 波动倍数:
- $D_{tot} = \frac{ Y^T }{ Y^0 }$
- $D_{x_j} = $
- 对数平均函数:
$$
L(a, b) = \left\lbrace
\begin{array}{ll}
\frac{a-b}{\ln a - \ln b} & , a \neq b \\
a & , a = b
\end{array}
\right.
$$
LMDI加法分解形式简单证明:目标指标简单形式$Y = \prod_{j=1}^n x_j$
证明(方法一):
\begin{aligned}
\Delta Y \% &= \frac{ Y^T - Y^0 }{ Y^0 } \\
&= \frac{ (Y^T - Y^0) \cdot \ln\left(\frac{ Y^T }{ Y^0 }\right) }{ Y^0 \cdot \ln\left(\frac{ Y^T }{ Y^0 }\right) } \\
&= \frac{ (Y^T - Y^0) \cdot \ln\left( \prod_{j=1}^n \frac{ x_j^T }{ x_j^0 } \right) }{ Y^0 \cdot \ln\left(\frac{ Y^T }{ Y^0 }\right) } \\
&= \frac{ (Y^T - Y^0) \cdot \sum_{j=1}^n \ln\left( \frac{ x_j^T }{ x_j^0 } \right) }{ Y^0 \cdot \ln\left(\frac{ Y^T }{ Y^0 }\right) } \\
&= \sum_{j=1}^n \frac{ Y^T - Y^0 }{ \ln Y^T - \ln Y^0 } \cdot \frac{ \ln\left( \frac{ x_j^T }{ x_j^0 } \right) }{ Y^0 } \\
\end{aligned}
则
- 因子$j$对相对波动$\Delta Y \%$的贡献值为
$$RV_j = \frac{ Y^T - Y^0 }{ \ln Y^T - \ln Y^0 } \cdot \frac{ \ln\left( \frac{ x_j^T }{ x_j^0 } \right) }{ Y^0 }$$ - 因子$j$对绝对波动$\Delta Y$的贡献度为
$$C_j = RV_j \cdot \frac{ Y^0 }{ \Delta Y } = \frac{ \ln x_j^T - \ln x_j^0 }{ \ln Y^T - \ln Y^0 }$$
证明(方法二):
对式$Y = \prod_{j=1}^n x_j$两端取对数,可得
$$\ln Y = \ln \left( \prod_{j=1}^n x_j \right) = \sum_{j=1}^n \ln x_j$$
令$Z = \ln Y$且$Z_j = \ln x_j$,则有
\begin{aligned}
Z &= Z_1 + Z_2 + \cdots + Z_n \\
\\
\Delta Z &= Z^T - Z^0 = \ln Y^T - \ln Y^0 \\
&= \sum_{j=1}^n \ln x_j^T - \sum_{j=1}^n \ln x_j^0 \\
&= \sum_{j=1}^n ( \ln x_j^T - \ln x_j^0 ) \\
\\
\Delta Z_j &= \Delta \ln x_j = \ln x_j^T - \ln x_j^0 \\
\end{aligned}
则
- 因子$j$对绝对波动$\Delta Y$的贡献度为
$$C_j = \frac{ \Delta Z_j }{ \Delta Z } = \frac{ \ln x_j^T - \ln x_j^0 }{ \ln Y^T - \ln Y^0 }$$
非乘法指标
例子
转化率与询盘量异常
xxx转化率最近在下降,询盘量有点上升,请分析下是什么情况?——来自数据异常波动,应该如何分析?
- 对数据波动进行界定
- 去除周期性、季节性后,判断数据波动是否为异常(对比前后一段时间内的变化情况
- 确定异常发生的维度(主要从时间维度来看)
- 波动的程度
- 是否需要深入分析
- 拆解指标
- 根据指标计算逻辑来拆
graph TD; 询盘量转化率-->询盘量; 询盘量转化率-->会话量; 询盘量-----会话量; 会话量-->弹出会话量; 会话量-->非弹出会话量; 弹出会话量-----非弹出会话量;
- 根据相关维度来拆
- 访问渠道:直接访问、自然搜索、付费搜索、…
- 着陆页:着陆页1、着陆页2、着陆页3、…
- 国家:国家1、国家2、国家3、…
- 从产品、运营、技术及用户四个角度来考虑原因
- 产品:新版本上线(新功能、功能变更)、替代产品出现、…
- 运营:促销活动、价格战减少、…
- 技术:服务器瘫痪、系统故障、接口不稳定、…
- 用户:用户成长、节假日、淡旺季、…
- 根据指标计算逻辑来拆
- 用数据来验证假设
- 提出切实可执行的方法——要落地到业务和产品上的具体建议,确保方案可执行,效果可评估
如何分析次日留存率下降的问题
- 从用户画像、渠道、产品、行为环节等角度细分,明确是哪里的次日留存率下降了
- 指标拆解
$$次日留存率=\sum\frac{次日留存数}{今日获客人数}$$ - 原因分析
- 内部
- 运营活动
- 产品变动
- 技术故障
- 设计漏洞
- 外部
- 竞品
- 用户偏好
- 节假日
- 社会事件(如舆论事件等)