数据仓库指标体系实践

2023-11-07

指标体系

1. 痛点分析

 主要从业务、技术、产品三个视角来看:

  • 业务视角

    业务分析场景指标、维度不明确;

    频繁的需求变更和反复迭代,数据报表臃肿,数据参差不齐;

    用户分析具体业务问题找数据、核对确认数据成本较高。

  • 技术视角

    指标定义,指标命名混乱,指标不唯一,指标维护口径不一致;

    指标生产,重复建设;数据汇算成本较高;

    指标消费,数据出口不统一,重复输出,输出口径不一致;

  • 产品视角

    缺乏系统产品化支持从生产到消费数据流没有系统产品层面打通;

2. 管理目标

  • 技术目标   

    统一指标和维度管理,指标命名、计算口径、统计来源唯一, 维度定义规范、维度值一致

  • 务目标   
    统一数据出口、场景化覆盖

  • 产品目标   
    指标体系管理工具产品化落地;指标体系内容产品化落地支持决策、分析、运营例如决策北极星、智能运营分析产品等

3. 模型架构

 业务线 

业务板块定义原则:业务逻辑层面进行抽象、物理组织架构层面进行细分,可根据实际业务情况进行层级分拆细化,层级分级建议进行最多进行三级分拆,一级细分可公司层面统一规范确定,二级及后续拆分可根据业务线实际业务进行拆分。

例如滴滴出行领域业务逻辑层面两轮车和四轮车都属于出行领域可抽象出行业务板块(level一级),根据物理组织架构层面在进行细分普惠、网约车、出租车、顺风车(level二级),后续根据实际业务需求可在细分,网约车可细分独乘、合乘,普惠可细分单车、企业级。

 规范定义 

  • 数据域

指面向业务分析,将业务过程或者维度进行抽象的集合。其中,业务过程可以概括为一个个不拆分的行为事件,在业务过程之下,可以定义指标;维度,是度量的环境,如乘客呼单事件,呼单类型是维度。为了保障整个体系的生命力,数据域是需要抽象提炼,并且长期维护更新的,变动需执行变更流程。

  • 业务过程

指公司的业务活动事件,如呼单、支付都是业务过程。其中,业务过程不可拆分。

  • 时间周期

用来明确统计的时间范围或者时间点,如最近30天、自然周、截止当日等。

  • 修饰类型

是对修饰词的一种抽象划分。修饰类型从属于某个业务域,如日志域的访问终端类型涵盖APP端、PC端等修饰词。

  • 修饰词

指的是统计维度以外指标的业务场景限定抽象,修饰词属于一种修饰类型,如在日志域的访问终端类型下,有修饰词APP、PC端等。

  • 度量/原子指标

原子指标和度量含义相同,基于某一业务事件行为下的度量,是业务定义中不可再拆分的指标具有明确业务含义的名称,如支付金额。

  • 维度

维度是度量的环境,用来反映业务的一类属性,这类属性的集合构成一个维度,也可以称为实体对象。维度属于一个数据域,如地理维度(其中包括国家、地区、省市等)、时间维度(其中包括年、季、月、周、日等级别内容)。

  • 维度属性

维度属性隶属于一个维度,如地理维度里面的国家名称、国家ID、省份名称等都属于维度属性。

  • 指标分类主要分为原子指标、派生指标、衍生指标

  1. 事务型指标:
    是指对业务过程进行衡量的指标。例如,呼单量、订单支付金额,这类指标需要维护原子指标以及修饰词,在此基础上创建派生指标。

  2. 存量型指标:

    是指对实体对象(如司机、乘客)某些状态的统计,例如注册司机总数、注册乘客总数,这类指标需要维护原子指标以及修饰词,在此基础上创建派生指标,对应的时间周期一般为“历史截止当前某个时间”。

  1. 原子指标    
    基于某一业务事件行为下的度量,是业务定义中不可再拆分的指标,具有明确业务含义的名称,如呼单量、交易金额

  2. 派生指标    
    是1个原子指标+多个修饰词(可选)+时间周期,是原子指标业务统计范围的圈定。派生指标又分以下二种类型:

  3. 衍生指标
    是在事务性指标和存量型指标的基础上复合成的。主要有比率型、比例型、统计型均值 

 模型设计 

