首页/数据/数仓建模速查/比率指标的存储与计算
指标体系63 条

比率指标的存储与计算

比率指标永远存分子与分母:展示时相除;否则无法支持任意维度下钻与重新聚合。

数仓建模速查数据更新于 2026-10-13

比率指标的存储与计算

比率指标的存储与计算指比率永远只存分子与分母,展示时再相除。原因很直接:比率是不可加度量,任何维度下钻或重新聚合都必须回到分子分母重算,只存比率值会导致下钻时无法计算。分母为零必须兜底(nullif 或 case),否则除零直接报错;分子与分母各自的定义与来源要单独登记,避免出现「谁在前谁在后」的口径争议。

基本信息

存储方式分子与分母分列存储
展示方式相除计算,通常再乘 100 转百分比
下钻方式分子分母各自聚合后再相除
零分母处理nullif 或 case,返回空值而不是报错
登记要求分子分母口径、来源表与统计口径分别登记

典型使用场景

  • 支付转化率:支付订单数除以提交订单数,下钻到渠道时要重算
  • 毛利率:毛利除以收入,跨品类汇总不能对已算好的比率平均
  • 人均指标:金额除以人数,分母为单位数时下钻会变
  • 达成率:实际值除以目标值,目标口径需随维度变化
  • 不良率:问题单数除以总单数,分母必须与分子同源同窗口
  • 指标平台实现:所有比率型指标统一按分子分母存储,屏蔽错误用法

比率下钻

比率下钻
-- 分子分母分列存,下钻时各自聚合再相除
SELECT region,
       sum(pay_cnt) AS num,                                  -- 分子
       sum(ord_cnt) AS den,                                  -- 分母
       sum(pay_cnt) / nullif(sum(ord_cnt), 0) AS pay_rate    -- 相除,零分母返回空
FROM   dws_order_day
WHERE  dt = '2026-10-12'
GROUP  BY region;

-- 错误做法:对已算好的比率求平均,忽略各分组规模权重
-- SELECT avg(pay_rate) FROM dws_order_day WHERE dt = '2026-10-12';

常见比率的分子分母

指标分子分母
支付转化率支付订单数提交订单数
客单价支付金额支付订单数
毛利率毛利收入
退款率退款订单数成交订单数
人均浏览量浏览量去重访客数
分子分母要各自登记口径与来源,最典型的分歧是分子取成功支付、分母取全部订单,还是两边都取有效订单。差别看起来不大,但会让两个团队的同一个指标长期差几个百分点,而且谁也说不清谁对——因为口径从未写下来。

易错点

  • 只存比率值:下钻到新维度时无法重算,只能回明细重做一遍
  • 对已算好的比率求平均:忽略各分组规模权重,整体指标系统性偏移
  • 分母为零未兜底:批量任务在除零处直接报错中断
  • 分子分母不同源不同窗口:比率可能超过 100%,业务方无法解读
  • 比率先四舍五入再汇总:尾差按规模放大,大额对账时暴露

数据来源与参考

  • 指标实践:比率型指标
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