数据治理实践——YY 直播业务指标治理实践

目录

一、问题背景

1.1 问题场景

1.2 问题小结

二、治理方案

2.1 治理目标

2.2 团队协同,共建规范

2.3 指标管理的定位

2.4 指标管理的目标及思路

2.5 指标管理,规范内容落地

2.6 数仓设计-关联指标维度

2.7 数据报表开发-配置口径说明

2.8 业务用户检索数据资产

2.9 指标自主分析

2.10 业务指标治理全流程回顾

三、治理成效

四、未来演进


原文大佬的这篇指标治理实践有借鉴意义,这里摘抄下来用作学习和知识沉淀。

一、问题背景

1.1 问题场景

   第一部分,我们先来还原一下问题的场景:这几个场景是我们数据需求方,比如产品、运营、数据分析师及技术开发工程等角色给我们反馈的主要问题:

  • 场景一,报表数据口径差异:我们的需求方经常会跟我们咨询,“为什么a报表和bb报表命名和描述是差不多的,但是出来的数据不一样,那到底哪一个报表的口径才是准确的?”
  • 场景二,找不到想要的数据:我们在对接需求方的需求时,经常会发现报表系统中已经有了现成的报表或者数据看板,但是类似的需求还是会被重复地提过来,沟通下来发现是因为需求方无法快速找到自己想要的数据。
  • 场景三,新增报表的需求排期太长:从业务方的体感来讲,一个新增的报表需求通常需要排期短则数天,长则要一两周才能交付。

1.2 问题小结

 带着这些问题,从我们数据产品的视角深入分析,得到以下几个总结:

  • 指标管理层面:因为没有对指标进行统一管理,必然会存在同名不同义或同义不同名;指标口径描述基本分散在报表的备注信息里,没有一个统一功能页面来检索查找指标,更谈不上指标的统一分类层级。
  • 数据报表层面:因为互联网业务发展特别快,我们大量的报表都是由业务方根据他们当时的取数需求驱动来构建的,这些报表从来不考虑生命周期管理,时间一长就造成了线上的大量报表无序堆积,用户在检索存量报表时很难找到目标数据。
  • 数据模型的层面:普通存在同样的指标,但计算口径不一致的现象;部分核心模型对应计算任务的依赖关系极其复杂;这导致要迭代模型中的指标或维度时会相当困难。

   总结以上问题,我们的理解是:业务在高速发展阶段,其快速地响应业务方需求的优先级是最高的,而指标体系的总体规划和体系化建设则放在比较低的优先级

  我们要做就是规划并重构一套相对规范的业务指标管理体系,做到既能适业发展节奏、高效地满足需求;同时也能减少重复建设,提高产研效率。

二、治理方案

2.1 治理目标

  在展开具体方案之前,先说一下我们的治理目标

  • 在用数体验方面:希望给用户提供“规范统一”的指标体系,并且具备“快速检索”的能力;
  • 在产研效率方面:希望能显著的提升交付效率;
  • 在资源消耗方面:希望能降低计算及存储资源的无序增长。

     用数体验的提升能够最明显地提升业务方的感知。其次提高产研效率也能改善业务方的实际体验。虽然资源消耗降低这一目标的实施难度最大,但在当前行业环境下里,我们需要做到既增效,又降本。

2.2 团队协同,共建规范

 要完成上述的目标,需要多团队进行协作投入,这里列举一些主要的角色及实施内容:

  •  数据产品,毫无疑问是整个工作的牵头者,指标管理这个环节的 owner,负责梳理迭代指标、构建指标体系、同时还要推动其他团队形成统一的认知,统一管理思路。
  • 数据研发,是整个数据生产和报表开发交付环节的owner,负责将规范化的指标体系应用到数据模型构建发布、数据报表及看板开发迭代的工作中。
  • 业务用户,在数据地图和数据洞察中触达数据资产,包括数据模型和数据报表;需要他们在使用中及时反馈,来帮助产研团队持续迭代优化指标规范。

2.3 指标管理的定位

  下图就是我们 YY 自研大数据平台的产品功能框架简版。

