首页/数据/数仓建模速查/复合指标:多指标运算
指标体系63 条

复合指标:多指标运算

复合指标由多个原子/派生指标按公式计算,如毛利率=(收入-成本)/ 收入;分子分母必须以指标编码引用,不能直接写裸表达式。

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

复合指标怎么建

复合指标由多个已登记的原子或派生指标按公式计算,例如毛利率等于收入减成本再除以收入。关键约束是分子分母必须以指标编码引用,而不是直接写裸字段表达式——这样口径调整时复合指标自动跟随,也不会出现两处算法长期不一致。

基本信息

构成多个已登记指标之间的运算
示例毛利除以收入、人均下单次数
约束分子分母必须引用指标编码
兜底分母为零要用 nullif 或默认值保护
落点指标平台按公式编排,或物化为结果表

典型使用场景

  • 比率类指标:毛利率、转化率、留存率,由两个基础指标相除得到
  • 人均与单均指标:金额除以人数或订单数
  • 差值指标:收入减成本得到毛利额
  • 综合评分:多个指标加权求和得到健康度分数
  • 跨域组合:交易与流量两个域的指标做比,例如客单转化效率

复合指标实现

复合指标实现
-- 复合指标:毛利率等于(收入 - 成本)除以收入,引用指标编码
SELECT
  mi.dt,
  mi.v AS income COMMENT '收入指标值',
  mc.v AS cost COMMENT '成本指标值',
  (mi.v - mc.v) / nullif(mi.v, 0) AS gross_margin
FROM metric_value mi
JOIN metric_value mc
  ON mc.metric_code = 'COST'
 AND mc.dt = mi.dt
 AND mc.dim_key = mi.dim_key
WHERE mi.metric_code = 'INCOME'
  AND mi.dt = '2026-10-11';

两类实现的取舍

实现方式做法适用场景
查询期计算报表查询时按公式实时计算指标不多、口径仍在调整
落库物化调度先产出复合指标结果表指标多、查询量大
混合方式基础指标物化,比率查询期算分子分母口径独立变化时最稳
复合指标不要反过来参与原子指标的聚合:它的可加性由公式决定,比率类不可加,直接上卷会得到没有业务含义的加权结果。
分母为零的处理要在指标定义里明确:取空值、显示为零还是不展示,交给每个报表各自处理就会出现三种口径。

易错点

  • 分母为零未处理:报表出现除零报错或异常大值,被误当成业务暴涨
  • 直接用裸字段计算:绕过指标登记,口径变更后两处算法不一致
  • 对复合指标直接求和上卷:比率相加没有业务含义,汇总值错误
  • 分子分母取自不同粒度的表:结果随关联方式漂移,口径无法复现
  • 公式只写在报表备注里:人员变动后无人知道口径来源

数据来源与参考

  • 指标体系建设方法论:复合指标
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