数据仓库中的指标体系模型介绍

news2025/1/7 21:00:22

数据仓库中的指标体系介绍


文章目录

  • 数据仓库中的指标体系介绍
  • 前言
  • 什么是指标体系
  • 指标体系设计有哪些模型?
    • 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 模型 和 时间序列模型 监控关键指标,辅以 维度模型 和 指标树模型 支持多维分析。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2272200.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

unity学习11:地图相关的一些基础

目录 1 需要从 unity的 Asset Store 下载资源 1.1 下载资源 1.2 然后可以从 package Manager 里选择下载好的包,import到项目里 2 创建地形 2.1 创建地形 2.2 地形 Terrain大小 2.3 各种网格的尺寸大小 2.4 比较这个地形尺寸和创建的其他物体的大小对比 3 …

jenkins入门--安装jenkins

下载地址https://www.jenkins.io/ jdk 安装 :Jenkins需要安装对应版本的jdk,我在安装过程中显示需要21,17 Java Downloads | Oracle jenkins安装过程参考全网最清晰Jenkins安装教程-windows_windows安装jenkins-CSDN博客 安装完成后,浏览器输入127.0.…

第0章 机器人及自动驾驶SLAM定位方法全解析及入门进阶学习建议

嗨,各位同学大家好!笔者自985硕士毕业后,在机器人算法领域已经深耕 7 年多啦。这段时间里,我积累了不少宝贵经验。本专栏《机器人工程师带你从零入门SLAM》将结合下面的SLAM知识体系思维导图及多年的工作实战总结,将逐…

springCloud 脚手架项目功能模块:Java分布式锁

文章目录 引言分布式锁产生的原因:集群常用的分布式锁分布式锁的三种实现方式I ZooKeeper 简介zookeeper本质上是一个分布式的小文件存储系zookeeper特性:全局数据一致性ZooKeeper的应用场景分布式锁(临时节点)II 基于ZooKeeper 实现一个排他锁创建锁获取锁释放锁Apache Zo…

如何配置【Docker镜像】加速器+【Docker镜像】的使用

