订阅更新

数仓原子指标、派生指标和复合指标怎么设计?

面试问 175 约 2 分钟读完

本文目录
  1. 面试怎么回答
  2. 原子指标回答最基础的度量是什么
  3. 派生指标是在原子指标上增加限定
  4. 复合指标表达多个指标之间的关系
  5. 指标模型还要有版本和责任人
  6. 一个典型场景
  7. 参考资料

面试怎么回答

我会把指标拆成三层:原子指标绑定业务过程、度量和基础粒度;派生指标在原子指标上增加时间、范围和业务限定;复合指标按明确公式组合多个兼容指标。落地时还要管理口径版本、依赖血缘、生效时间和负责人,并验证分子分母的粒度与时间语义,避免同名指标背后是不同业务过程。

先把这段讲顺;面试官追问时,再展开下面的原理和细节。

详细讲解

两个报表都叫新增用户,数字却差了十几万。

继续补 SQL 只能暂时对齐,真正缺的是可追溯的指标分层。

指标分层不是换几个名字,而是把业务口径、统计粒度、限定条件和计算依赖拆清楚。


原子指标回答最基础的度量是什么

原子指标通常来自一个明确业务过程和事实表,例如支付订单数、支付金额、登录用户数。它要绑定统计对象、度量字段、聚合方式和基础粒度。原子不等于直接取一个字段,而是尽量不混入时间范围、渠道和人群等可变限定。

派生指标是在原子指标上增加限定

近 7 日支付用户数、海外渠道支付金额、本月新客订单数,都在基础度量上增加了时间周期、业务范围、统计口径或维度限定。设计时应把限定条件结构化,而不是全部埋进指标名称和一段没人敢改的 SQL。

复合指标表达多个指标之间的关系

转化率、客单价、ROI 等通常由两个或多个可复用指标按公式组合。分子和分母必须在时间、过滤范围和统计粒度上兼容。若一个用支付时间、另一个用下单时间,即使公式看起来正确,结果也没有稳定业务含义。

原子、派生、复合指标如何逐层构建

指标模型还要有版本和责任人

指标定义会变化,因此需要记录口径版本、生效时间、依赖指标、数据来源、刷新频率和负责人。历史报表是跟随新口径重算,还是保留当时口径,也要提前约定。只有定义和 SQL,没有上线、验证、变更与下线流程,仍然不是指标治理。

指标可复用还需要治理闭环

一个典型场景

运营把新增用户定义为首次注册,投放团队定义为首次归因,财务又按首次付费计算。三者都叫新增用户,但业务过程完全不同。正确做法不是强行合并成一个数字,而是建立不同原子事实与限定条件,再为具体报表选择对应派生指标并明确名称。

参考资料

  • 延伸阅读:指标设计应与事实表粒度、业务过程和统一语义层一起治理。
刷题进度保存在当前浏览器