主要采用维度建模方法进行构建,基础业务明细事实表主要存储维度属性集合和度量/原子指标;分析业务汇总事实表按照指标类别(去重指标、非去重指标)分类存储,非去重指标汇总事实表存储统计维度集合、原子指标或派生指标,去重指标汇总事实表只存储分析实体统计标签集合。

指标体系在数仓物理实现层面主要是结合数仓模型分层架构进行指导建设,滴滴的指标数据主要存储在DWM层,作为指标的核心管理层。

4. 指标体系元数据管理

Apache Atlas | 元数据管理框架

 维度管理 

包括基础信息和技术信息,由不同角色进行维护管理。

  • 基础信息对应维度的业务信息,由业务管理人员、数据产品或BI分析师维护,主要包括维度名称、业务定义、业务分类。

  • 技术信息对应维度的数据信息,由数据研发维护,主要包括是否有维表(是枚举维度还是有独立的物理维表)、是否是日期维、对应code英文名称和中文名称、对应name英文名称和中文名称。如果维度有维度物理表,则需要和对应的维度物理表绑定,设置code和name对应的字段。如果维度是枚举维,则需要填写对应的code和name。维度的统一管理,有利于以后数据表的标准化,也便于用户的查询使用。

 指标管理 

包括基础信息、技术信息和衍生信息,由不同角色进行维护管理。 

  • 基础信息对应指标的业务信息,由业务管理人员、数据产品或BI分析师维护,主要包括归属信息(业务板块、数据域、业务过程),基本信息(指标名称、指标英文名称、指标定义、统计算法说明、指标类型(去重、非去重)),业务场景信息(分析维度,场景描述);

  • 技术信息对应指标的物理模型信息,由数据研发进行维护,主要包括对应物理表及字段信息;

  • 衍生信息对应关联派生或衍生指标信息、关联数据应用和业务场景信息,便于用户查询指标被哪些其它指标和数据应用使用,提供指标血缘分析追查数据来源的能力。

原子指标定义归属信息 + 基本信息 + 业务场景信息派生指标定义时间周期 + 修饰词集合 + 原子指标修饰类型主要包含类型说明、统计算法说明、数据源(可选) 

5. 指标体系建设流程 

 建模流程 

建模流程主要是从业务视角指导工程师对需求场景涉及的指标进行主题抽象,归类,统一业务术语,减少沟通成本,同时避免后续的指标重复建设。

分析数据体系是模型架构中汇总事实表的物理集合,业务逻辑层面根据业务分析对象或场景进行指标体系抽象沉淀。滴滴出行主要是根据分析对象进行主题抽象的,例如司机主题、安全主题、体验主题、城市主题等。指标分类主要是根据实际业务过程进行抽象分类,例如司机交易类指标、司机注册类指标、司机增长类指标等。 基础数据体系是模型架构中明细事实表和基础维度表的物理集合,业务逻辑层面根据实际业务场景进行抽象例如司机合规、乘客注册等,还原业务核心业务过程。

 开发流程 

开发流程是从技术视角指导工程师进行指标体系生产、运维及质量管控,也是数据产品或数据分析师和数仓研发沟通协调的桥梁。

6. 指标体系图谱建设

 指标体系图谱概述 

指标体系图谱也可称为数据分析图谱主要是依据实际业务场景抽象业务分析实体,整合梳理实体涉及的业务分类、分析指标和维度的集合。 建设方法:主要是通过业务思维、用户视角去构建,把业务和数据紧密关联起来,把指标结构化分类组织。 

建设目的:

  • 对于用户:

    便于用户能够快速定位所需指标和维度,同时通过业务场景化沉淀指标体系,能够快速触达用户数据诉求。

  • 对于研发:

    利于后续指标生产模型设计、数据内容边界化、数据体系建设迭代量化和数据资产的落地。

  

 指标体系图谱模型 

 指标体系图谱实例 

指标体系产品化

指标体系涉及的产品集主要是依据其生命周期进行相应建设,通过产品工具打通数据流,实现指标体系统一化、自动化、规范化、流程化管理。因为指标体系建设本质目标是服务业务,实现数据驱动业务价值,所以建设的核心原则是“轻标准、重场景,从管控式到服务式”。通过工具、产品、技术和组织的融合提高用户使用数据效率,加速业务创新迭代。


