一、指标介绍
1.1 什么是指标
指标是用来衡量、评估和描述数据的特征、性能或关系的度量标准,即:指标是对不同维度(包括粒度)进行事务的描述。
1.2 指标分类
指标包括原子指标(概念指标、虚空指标)、派生指标(即dws、ads加工指标)、复合指标。
(1)原子指标:原子指标是指基于业务过程指标描述,像是一种指标概念,虚空指标,如交易笔数、交易金额、交易用户数,注册用户数等。
(2)派生指标:基于原子指标、时间周期、维度,圈定业务统计范围并分析获取业务统计指标的数值,派生指标 = 原子指标+统计周期(1d、7d、30d、截止至今) + 统计粒度(维度的组合)+ 业务限定。
(3)复合指标:指建立在派生指标之上,通过一定运算规则形成的计算指标(分子/分母),通常以率出现。例如:最近30天销售部门员工离职率= 最近30天销售部门员工离职数/最近30天销售部门员工数。
二、指标体系建设
2.1 指标体系建设的目的
与下游(风控策略/数据分析/数据产品/算法)达成合作,保障指标建设时口径的统一,完成指标覆盖,提升复用性,通过可视化方式提升查询效率。
2.2 没有指标体系的问题
(1)指标难找到:数据表较多,找指标如大海捞针,如果只是用元数据去搜指标仍具有难度。
(2)指标无复用:由于没指标中心,开发者不清楚指标之前是否开发,导致指标重复建设,最终出现烟囱数据表。
(3)指标口径难统一:开发的指标由于指标口径不一致,不同部门的业务方理解不一致,导致指标出现二义性出现。
(4)指标杂乱难管理:未划分指标域,指标杂乱无章野蛮生长,同时指标名称无法统一,较难管理。
同样指标中心带来的问题点在于:开发周期更慢了,维护指标太花费时间,开发都没空还怎么维护指标(不过也可以定期来,例如一个宽表开发完后进行整体维护,或者某个项目完成后去维护,再或者2周内花4小时工时来维护一次)
2.3 指标建设
2.3.1 指标梳理办法
当前大多数公司指标早已成型 (如果是新公司/新业务在做数仓,可忽略这个点),因此在做指标体系之前需要先梳理现有的指标:
(1)第一期可以优先找出核心指标
- 核心指标看板指标(top20)
- 梳理出常用top 看板 / ads 数据表中重叠指标 (需要借助元数据或者自己扒代码或查看元数据),这里一定是同域/跨域,同颗粒度的指标
- 现有指标可按照业务使用频次(可用元数据去看)
(2)第二期可以根据常用的域把业务频率使用高的指标补充进指标中心
2.3.2 指标梳理常遇到的坑
难点1:每个业务方对名称一样的指标,理解方法不一样,所以只能采用再新建一个指标方式去维护,例子如下:
指标名称 | 指标使用者 | 指标业务口径 | 新指标名称 |
最近30天销售部门员工离职数 | 数据分析 | 最近30天一级部门为销售的员工离职数 | 最近30天销售部门员工离职数 |
最近30天销售部门员工离职数 | 产品 | 最近30天一级部门为销售且除去xx产品部门的员工离职数 | 产品_最近30天销售部门且除去xx产品部门员工离职数 |
难点2∶很多指标名称写的很模糊,例如杭州地区用户下单数这指标,可能用于看板做周期展示所以没确定下来指标周期,这种指标可先按照最近1天来进行命名确认(最近1天杭州地区用户下单数)。
2.3.3 指标域划分
这里的指标域是指从业务角度划分使用的域,如果暂时梳理不出来指标域,可以用主题域去替代指标域,但在制定后一定要拉下游业务开会对齐,例如一级域营销活动域 (通常 运营、数分在用)、风控域 (风控策略在用)、算法 域(算法开发在用)等; 二级域可划分(风控域-催收风险域、准入风险域),可参考如图的的样式,如没有指标平台可先采用excel方式整理,如考虑做指标数据平台可考虑这个板块。
excel整理方法如下:
指标使用者 | 一级指标域 | 一级指标域命名(缩写) | 二级指标域 | 二级指标域命名(缩写) |
数据分析 | ||||
风控策略 | 风控 | risk | 催收风险 | cr(collection risk) |
产品 | ||||
运营 |
2.3.4 指标维度梳理
在确定完指标域之后,可对指标维度进行全面整理(之前有整理过核心/全盘指标),因此可以对当前使用过的维度进行建设维护 (如: 新业务可于业务方沟通确认后再制定核心维度) ,如没有指标平台可先采用excel方式整理。
excel整理方式如下(2种皆可,看业务适配性):
维度名称 | 维度枚举 | 枚举 code | 维度描述 |
地区-省份 | 北京、上海 | bj、sh | 地区-省份信息描述 |
维度名称 | 维度一级分类 | 维度二级分类 | 维度三级分类 | 维度描述 | 维度版本 | 创建时间 | 修改时间 |
省份 | 地区 | null | null | 地区-省份信息描述 | v1 | 2024-07-07 11:11:11 | 2024-07-07 20:11:11 |
市 | 地区 | 省份 | null | 地区-省份信息描述 | v1.1 | 2024-07-07 11:11:12 | 2024-07-08 20:11:11 |
2.3.5 指标周期梳理
和梳理维度一样在确定完指标域之后,可对指标周期进行全面整理 (之前有整理过核心/全盘指标),如没有指标平台可先采用excel方式整理。
周期名称 | 周期code | 周期描述 |
最近30天 | 30d | 最近30天 |
2.3.6 指标命名
在梳理完整体指标后可参考如下命名方式,更快去治理线上指标(改字段名补comment),但要切记改动字段需让下游提前知会,并做排期修改。如果贸然去做很容易造成线上事故,例如 ads表直接对接报表,引用都是原来的字段名,昨天突然改成新的了,下游不清楚,第二天看板就有问题。
指标命名规范参考:
命名模板参考 | 中文注释 | 字段类型 | 举例命名 | 举例中文注释 |
xxx(维度,可不加)_原子指标_cnt/days_周期(1d、30d、td(截止至今) 、mtd) | xx维度_最近x天_原子指标(整数) | bigint、int | trade_user_registration_cnt_30d | 交易域最近30天用户注册数 |
xxx(维度,可不加)_原子指标_amt_周期(1d、30d、td(截止至今) 、mtd) | xx维度_最近x天_原子指标(小数) | Double、decimal | trade_user_pay_amt_30d | 交易域最近30天用户支付金额 |
xxx(维度,可不加)_原子指标_cnt/amt_周期(1d、30d、td(截止至今) 、mtd、last1( 最近一次)) | xx维度_最近x天_原子指标 | Double、decimal、bigint、int | trade_user_pay_amt_last1 | 交易域最近—次用户支付金额 |
三、指标平台板块建设
如果按上述内容去建指标中心还远远不够,接下来从平台角度去讲解指标平台应有的功能。
3.1 指标地图
指标地图做法可参考数据地图,指标地图能够提升用户搜索全局指标效率(前提是指标维护好,否则还是跟原来一样的难查),这里功能包括搜索跳转,平台热度指标top、用户收藏指标、指标域板块、指标个数。
3.2 指标目录
指标目录通常展示指标信息情况以及指标新建情况,以及指标分类筛选(原子、派生、复合),通常是让用户通过规模化进行指标查看。
3.3 新建/变更指标
新建指标需要考虑原子、派生、复合指标情况,因为三者的属性不一样。同时建议整理清楚指标血缘,因为新建的指标需要与数据表进行关联。
3.4 多指标组合查看
从业务角度来看,本质是报表中的维度以及度量的组合,只需要给业务开数据权限即可,可以理解为标签画像组合升级版。
3.5 指标监控
指标监控可以配置成 弱dqc(数据质量监控),并将弱dqc的告警转发到飞书群里。当然,单独做一个指标监控板块也行,现在报表已经具备指标监控功能。
3.6 权限管控
跨部门之间权限管控一直是很多数仓、数分遇到的通病,例如:如何给企业内部划分好角色权限、如何按照看到的内容进行限制都是很多企业不知道该怎么划分的痛点。假设:采用最小原则,对用户单独授权,走审批流,给下游整个部门开权限可以按照资源来授权,这里可以将做好的数据宽表同步到指标平台中来,形成新的数据集,按照物化视图来给业务开查询功能。
3.7 指标审批
指标审核链路如下:
业务(运营等)发起 --> 数据分析/数据产品(校验业务口径是否合理) --> 数据仓库(校验之前有没有做过这个指标,如做过则审批驳回,如没做过需要评估是否有数据源实现可能) --> 数据仓库 / 数据分析leader收口
参考文章: