指标体系设计原则:原子指标与派生指标、业务过程与维度、指标命名规范与口径统一

指标字典搭建,最怕什么?

怕口径对不上,怕同名不同义,怕业务方和开发吵起来。

我做了这么多年数据架构,见过太多团队在指标上栽跟头。说白了,问题根源就一个——设计原则没定死。今天咱们就把这几个核心原则掰开揉碎讲清楚。

原子指标与派生指标:指标的「基因」与「变体」

先问个问题:你觉不觉得,很多指标其实长得像亲戚?

比如「当日订单金额」和「当月订单金额」,本质都是「订单金额」,只是时间范围不同。这就是原子指标和派生指标的关系。

核心定义:

  • 原子指标:不可再拆分的业务度量。比如「支付金额」「下单用户数」。它是指标的「基因」。
  • 派生指标:在原子指标基础上,加上限定条件(维度、业务限定)衍生出来的。比如「2024年Q1北京地区男性用户的支付金额」。

我在项目中遇到过最典型的坑:业务方说「我要看转化率」,结果开发做了个「支付用户数/访问用户数」,业务方却说「不对,我要的是支付用户数/加购用户数」。你看,原子指标没定清楚,派生指标全是扯皮。

类型 定义 示例 是否可复用
原子指标 不可再拆分的业务度量 支付金额、下单用户数 是,全局唯一
派生指标 原子指标 + 维度 + 业务限定 2024年Q1北京地区男性用户的支付金额 按需创建,避免冗余

我的习惯:原子指标用「动词+名词」命名,比如「支付金额」「下单次数」。派生指标在原子指标基础上加前缀或后缀,比如「日支付金额」「月支付金额」。这样一看就知道谁是谁的爹。

业务过程与维度:指标的「骨架」与「血肉」

你想想看,指标不是凭空产生的。它一定依附于某个业务动作。

用户下单,这是一个业务过程。下单发生在哪个渠道?哪个商品?哪个时间?这些就是维度。

我习惯把业务过程比作「骨架」,维度比作「血肉」。骨架决定了指标从哪里来,血肉决定了指标怎么切分。

业务过程三要素:

  • 动作:用户做了什么?(下单、支付、退款)
  • 对象:对什么做的?(商品、订单、优惠券)
  • 结果:产生了什么数据?(金额、数量、状态)

举个例子。业务过程是「用户支付」,那原子指标就是「支付金额」。维度可以是「支付渠道(/支付宝)」「支付时间(小时/天/月)」「用户等级(普通/VIP)」。你看,一个原子指标,配上不同维度,能衍生出几十个派生指标。

我曾经踩过的坑:有个团队把所有指标都放在一张大宽表里,结果维度一多,表膨胀到几百列,查询慢得要死。后来我强制要求:原子指标只关联核心维度,非核心维度用派生表去关联。性能直接翻倍。

为什么会这样?因为维度是有层级的。核心维度(时间、渠道、用户)几乎每个指标都要用,非核心维度(天气、营销活动)只有特定场景才用。混在一起,就是灾难。

指标命名规范与口径统一:别让「同一个指标」变成「两个世界」

我见过最离谱的事:同一个「GMV」,运营部算的是「支付成功金额」,财务部算的是「已到账金额」,差了整整一个「退款」的坑。两个人拿着报表吵架,最后发现口径不一样。

所以,命名规范和口径统一,是指标字典的「宪法」。

命名规范:一看就懂,不用猜

我个人习惯用这套规则:

命名格式:[业务域]_[业务过程]_[原子指标]_[统计周期]_[维度限定]

示例:
- order_pay_amount_daily          —— 订单支付金额(日)
- user_login_count_weekly         —— 用户登录次数(周)
- product_refund_rate_monthly     —— 商品退款率(月)
组成部分 说明 示例值
业务域 所属业务线 order, user, product
业务过程 具体动作 pay, login, refund
原子指标 核心度量 amount, count, rate
统计周期 时间粒度 daily, weekly, monthly
维度限定 可选,特殊场景 channel_wechat, city_beijing

避坑指南:命名里不要用「总」「平均」「占比」这种模糊词。比如「总金额」到底是累计还是当日?改成「累计支付金额」和「当日支付金额」,一目了然。

口径统一:把「潜规则」变成「显规则」

口径不统一,本质是「定义权」没归属。我建议每个指标都要有口径文档,包含:

  • 指标定义:一句话说清楚这个指标算什么。
  • 计算公式:分子分母分别是什么,数据源从哪里取。
  • 排除规则:哪些数据不算?(比如测试订单、内部员工订单)
  • 更新频率:T+1还是实时?

举个例子:

指标名称:order_pay_amount_daily
定义:每日支付成功的订单金额总和
计算公式:SUM(pay_amount) WHERE pay_status = 'success' AND date = 当前日期
排除规则:排除测试订单(order_type = 'test')、退款订单(refund_status != 'full')
数据源:dwd_order_pay_di
更新频率:T+1 凌晨2点

我曾经见过一个团队:口径文档写了100页,但没人看。为什么?因为太长了。后来我改成「一指标一卡片」,每个指标一张卡片,正面是定义和公式,背面是排除规则和数据源。贴在工位上,谁用谁看。效果出奇好。

知识体系总览

下面这张图,把今天讲的核心逻辑串起来了。你可以把它当成指标字典设计的「导航图」。

指标体系设计核心逻辑 业务过程 原子指标 派生指标 维度 命名规范 口径统一 核心原则:原子指标是基因,派生指标是变体;维度是切分视角,命名和口径是统一语言 缺少任何一环,指标字典都会变成「字典打架」