其中和指标体系方法论强相关产品就是指标字典工具的落地,其产品的定位及价值:

  • 支撑指标管理规范从方法到落地的工具,自动生成规范指标,解决指标名称混乱、指标不唯一的问题,消除数据的二义性

  • 统一对外提供标准的指标口径和元数据信息

工具设计流程 (方法论->定义->生产->消费)

指标定义

指标生产

结束语

文章整体介绍了指标体系建设方法论&实践和工具产品的建设情况,指标字典和开发工具已实现流程打通,与数据消费产品的打通后续会通过DataAPI方式提供数据服务。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据仓库指标体系实践 的相关文章

  • 学习阿里如何进行数据指标体系的治理

    想必做数据的同学对One Data都有所耳闻 但One Data 体系具体包含了内容 有怎样的应用 不知道大家是否了解 今天我们详细分享一下One Data体系中关于数据治理相关的内容 One Data整体概述 首先 我们看看One Dat
  • Hudi 基础入门篇

    Hudi 诞生 Apache Hudi由Uber开发并开源 该项目在2016年开始开发 并于2017年开源 2019年1月进入 Apache 孵化器 且2020年6月称为Apache 顶级项目 目前最新版本 0 9 0版本 Hudi 一开始
  • hive中get_json_object函数

    原数据 表名 explode test 列名 sale info source 7fresh monthSales 4900 userCount 1900 score 9 9 source jdmart monthSales 7900 us
  • Databend 设计概述

    Databend 是一个开源的 完全面向云架构的新式数仓 它提供快速的弹性扩展能力 并结合云的弹性 简单性和低成本 使 Data Cloud 构建变得更加容易 Databend 把数据存储在像 AWS S3 Azure Blob 这些云上的
  • ETL数据库数据采集&订单数据采集

    问题解决 增加目标数据库配置信息 结果写出MySQL的数据库相关配置 target host localhost target port 3306 target user root target password mysql target
  • 第四讲 系统建模方法

    系统建模一般流程 实际系统的分析方法大致类似 但对于实际系统的模型实现方式则有多种 1 面向方程 图框 的因果建模 基于图框进行系统模型实现 的软件很多 如Simulink AMESim 应用于控制领域 等 2 面向对象 非因果 的物理建模
  • 数据挖掘基础一

    一 数据挖掘 又称为数据库中知识发现 Knowledge Discovery from Database 简称KDD 它是一个从大量数据中抽取挖掘出未知的 有价值的模式或规律等知识的复杂过程 数据挖掘的定义过程描述如下图所示 从图中可以看出
  • 2022年第十四届电工杯赛题分析

    作为2022年上半年最后一场建模比赛的电工杯 为期72个小时 在众多建模比赛中 电工杯属于难度大 比赛时间短 知名度大的比赛 在我个人看来 电工杯可以作为美赛国赛之下第二梯队建模比赛里的头号比赛 因此 为了更好选题比赛 本次比赛我将在本篇文
  • 数仓知识07:数据增量更新的几种方式

    1 增量更新的几种方式 增量更新的本质 其实是获取源表中数据变化的情况 增 删 改 然后将源表中发生的变化同步至目标表中 不同的方式 获取源表中数据变化的情况不一样 受技术的限制 表结构的限制 某些方式可能无法获取到完整的数据变化情况 因此
  • ETL为什么经常变成ELT甚至LET?

    ETL是将数据从来源端经过清洗 extract 转换 transform 加载 load 至目的端的过程 正常的 ETL 过程应当是 E T L 这三个步骤逐步进行 也就是先清洗转换之后再加载进目标端 通常是数据库 最后在数据库中的只是合理
  • neo4j start error:系统找不到指定的路径。 Unable to create logger at ‘‘

    项目场景 Neo4j 4 3 3 community windows 这是代码文件 启动时需要进入文件夹下的bin目录 输入neo4j start 然后转入http localhost 7474 出现可供使用的图形界面 此时如果在当前目录下
  • LMDI(对数平均迪氏指数法)模型

    LMDI 对数平均迪氏指数法 模型 含stata代码以及计算参考文献 1 数据来源 见对应参考文献 2 时间跨度 无 3 区域范围 全国 4 指标说明 分享文件里面包括stata的程序文件 ado pkg sthlp 案例数据 中文的使用文
  • 企业网站建设方案书

    一 网站建设目标 1 1背景分析 现在网络的发展已呈现商业化 全民化 全球化的趋势 目前 几乎世界上所有的公司都在利用网络传递商业信息 进行商业活动 从宣传企业 发布广告 招聘雇员 传递商业文件乃至拓展市场 网上销售等 无所不能 如今网络已
  • 3. ClickHouse数据类型和表结构

    3 1 数据类型 整数类型 整数类型有Int8 Int16 Int32 Int64 分别表示8位 16位 32位和64位有符号整数 适用场景 存储整数值 如年龄 数量等 浮点类型 浮点类型有Float32和Float64 分别表示32位和6
  • 浅谈我所见识的数据治理项目

    开篇一张图 与正文不一定有关 图片来源于朋友圈 01 写在前面 熟悉笔者的朋友可能知道 笔者之前做的并非纯数据相关工作 产品或项目 笔者属于半路出家的数据人 之前也几乎没有直接接触过数据仓库 数据中台 数据平台等产品或项目 与数据库是一直打
  • 使用Minitab解决Excel的限制问题

    前两天 当我在做数据转置以期获得更好分析图形的时候 我碰到了传说中excel的限制 如图 在解决这个问题的过程中 我发现了用来做数据分析 比excel更好的工具Minitab 打开minitab 把纪录数据的Excel表以File gt O
  • 大数据开发:Hive DDL操作入门

    Hive针对于数据管理操作 提供了类SQL语言HQL 在Hadoop生态当中 Hive定位为数据仓库工具 对于数据的各种操作 也就是使用HQL来完成 而HQL查询 可以分为DDL和DML两个部分来掌握 今天的大数据开发学习分享 我们就先来讲
  • Kettle教程(一):ETL简介、Kettle安装部署

    文章目录 前言 一 ETL 1 ETL是啥 2 ETL有啥价值 二 Kettle 1 简介 2 安装 三 总结 前言 随着大数据的不断发展 企业级别的数据转换显得尤为重要 从本文开始和大家一起学习一款开源ETL工具 Kettle 一 ETL
  • 解决 Hive 外部表分隔符问题的实用指南

    简介 在使用 Hive 外部表时 分隔符设置不当可能导致数据导入和查询过程中的问题 本文将详细介绍如何解决在 Hive 外部表中正确设置分隔符的步骤 问题描述 在使用Hive外部表时 可能会遇到分隔符问题 这主要是因为Hive在读取数据时
  • iceberg集成hive,insert失败问题排查与解决

    背景 创建iceberg表成功 CREATE TABLE iceberg test1 i int STORED BY org apache iceberg mr hive HiveIcebergStorageHandler insert数据

