一、指标介绍
什么是指标?指标就是用来量化事物的一个工具,帮助我们去将一些抽象的事件得出一个轮廓上的描述。例如我们可以从指标上判断一个产品的好坏,用户粘性等等,例如我们通过日活能去判断出我们整个产品的用户量,从而能反应出我们这个产品的一个健康程度。
那么数据仓库中,建立指标体系
有以下几点核心意义:
- 统一数据口径,消除歧义(各部门对指标定义不统一)
- 支撑业务决策,提升效率(监控业务健康度)
- 优化资源分配,成本控制
- 沉淀数据资产,支持长期分析(数据驱动文化,建立指标看板)
二、指标管理流程
2.1 明确需求(业务驱动)
以业务为驱动,与需求方(如业务部门)进行深入沟通,明确核心问题点(示例:电商场景需关注「订单转化率」「用户留存率」「GMV增长率」),并且划分业务域,整理出各个业务域中主要的业务过程,例如:
- 用户域(注册、活跃、留存)
- 交易域(下单、支付、退款)
- 商品域(库存、销量)
2.2 指标分级设计
采用 分级设计
, 确保指标可复用、易维护:
1)原子指标
- 定义:不可拆分的业务度量(如「订单数」「支付金额」)。
规则:业务过程 + 度量(例如:下单_订单数、下单_订单金额)。
-- 原子指标SQL示例 SELECT SUM(payment_amount) as total_amount FROM dw_order;
2)派生指标
- 定义:原子指标 + 维度 + 统计周期(如「最近7天各省份下单金额」)。
规则:原子指标 + 时间周期 + 筛选条件(多个)。
-- 派生指标SQL示例 SELECT province, SUM(payment_amount) AS last_7d_payment FROM dw_order WHERE order_date >= CURRENT_DATE - 7 GROUP BY province;
3)复合指标
- 定义:多个原子/派生指标计算得出(如「转化率 = 下单用户数 / 访问用户数」)。
规则:公式需明确且可追溯。
-- 复合指标定义(转化率) SELECT ROUND( (COUNT(DISTINCT order_users.user_id) * 100.0) / NULLIF(COUNT(DISTINCT visit_users.user_id), 0), 2 ) AS conversion_rate FROM -- 获取访问用户(分母) (SELECT DISTINCT user_id FROM dwd_page_visit WHERE page_id = '商品详情页' AND visit_date BETWEEN '2023-01-01' AND '2023-01-07') AS visit_users LEFT JOIN -- 获取下单用户(分子) (SELECT DISTINCT user_id FROM dw_order WHERE order_date BETWEEN '2023-01-01' AND '2023-01-07') AS order_users ON visit_users.user_id = order_users.user_id
2.3 指标字典
根据业务域中的不同业务过程,可以整理出如下表的指标字典:
- 类型:指标的类型(
原子指标、派生指标、复合指标
) - 定义描述:指标的详细描述
- 计算公式:明确指标的计算公式
- 数据来源表:直接关联到数据仓库中的表名(如dw_order),复合指标可写多个来源表(用逗号分隔)
- 维度:统计维度
- 统计周期:时间粒度,包括实时、日、周、月、年
- 版本:指标版本
- 备注:指标备注说明
2.4 数据建模开发
数据仓库开发人员基于指标字典,开展数据建模、开发工作,数据建模与数据开发规范在前两节已有介绍,这里就不赘述了。
2.5 迭代优化
指标体系的完善并非一朝一夕可以完成的,需要在数仓建设过程中不断去总结完善,比如部门内可以每月举行Review会议,重点可以针对以下几点来展开:
- 优化指标计算逻辑
- 淘汰低使用率指标
- 合并重复指标
三、总结
建立标准化的指标体系对企业具有战略性价值,能够从数据驱动、管理效率、业务增长
等多个维度带来显著收益,它不仅是技术工程,更是企业数字化转型的"基础设施"。它的核心价值在于将数据从成本中心转化为利润中心
,最终支撑企业完成从"经验驱动"到"数据驱动"的质变。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。