数据仓库中的指标体系模型介绍
数据仓库中的指标体系介绍
文章目录
- 数据仓库中的指标体系介绍
- 前言
- 什么是指标体系
- 指标体系设计有哪些模型?
- 1. 指标分层模型
- 2. 维度模型
- 3. 指标树模型
- 4. KPI(关键绩效指标)模型
- 5. 主题域模型
- 6.平衡计分卡(BSC)模型
- 7.数据指标框架模型(Metrics Framework)
- 8.时间序列模型
- 9.分层分级指标模型
- 10. Objective-Strategy-Metrics(OSM)模型
- 11. UJM 模型(User Journey Metrics 模型)
- 总结
前言
数据仓库的指标体系(或指标体系设计)通常属于 数据建模阶段 的一部分。具体来说,它属于数据仓库构建的以下步骤:
需求分析阶段–>指标体系设计–>数据建模阶段–>数据加载与计算–>数据展示与分析
什么是指标体系
指标体系设计有哪些模型?
我基于 Oracle 11g 数据库中 SCOTT 用户 的表(如 EMP、DEPT、SALGRADE 等),针对每种指标体系拆解模型举的具体实例:
1. 指标分层模型
应用场景: 构建企业组织中的分层指标体系。
案例:
战略层: 提升公司总薪资水平(如平均薪资增长 10%)。
战术层: 按部门分析各部门平均薪资的增长(DEPT 表中的部门)。
运营层: 按员工分析个人薪资的增长(EMP 表中的员工薪资)
-- 查询战略层(全公司平均薪资)
SELECT AVG(SAL) AS AVG_SAL FROM EMP;
-- 查询战术层(按部门分层)
SELECT DNAME, AVG(SAL) AS AVG_SAL FROM EMP E JOIN DEPT D ON E.DEPTNO = D.DEPTNO GROUP BY DNAME;
-- 查询运营层(每位员工的薪资)
SELECT EMPNO, ENAME, SAL FROM EMP;
2. 维度模型
应用场景: 通过事实表和维度表分析员工薪资。
案例:
事实表: EMP 表中的薪资(SAL)。
维度表:
部门维度:DEPT 表(部门编号、部门名称、部门位置)。
时间维度:假设有 HIREDATE(入职时间)。
-- 部门维度分析:按部门统计薪资总和
SELECT D.DNAME, SUM(E.SAL) AS TOTAL_SAL
FROM EMP E
JOIN DEPT D ON E.DEPTNO = D.DEPTNO
GROUP BY D.DNAME;
-- 时间维度分析:按年份统计薪资总和
SELECT TO_CHAR(HIREDATE, 'YYYY') AS YEAR, SUM(SAL) AS TOTAL_SAL
FROM EMP
GROUP BY TO_CHAR(HIREDATE, 'YYYY');
3. 指标树模型
应用场景: 分解总薪资指标。
案例:
顶层指标: 全公司薪资总额。
中间层: 部门薪资总额。
底层指标: 员工个人薪资。
-- 顶层指标
SELECT SUM(SAL) AS TOTAL_SAL FROM EMP;
-- 中间层指标
SELECT DNAME, SUM(SAL) AS DEPT_TOTAL_SAL
FROM EMP E JOIN DEPT D ON E.DEPTNO = D.DEPTNO
GROUP BY DNAME;
-- 底层指标
SELECT EMPNO, ENAME, SAL FROM EMP;
4. KPI(关键绩效指标)模型
应用场景: 绩效考核中使用的核心指标。
案例:
目标: 提升员工工作效率。
KPI:
员工平均薪资。
工资高于 3000 的员工占比。
-- KPI 1: 员工平均薪资
SELECT AVG(SAL) AS AVG_SAL FROM EMP;
-- KPI 2: 工资高于 3000 的员工占比
SELECT ROUND(COUNT(CASE WHEN SAL > 3000 THEN 1 END) * 100 / COUNT(*), 2) AS PERCENTAGE
FROM EMP;
5. 主题域模型
应用场景: 按主题域分类管理指标。
案例:
薪资域: 薪资总额、平均薪资。
部门域: 每个部门的员工人数、部门平均薪资。
时间域: 员工入职年份分布。
-- 薪资域:总薪资、平均薪资
SELECT SUM(SAL) AS TOTAL_SAL, AVG(SAL) AS AVG_SAL FROM EMP;
-- 部门域:每部门员工人数和平均薪资
SELECT DNAME, COUNT(*) AS EMP_COUNT, AVG(SAL) AS AVG_SAL
FROM EMP E JOIN DEPT D ON E.DEPTNO = D.DEPTNO
GROUP BY DNAME;
-- 时间域:按入职年份统计员工人数
SELECT TO_CHAR(HIREDATE, 'YYYY') AS YEAR, COUNT(*) AS EMP_COUNT
FROM EMP
GROUP BY TO_CHAR(HIREDATE, 'YYYY');
6.平衡计分卡(BSC)模型
应用场景: 全面衡量企业运营的多个维度。
案例:
财务视角: 全公司薪资总额。
客户视角: 每部门员工人数(部门为“客户”)。
内部流程视角: 员工工龄分布。
学习与成长视角: 员工平均奖金(COMM 字段)。
-- 财务视角:薪资总额
SELECT SUM(SAL) AS TOTAL_SAL FROM EMP;
-- 客户视角:每部门员工人数
SELECT DNAME, COUNT(*) AS EMP_COUNT
FROM EMP E JOIN DEPT D ON E.DEPTNO = D.DEPTNO
GROUP BY DNAME;
-- 内部流程视角:员工工龄分布
SELECT FLOOR(MONTHS_BETWEEN(SYSDATE, HIREDATE)/12) AS YEARS_OF_SERVICE, COUNT(*) AS EMP_COUNT
FROM EMP
GROUP BY FLOOR(MONTHS_BETWEEN(SYSDATE, HIREDATE)/12);
-- 学习与成长视角:员工平均奖金
SELECT AVG(COMM) AS AVG_COMM FROM EMP WHERE COMM IS NOT NULL;
7.数据指标框架模型(Metrics Framework)
应用场景: 指标从基础到聚合的层级。
案例:
原子指标: 每个员工的薪资。
衍生指标: 平均薪资。
聚合指标: 全公司薪资总额。
-- 原子指标
SELECT EMPNO, ENAME, SAL FROM EMP;
-- 衍生指标
SELECT AVG(SAL) AS AVG_SAL FROM EMP;
-- 聚合指标
SELECT SUM(SAL) AS TOTAL_SAL FROM EMP;
8.时间序列模型
应用场景: 按时间分析员工薪资的变化。
案例:
按年份统计入职员工的薪资总额和平均薪资。
SELECT TO_CHAR(HIREDATE, 'YYYY') AS YEAR, SUM(SAL) AS TOTAL_SAL, AVG(SAL) AS AVG_SAL
FROM EMP
GROUP BY TO_CHAR(HIREDATE, 'YYYY');
9.分层分级指标模型
应用场景: 按组织层级分解指标。
案例:
公司总薪资目标分为各部门目标,再分为员工目标
-- 公司总薪资
SELECT SUM(SAL) AS TOTAL_SAL FROM EMP;
-- 部门薪资
SELECT DNAME, SUM(SAL) AS DEPT_TOTAL_SAL
FROM EMP E JOIN DEPT D ON E.DEPTNO = D.DEPTNO
GROUP BY DNAME;
-- 员工薪资
SELECT EMPNO, ENAME, SAL FROM EMP;
10. Objective-Strategy-Metrics(OSM)模型
应用场景: 提升员工收入。
案例:
Objective(目标): 提高公司员工平均薪资。
Strategy(战略): 提高每部门的平均薪资。
Metrics(指标): 员工平均薪资、部门平均薪资
-- 公司平均薪资
SELECT AVG(SAL) AS AVG_SAL FROM EMP;
-- 部门平均薪资
SELECT DNAME, AVG(SAL) AS DEPT_AVG_SAL
FROM EMP E JOIN DEPT D ON E.DEPTNO = D.DEPTNO
GROUP BY DNAME;
11. UJM 模型(User Journey Metrics 模型)
应用场景: 员工招聘和发展过程的分析。
案例:
旅程阶段:
吸引: 招聘的候选人数。
转化: 入职员工人数。
留存: 员工工作年限。
扩展: 员工晋升比例。
-- 吸引阶段:假设有招聘数据表
SELECT COUNT(*) AS CANDIDATE_COUNT FROM CANDIDATES;
-- 转化阶段:入职人数
SELECT COUNT(*) AS HIRED_COUNT FROM EMP;
-- 留存阶段:按工龄统计员工人数
SELECT FLOOR(MONTHS_BETWEEN(SYSDATE, HIREDATE)/12) AS YEARS_OF_SERVICE, COUNT(*) AS EMP_COUNT
FROM EMP
GROUP BY FLOOR(MONTHS_BETWEEN(SYSDATE, HIREDATE)/12);
-- 扩展阶段:晋升员工人数占比(假设 `JOB` 字段中有 "MANAGER" 表示晋升)
SELECT ROUND(COUNT(CASE WHEN JOB = 'MANAGER' THEN 1 END) * 100 / COUNT(*), 2) AS PROMOTION_RATE
FROM EMP;
总结
一、模型使用场景
模型名称 | 主要使用场景 |
---|---|
1. 指标分层模型 | 适用于多层次管理场景,如公司战略目标、部门目标、运营目标逐级分解的场景。 |
2. 维度模型 | 数据仓库或 BI 分析中,用于从多维角度(如时间、部门、员工)分析数据。 |
3. 指标树模型 | 指标的层级分解与依赖分析,如总收入拆解为部门收入和区域收入。 |
4. KPI 模型 | 关键绩效指标监控场景,如企业绩效考核或某项目的核心指标监控。 |
5. 主题域模型 | 适合大型企业按业务主题划分指标体系,如财务、销售、客户、运营等。 |
6. 平衡计分卡(BSC)模型 | 战略管理和全面绩效评估,如从财务、客户、流程、学习等多个视角评估企业绩效。 |
7. 数据指标框架模型 | 复杂数据体系的指标标准化和全生命周期管理,用于企业建立统一的指标管理平台。 |
8. 时间序列模型 | 动态分析指标随时间变化的趋势,适用于业务监控、预警系统、趋势预测场景。 |
9. 分层分级指标模型 | 适按企业组织架构进行指标分层,如总部到区域分部到门店逐级分解指标。 |
10. Objective-Strategy-Metrics(OSM)模型 | 从目标、战略、指标三个层次设计方案,适用于目标导向的战略管理场景。 |
11. UJM 模型 | 用户行为分析场景,如互联网产品用户生命周期(吸引 → 转化 → 留存 → 扩展)相关指标分析。 |
二、模型的相同点
- 目标明确性:
所有模型都以解决某一明确的业务问题为核心,如绩效提升、趋势分析、用户行为优化等。
例如:KPI 模型、OSM 模型、分层模型等都围绕目标进行分解或监控。
- 数据指标化:
各模型都强调通过定量化指标(如薪资总额、留存率)来衡量目标和执行效果。
数据是模型的基础,通过清晰的指标定义和逻辑支持分析与评估。
- 逻辑层次性:
多数模型具备层次性结构,比如指标分层模型、指标树模型、OSM 模型都强调指标的上下级关系。
- 可监控与评估:
模型通过定义具体的衡量标准,便于对业务的执行过程进行持续监控与优化。
三、模型名称 特点(差异点)
模型名称 | 特点(差异点) |
---|---|
1. 指标分层模型 | 强调从战略层到运营层的指标逐级分解,适用于多层级的企业管理场景,特别是需要明确责任和目标的场景。 |
2. 维度模型 | 侧重于从多个分析维度(如时间、部门、区域等)对数据进行统计分析,是数据仓库和 BI 分析的重要工具。 |
3. 指标树模型 | 强调指标的分解路径和层级依赖关系,适合复杂业务场景中逐级分解目标和追溯来源。 |
4. KPI 模型 | 聚焦于核心绩效指标,强调关键目标的少量指标监控,适用于简单、直接的目标评估场景。 |
5. 主题域模型 | 按业务主题划分指标,适合大型企业或复杂组织按功能划分数据分析指标(如销售、财务等领域)。 |
6. 平衡计分卡(BSC)模型 | 从多个视角(财务、客户、流程、学习)衡量目标完成情况,适用于全面绩效评估,适用场景较广但设计复杂度较高。 |
7. 数据指标框架模型 | 强调指标的全生命周期管理(定义、使用、更新、维护),适合数据治理和标准化管理。 |
8. 时间序列模型 | 侧重分析指标随时间的变化趋势,适合业务动态监控和预测,突出指标的时间维度。 |
9. 分层分级指标模型 | 从组织架构分层和分级角度设计指标,适合跨层级、多级分支的企业环境。 |
10. OSM 模型 | 从目标到战略再到指标逐层设计,逻辑递进清晰,适合目标导向型的企业战略管理场景。 |
11. UJM 模型 | 基于用户旅程设计指标,突出用户行为分析和生命周期价值(如互联网行业中的用户留存和转化场景)。 |
四、总结
- 相同点:
这些模型的核心思想都是为了更好地管理和分析数据,以支持业务目标的达成。
它们都通过指标的设计和分析,为业务提供决策支持。
- 不同点:
视角不同:
如 平衡计分卡模型 是从多个维度综合评估,维度模型 则强调多维度数据的分析。 UJM 模型 从用户行为出发,而 分层模型
则更注重企业内部目标分解。
适用场景不同: 时间序列模型 适合时间动态监控场景,而 指标树模型 适合分解复杂指标。
复杂度不同: 简单模型如 KPI 模型 适合直接监控核心目标; 复杂模型如 数据指标框架模型 和 OSM 模型
需要全面的设计和较高的实现成本。
使用建议:
单独使用: 对于小型业务,建议采用如 KPI 模型 或 分层模型 等简单的模型。
结合使用: 对于复杂场景,可以结合多个模型使用,如用OSM 模型 制定战略目标,结合 KPI 模型 和 时间序列模型 监控关键指标,辅以 维度模型 和 指标树模型 支持多维分析。