随机推荐

  • 内网渗透测试 MSF搭建socks代理

    环境搭建 最终效果为如此 web服务器可以ping通外网和内网两台服务器 外网打点 信息收集 发现端口 80 http 3306 mysql 敏感目录 phpMyadmin 数据库弱口令 root root 通过日志功能getshell 现
  • 在Unbuntu 18.04上docker安装MindSpore

    作者 张小白 文章来源 https bbs huaweicloud com blogs 241465 摘要 本文介绍了如何在ubuntu 18 04上使用docker安装python 3 7 5和mindspore 1 1 1 docker
  • RecyclerView设置Item的边距

    一 通过继承RecyclerView ItemDecoration RecyclerView有三种布局即 LinearLayoutManager 线性布局 StaggeredGridLayoutManager瀑布流布局 GridLayout
  • Java判断两个ListMap值是否相等(包括数据长度、存储的值)超实用工具类(亲测)

    一 功能描述 比较两个list中存储的map数据 比较的list的数据类型需一致 就能比较出存储的数据是否一致 二 实现步骤 1 比较两个list的长度大小 2 统计出每个list中存储的map值的个数及重复的 进行比较 3 具体比较值 三
  • React Hooks(useState、useEffect)

    本文目录 一 react hooks useState 1 1 useState使用 1 2 hooks案例 useState 二 react hooks useEffect 2 1 useEffect使用 2 2 useEffect模拟销
  • 设置地图背景图片

    设置地图背景图片 代码如下 设置地图框div的background 设置map ground surfaceColor 0 0 0 0 设置sceneview的 environment background color 0 0 0 0 di
  • xss绕过尖括号和双括号_XSS绕过filter高级技术part1

    在如今的web时代 XSS攻击十分常见 针对xss攻击的防御也有不少 Filter就是一种用来防御xss攻击的最常见的手段 filter通常是采用黑名单的形式或者基于正则表达式来过滤 尽管如此 依然有很多技术可以用来绕过Filter 基本变
  • VUE 子组件内输入框,父组件获取输入框的值

    父组件
  • 26. Remove Duplicates from Sorted Array

    题目 Given a sorted array nums remove the duplicates in place such that each element appear only once and return the new l
  • 01-TomCat和HTTP协议

    一 介绍 Tomcat 服务器是一个免费的开放源代码的Web应用服务器 Tomcat是Apache 软件基金会 Apache Software Foundation 的Jakarta 项目中的一个核心项目 由Apache Sun 和其他一些
  • [UE4][C++]用Socket传输图片并生成UTexture2D的一些坑

    首先 我规定好数据传输的格式 char 数组 RGBARGBARGBA 主要是将RGBA四个通道的数据按一定格式和顺序写好 然后发过来接收并解析就行 然后 就是数据的接收与解析 先讲一点很少有人注意到的细节 Socket的recv函数并不是
  • 华为OD机试真题-简单的压缩算法/栈【2023Q1】

    题目描述 现需要实现一种算法 能将一组压缩字符串还原成原始字符串 还原规则如下 1 字符后面加数字N 表示重复字符N次 例如 压缩内容为A3 表示原始字符串为AAA 2 花括号中的字符串加数字N 表示花括号中的字符重复N次 例如压缩内容为
  • 区块链电子签名技术及方案

    数字签名技术是电子签名的底层核心技术 由非对称密钥加密技术和数字摘要技术构成 首先发送方利用Hash函数对文件内容进行加密并生成数字摘要 然后利用私钥对数字摘要加密形成数字签名 接收方利用发送方提供的公钥对数字签名进行解密 若解密后的数字摘
  • [编程题] 不要二

    二货小易有一个W H的网格盒子 网格的行编号为0 H 1 网格的列编号为0 W 1 每个格子至多可以放一块蛋糕 任意两块蛋糕的欧几里得距离不能等于2 对于两个格子坐标 x1 y1 x2 y2 的欧几里得距离为 x1 x2 x1 x2 y1
  • Docker简介

    1 Docker是什么 Docker 是一个开源的应用容器引擎 Docker是一个基于轻量级虚拟化技术的容器 整个项目基于Go语言开发 并采用了Apache 2 0协议 Docker可以将我们的应用程序打包封装到一个容器中 该容器包含了应用
  • 指针进阶(2)

    6 函数指针数组 数组是一个存放相同类型数据的存储空间 那我们已经学习了指针数组 比如 int arr 10 数组的每个元素是int 那要把函数的地址存到一个数组中 那这个数组就叫函数指针数组 那函数指针的数组如何定义呢 int parr1
  • PBFT算法流程

    转载原址 https my oschina net u 3620978 blog 3142775 1 系统模型 本部分介绍PBFT算法运行的系统模型 1 1 网络 PBFT工作在异步的分布式系统中 系统中各个节点彼此通过网络连接 系统运行时
  • CDN 服务器

    cdn的两种方式 推送和回源区别 DNS解析的时候 返回给最近的CDN的地址 然后应用从最近的CDN读取静态文件css js image等信息 然后如果从CDN拿不到信息的话 让请求 回源站 后端应用服务器 回源地址获取静态文件 然后返回给
  • 摆烂三年,我从普通二本到春招华为OD上岸啦

    萌妹镇楼 年前拿到的意向书 答读者问 薪资情况 定级D2 13K 2K 两个月年终奖 周六加班双倍工资 下个月发 每年一次加薪 OD转华为一次加薪 加班强度 124晚9点 35晚6点 项目紧急的话 周六会安排加班 转岗问题 因为我是读书时候
  • 数据仓库指标体系实践

    指标体系 1 痛点分析 主要从业务 技术 产品三个视角来看 业务视角 业务分析场景指标 维度不明确 频繁的需求变更和反复迭代 数据报表臃肿 数据参差不齐 用户分析具体业务问题找数据 核对确认数据成本较高 技术视角 指标定义 指标命名混乱 指