指标口径定义:原子指标、派生指标、计算逻辑、时点/时段口径的规范模板
指标口径是整个度量体系的“语言标准”。口径不一致,数据就会“对不上”。本章聚焦四个核心概念:原子指标、派生指标、计算逻辑以及时点/时段口径,并给出可直接复用的规范模板。
1. 原子指标 vs 派生指标
| 维度 | 原子指标 | 派生指标 |
|---|---|---|
| 定义 | 不可再拆分的业务度量单元,直接来自业务事实 | 基于原子指标,经过维度限定、时间切片或运算后得到 |
| 示例 | 支付金额、订单数、用户数 | 近7日支付金额、男性用户支付金额、支付金额同比 |
| 存储粒度 | 单笔交易、单个事件,无聚合逻辑 | 通常需要聚合(求和/平均/计数) |
| 复用性 | 高,作为原子资产进入指标库 | 按业务场景灵活组装,与维度组合 |
| 口径变更影响 | 全局级,需统一变更 | 仅影响该派生指标,可独立调整 |
💡 命名约定:原子指标建议使用“事实表名称_字段名称”格式(如
order_amount),派生指标采用“时间范围_维度限定_原子指标”格式(如 d7_all_order_amount)。
2. 计算逻辑规范
计算逻辑必须明确:对原子指标使用何种聚合函数(SUM、AVG、COUNT、MAX、MIN),以及是否涉及去重、条件过滤、加权等。
- 简单派生:原子指标直接聚合 →
SUM(pay_amount) - 条件派生:增加 WHERE 子句 →
SUM(pay_amount) WHERE gender = 'male' - 比率派生:两个派生指标相除 →
d7_male_pay_amount / d7_all_pay_amount - 时间偏移派生:与历史同期比较 →
当前值 / 去年同期值 - 1
-- 示例:近7日男性用户支付金额
SELECT product_category,
SUM(pay_amount) AS d7_male_pay_amount
FROM order_fact
WHERE gender = 'male'
AND pay_date BETWEEN CURRENT_DATE - INTERVAL '7 DAY' AND CURRENT_DATE - INTERVAL '1 DAY'
GROUP BY product_category;
⚠️ 常见陷阱:① 聚合前未做去重导致重复计算;② 比率派生分母为零未处理;③ 时间窗口边界不一致(是否包含当日、是否基于自然日/业务日)。
3. 时点口径 vs 时段口径
| 口径类型 | 含义 | 典型场景 | SQL示例 |
|---|---|---|---|
| 时点口径 | 在某一精确时刻或日期快照的数值 | 库存量、账户余额、活跃用户数(当日) | SELECT stock_qty FROM inventory_snapshot WHERE snapshot_date = '2025-03-01' |
| 时段口径 | 在某个时间区间内的累积/平均/最值 | 近7日交易额、周活跃用户、月累计新增 | SELECT SUM(amount) FROM orders WHERE order_date BETWEEN '2025-02-23' AND '2025-03-01' |
4. 口径定义规范模板(完整填写示例)
模板字段:指标名称 / 指标编码 / 所属主题域 / 原子指标引用 / 派生逻辑 / 时间口径(时点/时段) / 维度限定 / 计算函数 / 更新频率 / 数据源表
指标名称:近7日男性用户支付金额
指标编码:D7_MALE_PAY_AMOUNT
所属主题域:交易域
原子指标引用:pay_amount (order_fact)
派生逻辑:按product_category分组,对pay_amount求和
时间口径:时段(近7天,不含当日)
维度限定:gender = 'male'
计算函数:SUM
更新频率:每日凌晨计算
数据源表:ods.order_fact
5. 指标口径层级关系图(原子→派生→计算→时点/时段)
6. 实战要点与避坑
- 原子指标只增不改:一旦发布,禁止修改业务含义;如需调整,申请新版本并废弃旧版本。
- 派生指标必须登记父指标编码:便于血缘追溯。
- 时点口径要求准确快照:通常使用拉链表或 T+1 全量快照,不要用时序聚合替代。
- 时段口径必须明确窗口定义:“近7日”是指包含当日还是近7个自然日?是否跨月?需统一到业务日历。
- 每个派生指标只能有唯一计算逻辑:不允许同一个指标名称在两张表中用不同聚合方式。
📐 推荐工具:在指标管理平台中建立“口径定义字典”,每个指标包含上述模板的所有字段,并支持版本发布、审批流和血缘图。未标准化的口径一律不允许进入指标看板。
🚨 团队协作警告:不同业务方对“用户数”可能有完全不同的口径(去重 vs 非去重、活跃 vs 注册)。必须在一开始就按本文模板统一登记,并每周抽查口径一致率。