跳到主要内容

指标拆解

问题

指标异动时如何拆解定位原因?面试中常问的指标拆解方法有哪些?

答案

三种拆解方法

方法思路适用场景
公式拆解将指标拆为乘积/加减复合指标(GMV = 用户 × 转化 × 客单价)
维度拆解按维度(渠道/地区/人群)下钻定位哪个子群变了
漏斗拆解按用户路径各步骤转化率问题

公式拆解

将复合指标分解为可独立分析的因子:

GMV = 访客数 × 转化率 × 客单价

收入 = 付费用户数 × ARPU
= DAU × 付费率 × 人均付费金额

留存率 = 第N日回访用户 / 第0日新增用户

示例:GMV 本周下降 10%

维度拆解

按关键维度逐层下钻,定位异常子群:

维度示例
时间哪天/哪小时开始异常
渠道自然流量 vs 付费流量
平台iOS vs Android vs Web
地区哪个城市/省份
用户群新用户 vs 老用户
产品线哪个品类/功能
-- 维度拆解 SQL 示例:按渠道 × 平台定位 GMV 下降
SELECT
channel,
platform,
SUM(CASE WHEN dt = '2024-01-08' THEN gmv END) AS this_week,
SUM(CASE WHEN dt = '2024-01-01' THEN gmv END) AS last_week,
ROUND(
(SUM(CASE WHEN dt = '2024-01-08' THEN gmv END) -
SUM(CASE WHEN dt = '2024-01-01' THEN gmv END)) /
NULLIF(SUM(CASE WHEN dt = '2024-01-01' THEN gmv END), 0) * 100,
1) AS change_pct
FROM daily_metrics
WHERE dt IN ('2024-01-01', '2024-01-08')
GROUP BY channel, platform
ORDER BY change_pct ASC; -- 降幅最大的排前面

漏斗拆解

按用户操作路径拆解,定位流失环节:

如果加购 → 结算的转化率从 53% 降到 40%,重点排查:

  • 结算页是否有 Bug
  • 是否有促销活动结束
  • 配送费/起送条件是否变化

贡献度分析

定位哪个维度值对总体变化贡献最大:

import pandas as pd

# 计算各渠道对 GMV 变化的贡献度
df = pd.DataFrame({
'channel': ['搜索', '推荐', '直播', '广告'],
'last_week': [200, 150, 80, 70],
'this_week': [180, 155, 60, 55]
})

total_change = df['this_week'].sum() - df['last_week'].sum()
df['change'] = df['this_week'] - df['last_week']
df['contribution'] = df['change'] / total_change * 100

print(df[['channel', 'change', 'contribution']])
# 直播贡献 40%,广告贡献 30%,搜索 20%,推荐 -10%

拆解流程


常见面试问题

Q1: DAU 下降了 10%,如何定位原因?

答案(拆解步骤):

  1. 确认数据:排除埋点异常、计算口径变化
  2. 公式拆解:DAU = 新增激活 + 老用户回访
    • 新增下降?→ 查获客渠道、应用商店排名
    • 回访下降?→ 查留存率变化
  3. 维度拆解
    • 平台:iOS 还是 Android?
    • 渠道:自然流量还是付费?
    • 地区:全国还是局部?
    • 版本:新版本是否有 Bug?
  4. 时间定位:具体哪天开始下降?当天有什么变更?
  5. 关联事件:是否发版、运营活动结束、竞品动作?

Q2: 转化率没变但 GMV 下降,可能是什么原因?

答案GMV = 访客 × 转化率 × 客单价

  • 转化率没变 → 排查访客数和客单价
  • 访客下降:渠道投放减少、SEO 排名下降、节假日影响
  • 客单价下降:促销活动(满减/折扣)、低价品类占比上升、凑单门槛降低

Q3: 如何判断指标波动是正常还是异常?

答案

  1. 历史对比:与过去 4 周同期(同一星期几)对比
  2. 统计方法:超出 均值 ± 2σ 视为异常
  3. 环比/同比:周环比波动 > 10% 需关注
  4. 季节性:排除节假日、促销周期的正常波动
  5. 实际业务判断:是否有已知的变更或事件

相关链接