这里主要讲两点:

   从流程管理的角度来看,指标定义及维度定义的管理是放到数据开发及报表开发的环节之前的,是数据开发及报表开发等工作开展的前置条件。

  从数据流向的角度来看,指标管理系统提供统一的指标口径信息服务,对接数据开发、数据治理及数据分析系统:一是用来配置数据模型中的字段定义;二是用来配置数据报表中的口径说明。而数据消费用户群体是在数据地图和数据洞察中接触到这些信息。

    整体来说,我们希望从数据产品的角度,以业务指标管理为治理抓手,将规范化的指标体系贯穿到数据生产及数据消费的环节。下面我们围绕这些主要的角色,讲一下在整个过程中的具体策略、使用的一些工具以及实操步骤。

2.4 指标管理的目标及思路

首先如图所示:首先是数据产品负责的指标管理环节,从管理目标出发:

  • 第一点是如何构建一套指标的命名和描述规范;
  • 第二点是如何能够形成清晰易检索的指标分类;
  • 第三点是如何能够梳理清晰指标间的依赖和继承关系;

  • 最后一点就是如何能让指标的生命周期管理运转起来。

上图右侧是我们具体的数据产品的实施步骤。

具体实施步骤和目标拆解为:

  • 第一步,梳理指标命名及定义,作为规范共识的讨论基础;
  • 第二步,构建指标的分类索引,方便后续用户快速检索指标;
  • 第三步,配置指标间依赖关系,让用户能清晰地了解指标间的来源及继承关系。

这样实施下来,就形成初步的指标说明文档,以这些文档为基础,就可以开展讨论。

而达成共识的推进策略可以拆解成以下步骤:

  • 第一步,数据产品团队内部互评互验,针对命名规范、描述规范、分类规范进行充分讨论和碰撞,形成大家都认可的落地规范;
  • 第二步,数据产品与数据研发进行跨团队评审校验,形成数据产研团队间的共识及规范,使得大家对业务语义的认知是一致的;
  • 第三步,数据产品将规范后的指标体系应用在数据需求对接流程中;

比如说,我们会要求业务用户在提需求前,先检索一下数据地图,看是否能找到想要的指标,当前版本的业务定义是否能满足需求?是否要迭代当前版本的定义?是否要新增全新的指标或维度?

最后还要考虑指标的生命周期管理机制。比如梳理了存量指标,还会有新增的,得把生命周期机制运转起来。按照先登记,然后评审,接下来系统间去引用,出现了口径变化就迭代,如果整个业务场景已经不再用该指标了,就通过一些技术手段或者管理手段让该指标下线。(变更迭代---> 评审上线---> 下线)

以上,我们都会落地相应的产品功能,去把整个管理流程去给固化下来。

2.5 指标管理,规范内容落地

  接下来介绍一下数据产品经理在这一阶段的具体的一些产出结果。

    第一部分是层级分类:指标的分类至少会分成三个层级,第一层先划分相对独立的业务域,在业务域下面再划分业务过程、业务子过程。

   为什么这么划?数据分析师有自己的分类规则,数据研发也有自己的分类规则。从分析师角度来看,一般按OSM原则去建立指标体系,但是从数据研发的角度出发,数据应该基于实体领域去分类,这样大家无法达成共识。由于我们层级分类的目标是服务于指标检索的,那么层级分类要按照大家能够公认的规则划分。如还原实际的用户路径,包括用户怎么观看直播,怎么打赏,主播怎么开播,怎么签约,怎么获得收入,按照客观的业务过程去划分这个指标集。后续用户通过这套层级分类去检索指标时,仅凭非常简单的直播业务常识,就能快速找到对应指标。

  第二部分是关于命名规范或描述规范的撰写。之前做了很多调研,也找了其他团队进行交流。大家的共识是,要非常严谨的描述是很难实施推广的。因此我们定下一些底线的原则,先给出一些参考案例,指标名称,通过业务限定加原子指标的组合方式命名,但是同时要保留一些细节,比如原先指标的常用命名,把它作为别名信息保存下来,后续检索时虽然指标名字可能换了一个相对正式规范的名字,但是用户还是可以通过别名去找到想要的指标。同样,描述也尽可能按照业务场景加业务限定加度量加聚合方式的方式去描写,出来的结果看起来就比较规范,给人感觉是一个团队做的事情,而不是各干各的。同样地,维度名称、维度的描述以及枚举值也要按同样的方式统一规范地管理起来。

     第三部分就是指标血缘,使用可视化的方式去把指标间的依赖关系以及继承关系给表达出来。如图中截图所示,指标 c 就是由指标a和指标b复合生成的。只要把指标 a 和指标 b 的业务定义描述清楚,通过指标血缘追溯下来,那指标 c 也是非常清晰的。

   以上就是第一阶段在指标管理环节的具体产出。

2.6 数仓设计-关联指标维度

  接下来就需要数据研发上场了,他们需要在数据生产环节中规范引用的指标和维度。

  第一个场景中,数据研发在进行数据模型设计时,关联引用规范的指标和维度作为字段的标准定义。第二个场景中,是在规范化工作建设之前有很多存量模型,筛选梳理出来有复用价值的模型,使用数据发布功能,关联规范的指标和维度,然后发布到数据地图上面供用户去检索使用。

2.7 数据报表开发-配置口径说明

   在数据报表开发时,需要写清楚每个指标的定义口径以及说明。原先的功能是使用输入框,开发人员在输入框中输入。现在改变方式,能选的尽量去选。根据这个原则提供弹窗,用户直接规范的指标定义。要迭代某一个指标或者维度的定义,只需要在指标管理系统里进行发版迭代,所有的引用都会同步更新。  

2.8 业务用户检索数据资产

   做了这么多工作,目的都是服务于业务。从业务用户的视角来看,除了可以通过报表和数据模型的字段信息了解到规范的指标体系,还可以通过指标检索的方式查找可用的数据资源。如下图所示,是指标详情页的截图:

    在指标粒度Tab里,可以看到所有引用这个指标的数据模型,结合维度组合进一步筛选,可以找到特定维度组合的模型,进一步自助分析取数。

   在引用报表Tab里,可以看到所有引用这个指标的报表,进一步点击查看报表,就进入报表的详情页。

   通过向用户推广这种数据资产检索的方式,基本上解决了口径不一致的问题以及不容易找到想要的数据的问题。以上这些是关于指标治理的一个基础过程。

2.9 指标自主分析

   为了进一步提升业务用户的用数体验。我们去构建了一个指标自助分析应用。依托可视化分析能力,构建了一个低门槛、可视化的分析应用。

   用户只需要去选指标定维度就完成需求输入了。以前还需要先找报表和数据模型,现在只需要选择想要的指标,确定分析维度,剩下来就可以交给系统,系统会自动匹配数据模型或视图,然后自动地拼接生成查询 SQL,最后进行自助取数和可视化分析来满足用户的需求。从流程来看的话,用户很大一部分场景的需求不再依赖研发排期了,可以自助完成,效率提升是非常明显。用户具体是怎么操作这个功能的?这里放了一些功能截图。

第一步,系统提供了划分层级的指标卡列表,右下角有一个购物车,用户可以通过层级分类查找指标,关键字搜索指标,找到目标指标后,单击指标卡上的加入购物车功能。

第二步,所有想要的指标之后,点击购物车就进入下一级页面,在这个页面里选定分析维度,临时提供不了的分析维度,可以提需求来去添加。

接下来确定数据的时间范围。点击可视化分析按钮,系统就会拉起一个可视化分析的页面,用户可以在这里进行拖拉拽,使用可视化图表组件进行分析,可以把分析图表导出贴到报告上,也可以把数据导出再加工。

相较于其他数据的检索方式来说,这个应用操作上会更加直观简单,效率和体验上也会更优。

2.10 业务指标治理全流程回顾

第一步,由数据产品牵头进行指标统一管理,聚焦在业务语义层面梳理和分类构建,并推进团队间形成统一管理,规范共识;

第二步,由数据研发牵头对存量的数据资产进行盘点,包括数据模型,数据报表的盘点,使用统一指标命名和定义说明关联;

第三步,重构业务指标的管理流程,遵循“先登记后引用”的基本原则,加强生命周期管理,重构数据需求的对接生产流程;

在这个基础上,数据产品牵头对数据报表进行体系化重构,主要整合原有报表,搭建体系化数据分析看板等;

与此同时构建指标自助分析应用,用于满足大部分用户自助取数及可视化分析的需求。整个过程中持续收集数据用户的反馈,形成闭环。

三、治理成效

接下来我们简单叙述一下,这几年的具体工作成效。

  • 用数体验方面,因为有了体系化的指标,可以用帮助用户快速检索以及自助分析取数,效率显著提升;

  • 产研效率方面,通过优化检索的方式,避免了很多重复需求的对接和开发,并且把部分需求的开发交付周期由天级下降到小时级,产研效率的提升也是很明显的;

  • 最后是比较难的目标,得益于整合下线大量的长尾数据报表、数据模型及计算任务,同时辅以其它技术手段也达成了降低资源无序增长的目标。

四、未来演进

大语言模型表现出来的语义理解和输出能力是极其强大的,现在业界有各种方案的,我们的实践就是通过一个行业知识库结合大语言模型来实现。

如图所示:

  知识库数据可以由指标的业务定义、计算口径、呈现方式及分析场景等构成,通过上述的指标治理工作,这些数据已经进行了有效的收集和关联。结合知识库,基于 LLM 的多轮对话能力,系统应该能更好地理解用户的数据分析需求。接下来,使用 LLM 的格式化输出能力对接下游的执行器,比如:计算 SQL 对接 olap 引擎进行数据查询,图表推荐对接可视化引擎进行图表选择及数据渲染,布局推荐对接可视化看板进行图表组件的布局排版。最终生成一个完整的分析报表呈现给用户,还可以进一步收集用户的反馈,去持续迭代知识库的内容。

参考文章:

YY 直播业务指标治理实践

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MongoDB在Linux环境下的安装与配置

目录 1. 准备工作 2. 安装MongoDB 2.1 传输MongoDB安装包 2.2 解压安装包 2.3 创建MongoDB安装目录 2.4 创建数据目录和日志目录 3. 启动MongoDB服务 3.1 启动MongoDB 3.2 连接MongoDB 3.3 退出MongoDB 1. 准备工作 在安装MongoDB之前,请确保您已具备以下…

Solidity Uniswap V2 价格预言机

预言机是连接区块链与链下服务的桥梁,这样就可以从智能合约中查询现实世界的数据。Chainlink 是最大的oracle网络之一,创建于 2017 年,如今已成为许多 DeFi 应用的重要组成部分。https://github.com/XuHugo/solidityproject Uniswap 虽然是链…

【leetcode热题】寻找旋转排序数组中的最小值 II

难度: 困难通过率: 38.7%题目链接:. - 力扣(LeetCode) 题目描述 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 请找出其中最小的…

【react框架】跟我一起速读Next.js官方入门教学课程文档

文章目录 前言目录结构样式方案正常引入样式文件Tailwind方案CSS Modules方案clsx方案 文字和图片优化文字图片 Pages和Layout的机制PagesLayout 通过Link组件改变路由并且拆分打包提供Hooks通过Vercel创建数据未完待续... 前言 对于那些对Next.js一无所知的前端伙伴来说&…

鸿蒙开发(二)-项目结构

鸿蒙开发(二)-项目结构 上篇文章我们讲了如何配置鸿蒙开发的基础环境,以及创建了第一个鸿蒙程序。 这篇我们讲述了鸿蒙应用的项目目录结构。 如图所示:我们切换项目project可以看到。 另一种则是Ohos模式: AppScope->app.json5 应用的全局配置 {&q…

华为新发布磁电存储“王炸”,到底是什么?

最近,在巴塞罗那举行的2024年世界移动通信大会(MWC24)上,华为数据存储产品线总裁周彼得博士介绍了这款即将面世的产品。他向听众表示,与磁带存储相比,该设备可以降低20%的总连接成本,而与硬盘相…

DHCP中继实验(华为)

思科设备参考: 一,技术简介 DHCP中继,可以实现在不同子网和物理网段之间处理和转发DHCP信息的功能。如果DHCP客户机与DHCP服务器在同一个物理网段,则客户机可以正确地获得动态分配的IP地址。如果不在同一个物理网段,…

Web渗透测试流程

什么是渗透测试 渗透测试 (penetration test),是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个…

机器学习第29周周报 Beyond Dropout

文章目录 week29 Beyond Dropout摘要Abstract一、泛化理论二、文献阅读1. 题目2. abstract3. 网络架构3.1 特征图失真3.2 失真优化 4. 文献解读4.1 Introduction4.2 创新点4.3 实验过程4.3.1 全连接层实验4.3.2 卷积网络上的实验 4.4 结论 小结参考文献 week29 Beyond Dropout …

国产硅片膜厚检测仪

硅片膜厚检测仪是半导体行业中一种至关重要的设备,用于精确测量硅片上薄膜的厚度。在半导体制造工艺中,薄膜厚度的控制对于保证器件性能和可靠性具有决定性的作用。因此,硅片膜厚检测仪的研发和应用对于推动半导体技术的发展具有重要意义。 一…

SSM框架,MyBatis-Plus的学习(下)

条件构造器 使用MyBatis-Plus的条件构造器,可以构建灵活高效的查询条件,可以通过链式调用来组合多个条件。 条件构造器的继承结构 Wrapper : 条件构造抽象类,最顶端父类 AbstractWrapper : 用于查询条件封装&#xf…

苍穹外卖-day01

苍穹外卖-day01 目录 苍穹外卖-day01课程内容1. 软件开发整体介绍1.1 软件开发流程1.2 角色分工1.3 软件环境 2. 苍穹外卖项目介绍2.1 项目介绍2.2 产品原型2.3 技术选型 3. 开发环境搭建3.1 前端环境搭建3.2 后端环境搭建3.2.1 熟悉项目结构3.2.2 Git版本控制3.2.3 数据库环境…

一篇搞懂什么是LRU缓存|一篇搞懂LRU缓存的实现|LRUCache详解和实现

LRUCache 文章目录 LRUCache前言项目代码仓库什么时候会用到缓存(Cache)缓存满了,怎么办?什么是LRUCacheLRUCache的实现LRUCache对应的OJ题实现LRUCache对应的STL风格实现 前言 这里分享我的一些博客专栏,都是干货满满的。 手撕数据结构专栏…

账号管理支持批量测试资产可连接性,资产管理支持通过标签方式选择资产,JumpServer堡垒机v3.10.4 LTS版本发布

2024年3月4日,JumpServer开源堡垒机正式发布v3.10.4 LTS版本。JumpServer开源项目组将对v3.10 LTS版本提供长期的支持和优化,并定期迭代发布小版本。欢迎广大社区用户升级至v3.10 LTS最新版本,以获得更佳的使用体验。 在v3.10.4 LTS版本中&a…

Chrome中如何导出和导入书签

导出书签 如下图所示: 右上角三点->书签和清单->书签管理器->右上角三点->导出书签 然后你选择保存地址即可。打开后如下: 导入书签 如下图所示: 右上角三点->书签和清单->导入书签和设置->选择以前导出的书签&…

基于Vue移动端电影票务服务APP设计与实现

目 录 摘 要 I Abstract II 引 言 1 1 相关技术 3 1.1 Vue框架 3 1.2 数据库MongoDB 3 1.3 Axios请求 3 1.4 H5、CSS3和JavaScript 4 1.5 本章小结 4 2 系统分析 5 2.1 功能需求 5 2.2 用例分析 5 2.3 用户功能 6 2.4本章小结 6 3 基于Vue电影票务服务APP设计 7 3.1 页面设计 …

DFS和BFS以及练习题目(未完待续)

DFS和BFS 温馨提示:学习dfs之前最好先了解一下递归的思想。 递归思想 斐波那契 题目分析 题目代码 import java.util.Scanner; public class Main{static long dp[]; public static void main(String[] args) {Scanner scanner new Scanner(System.in);int t…

手机号验证码重新发送

前文叙述 很久以前做的一个 demo ,纯 HTML 、CSS、js 制作,一定时间段之后才可以重新发送验证码,如 60s 后再次发送验证码,在该时间段内发送验证码按钮为禁用状态,实战开发过程也亦是同理,因此记录一手。 一…

供应商评价与选择改进研究——21年数学建模国赛C题分析

题目描述 问题一分析(基于APH、PCA和TOPSIS的供应商评价与选择) 问题一需要我们对附件一中的402家供应商的数据进行处理并量化分析,并构建数学模型选择当中最重要的50家供应商。 附件一: 部分订货量 部分供货量 注意&#xff…

Android 9.0 Folder文件夹全屏后文件夹图标列表居中时拖拽app到桌面的优化

1.概述 在9.0的系统rom产品开发中,在Launcher3中在目前的产品需求开发中,对于Launcher3中的文件夹Folder的布局UI 进行了定制化的需求要求把Folder修改为全屏,然后在中间显示文件夹图标的列表,这时候如果Folder是全屏的话,如果拖拽文件夹列表中的app图标,只有拖拽 到屏幕…