一、配置Docker镜像加速器 1. 安装/升级容器引擎客户端​ 推荐安装1.11.2以上版本的容器引擎客户端 2. 配置镜像加速器​ 针对容器引擎客户端版本大于1.11.2的用户 以root用户登录容器引擎所在的虚拟机 修改 "/etc/docker/daemon.json" 文件(如果没有…

Docker- Unable to find image “hello-world“locally

Docker- Unable to find image “hello-world“locally 文章目录 Docker- Unable to find image “hello-world“locally问题描述一. 切换镜像1. 编辑镜像源2. 切换镜像内容 二、 检查设置1、 重启dockers2、 检查配置是否生效3. Docker镜像源检查4. Dokcer执行测试 三、自定义…

go项目zero框架中用gentool解决指定MYSQL表生成结构体被覆盖的解决方案

在使用 GoZero 框架进行项目开发时,gentool 是一个非常方便的工具,它可以根据数据库表结构自动生成 Go 语言结构体和其他相关文件。然而,在使用 gentool 生成结构体时,可能会遇到一个问题:如果多次运行 gentool&#x…

深入Android架构(从线程到AIDL)_11 线程之间的通信架构

目录 5、 线程之间的通信架构 认识Looper与Handler对象 主线程丢信息给自己 子线程丢信息给主线程 替子线程诞生Looper与MQ 5、 线程之间的通信架构 认识Looper与Handler对象 当主线程诞生时,就会去执行一个代码循环(Looper),以便持续监视它的信息…

今日自动化编辑部今日自动化杂志社2024年第19期部分目录

智能控制技术 无人机视觉支持下的输电线路安全距离巡检系统探究 贺凌飞 王骋昊1-2,36 基于虚拟现实技术的安全警示系统设计 黄奇 李光辉 徐奎 许兆辉3-5 火焰自动焊接技术对泄漏率的影响研究 孙天鸽5-7 PLC在闸门自动化控制系统中的应用 黎芳8-9,23 智能控制算法在二次供水系统…

【双层模型】考虑供需双侧的综合能源双层优化模型

目录 主要内容 内容研究 1.模型简介 2 程序释义 部分代码 运行结果 下载链接 主要内容 该程序实现一个综合能源系统的优化调度双层模型,上下层分别采用差分进化算法和规划算法进行求解。模型考虑了多种能源设备,包括燃气轮机、燃气锅炉、风电…

单片机-串转并-74HC595芯片

1、74HC595芯片介绍 74HC595 是一个 8 位串行输入、并行输出的位移缓存器,其中并行输出为三态输出(即高电平、低电平和高阻抗)。 15 和 1 到 7 脚 QA--QH:并行数据输出 9 脚 QH 非:串行数据输出 10 脚 SCLK 非&#x…

(框架漏洞)

1.Thinkphp 1.Thinkphp5x远程命令执⾏及getshell 搭建靶场环境 vulhub/thinkphp/5-rce docker-compose up -d #启动环境 ?sindex/think\app/invokefunction&functioncall_user_func_array&vars[0]system&vars[1][]whoami ?s/Index/\think\app/invokefunctio…

[SMARTFORMS] 输出文本变量绑定

在SMARTFORMS表单中的表格接口的"导入"页签处添加导入参数IV_EBELN 参数IV_EBELN为采购凭证编号,并为该参数添加默认值 在SMARTFORMS表单中的全局定义中的"全局数据"页签定义变量 结构ZSPO_HEADER_437、ZSPO_ITEM_437与表类型ZTPO_ITEM_437的定…

【DevOps】Jenkins部署

Jenkins部署 文章目录 Jenkins部署资源列表基础环境一、部署Gilab1.1、安装Gitlab1.2、修改配置文件1.3、加载配置文件1.4、访问Gitlab1.5、修改root登录密码1.6、创建demo测试项目1.7、上传代码1.8、验证上传的代码 二、部署Jenkins所需软件2.1、部署JDK2.2、部署Tomcat2.3、部…

Redis(二)value 的五种常见数据类型简述

目录 一、string(字符串) 1、raw 2、int 3、embstr 二、hash(哈希表) 1、hashtable 2、ziplist 三、list(列表) ​编辑 1、linkedlist 2、ziplist 3、quicklist(redis 3.2后的列表内…

PyQt实战——将pcm文本数据转换成.pcm的二进制文件

系类往期文章: PyQt5实战——多脚本集合包,前言与环境配置(一) PyQt5实战——多脚本集合包,UI以及工程布局(二) PyQt5实战——多脚本集合包,程序入口QMainWindow(三&…

Word2Vec解读

Word2Vec: 一种词向量的训练方法 简单地讲,Word2Vec是建模了一个单词预测的任务,通过这个任务来学习词向量。假设有这样一句话Pineapples are spiked and yellow,现在假设spiked这个单词被删掉了,现在要预测这个位置原本的单词是…

STM32F1学习——编码器接口

一、编码器接口 编码器接口可以接收正交编码器的信号,根据编码器旋转产生的正交信号脉冲,通过硬件自动控制CNT值的自增或自减,从而指出编码器的位置、旋转方向和旋转速度。 每个高级定时器和通用定时器都有一个编码器接口,他们会占…

什么是网关路由

1.认识网关 网关(Gateway)和路由(Router)是两个相关但不同的概念。 一、网关(Gateway) 定义 网关是一个网络节点,它充当了不同网络之间的连接点。可以将其看作是一个网络的 “大门”&#xf…

S32K144 UDSdoCAN 升级刷写实现笔记

文章目录 1. 摘要2. 开发环境搭建2.1 开发板2.2 IDE 安装2.3 更新扩展包2.4 烧录仿真测试2.4.1 新建工程2.4.2 导入已有工程2.4.3 编译工程2.4.4 硬件连接2.4.5 Debug2.4.6 添加 .c .h 文件2.5 串口配置2.5.1 时钟2.5.2 GPIO2.5.3 定时器2.5.4 uart 工程2.5.5 烧录验证3. 升级原…