派生指标与衍生指标
在原子指标之上加约束就得到派生指标:统计周期(近 7 天)、业务限定(新客、含退款)、限定维度(按渠道)三者组合,例如“近 7 天新客支付金额”。衍生指标则是多个指标之间的运算结果,例如转化率、客单价、同比环比、占比,由分子分母两个指标相除或相减得到。二者的关键差别是:派生指标仍然是一个可直接汇总的度量,衍生指标是运算结果,分子分母的时间窗与过滤条件必须完全对齐,否则数字无法解释。
基本信息
| 派生指标 | 统计周期 + 业务限定 + 原子指标 |
|---|---|
| 衍生指标 | 多个指标做比率、差值、同比等运算 |
| 对齐要求 | 分子分母的时间窗、过滤条件、维度一致 |
| 落库位置 | 通常在 DWS 汇总层或 ADS 应用层计算沉淀 |
| 口径文档 | 需写明周期、限定词与分母定义 |
典型使用场景
- 把“支付金额”扩展成“近 7 天新客支付金额”,供增长看板使用
- 计算转化率、留存率、客单价等比率型指标并在看板展示
- 同比与环比:用同一派生指标的两个周期相减或相除
- 渠道占比:单个渠道的支付金额除以全部渠道合计
- 指标平台配置:把原子指标与限定词组合成可复用的指标项
衍生指标计算
衍生指标计算
-- 比率型指标:分母必须用 NULLIF 或 CASE 防零
SELECT stat_date,
pay_user_cnt * 1.0 / NULLIF(order_user_cnt, 0) AS pay_rate,
pay_amt / NULLIF(order_user_cnt, 0) AS arpu
FROM ads_user_funnel_1d
WHERE dt = '2026-10-11';
-- 同比:同一派生指标的两个周期直接相减
SELECT cur.stat_date,
cur.pay_amt AS cur_amt, pre.pay_amt AS yoy_amt,
ROUND((cur.pay_amt - pre.pay_amt) / NULLIF(pre.pay_amt, 0), 4) AS yoy_rate
FROM dws_trade_pay_1d cur
LEFT JOIN dws_trade_pay_1d pre ON pre.stat_date = DATE_SUB(cur.stat_date, 364)
WHERE cur.stat_date = '2026-10-11';两类指标对照
| 项 | 派生指标 | 衍生指标 |
|---|---|---|
| 构成 | 周期 + 限定 + 原子指标 | 两个以上指标运算 |
| 示例 | 近 7 天新客支付金额 | 支付转化率、客单价 |
| 可加性 | 视原子指标而定 | 一般不可加 |
| 常见坑 | 限定词与周期写错导致口径漂移 | 分子分母口径或时间窗不一致 |
分母为 0 必须显式处理(NULLIF 或 CASE),否则在凌晨低峰或新渠道上线初期,任务会直接因除零报错而中断。
同比的日期偏移要按业务日历确认:按 364 天对齐同星期与按 365 天对齐日历日期,在跨闰年时结果不同,口径文档里要写死用哪一种。
衍生指标依赖的两个派生指标若分别在不同任务里产出,要保证它们同批次刷新:分子更新、分母未更新时算出的是跨口径的假比率,看板上却看不出来。