One Data:看阿里如何进行数据指标体系的治理
The following article is from 首席数据科学家 Author NK冬至
“ 阿里One Data,值得我们好好学习。”
想必做数据的同学对One Data都有所耳闻。但One Data 体系具体包含了内容、有怎样的应用,不知道大家是否了解?今天我们详细分享一下One Data体系中关于数据治理(指标体系可参考历史文章《从余额宝角度看指标体系的搭建》)相关的内容。
01
—
One Data整体概述
首先,我们看看One Data的整体概况。
(1)关于定位
One Data是阿里系进行数据指标规范定义的规则、工作流及元数据管理系统(关于元数据可以 参考历史文章)。这里主要囊括了三部分内容:
数据指标规范定义:即数据指标体系规范治理,这部分是我们今天分享的核心内容。
数据模型设计开发:其实就是数仓数据模型设计(可 参考历史文章),咱们今天不展开了,后面合并在数仓实践的文章中详细阐述
数据研发:即所有指标下挂物理表关联信息回流+算法服务化接口对接外部系统,今天暂时不详细展开
从下面阿里的整体架构图中,能清楚看到One Data体系的定位与作用。
(2)关于目标
One Data致力于解决的问题是啥呢?它主要期望建成一个指标一个算法,从算法定义、数据研发到数据服务,可管理追溯从而规避重复建设。
指标规范定义:一个指标只有一个英文字段、一个中文字段、一个算法定义,避免不同部门口中的指标逻辑不同一问题。
研发流程:数据研发物理表结构创建发布的引用字段全部依托指标规范定义的结果
数据服务:一个主题下的同主键逻辑表,仅提供规范定义的唯一一个数据指标
通过提供标准的(standard)、服务化的(service)、安全的(safe)、共享的(shared)数据,以消除业务和技术之痛。
02
—
数据指标体系治理
上面我们提到了One Data主要的内容包括数据指标体系、数据建模等。下面,我们看一下指标体系治理的整体概况。
(1)指标体系及示例
指标体系的整体架构如下:
在这里,阿里将一个最终的数据指标(派生指标)层层拆解,比如拆解出修饰词、维度等等,通过这种方式将指标规范化、体系化。不然,一堆指标在一起,只能是指标字典,而不是指标体系。
派生指标由原子指标、时间周期修饰词、若干其他修饰词组合得到。
原子指标、修饰类型及修饰词,直接归属在业务过程下,其中修饰词继承修饰类型的数据域。
派生指标可以选择多个修饰词,修饰词之间的关系为‘或’或者‘且’的关系,具体由具体的派生指标语义决定。
派生指标唯一归属一个原子指标,继承原子指标的数据域、与修饰词的数据域无关。
原子指标有确定的英文字段名、数据类型和算法说明;派生指标要继承原子指标的英文名、数据类型和算法要求。
(2)指标命名规范
名所用术语尽量使用英文简写,其次是英文,当指标英文名太长时,可考虑用汉语拼音首字母命名。如中国质造,用zgzc。在OneData工具中,维护了常用的名词术语,以用来进行命名。
派生指标英文名:原子指标英文名+时间周期修饰词(=3位,例如,_1d)+序号 (=4位,例如,_001)。派生指标中文名:时间周期修饰词+[其他修饰词]+原子指标。
我们拿一个指标「最近1天SEO来源的海外搜索UV」举例,看中英文指标名称的命名规范。
修饰词只有时间周期才会有英文名,且长度为2位,加上“_”为三位,例如_1d。阿里常用的时间周期修饰词列表如下:
原子指标必须挂靠在某个业务过程下。中文英文名:动作+度量。
在OneData 工具中,英文名与中文名都会由OneData 工具自动生成。
派生指标为了控制英文名称过长,在英文名的理解和规范上做了取舍,所有修饰词的含义都纳入了序号中。序号是根据原子指标+派生指标自增的。
(3)相关名词解释
关于指标体系的相关名词,可参考下表解释:
03
—
指标体系规范细则
下面针对指标体系的规范细则详细展开说明。派生指标可以分为三类:事务型指标、存量型指标和复合型指标。按照其特性不同,有些必须新建原子指标,有些可以在其他类型原子指标基础上增加修饰词形成派生指标。
事务型指标是指对业务活动进行衡量的指标。例如,新发商品数,重发商品数,新增注册会员数,订单支付金额,这类指标需维护原子指标及修饰词,在此基础上创建派生指标。
存量型指标是指对实体对象(如商品、会员),某些状态的统计。例如,商品总数,注册会员总数,这类指标维护原子指标及修饰词,在此基础上创建派生指标,对应的时间周期一般为“历史截止到当前某个时间”。
复合型指标是在事务性指标和存量型指标基础上复合而成的,例如,浏览UV-下单买家数转化率,有些需要创建新原子指标,有些则可以在事务性或存量型原子指标基础上、增加修饰词得到派生指标。
(1)比率型
比率型需创建原子指标。例如,CTR,浏览UV-下单买家数转化率,满意率等。举例:“最近1天店铺首页CTR”。
原子指标为“CTR”,
时间周期为“最近1天”,
修饰类型为“页面类型”
修饰词为“店铺首页
(2)比例型
比例型需创建原子指标。例如,百分比、占比。举例:“最近1天无线支付金额占比”
原子指标为“支付金额占比”,
修饰类型为“终端类型”,
修饰词为“无线。
(3)变化量型
变化量型不创建原子指标,增加修饰词,在此基础上创建派生指标。举例:“最近1天订单支付金额上1天变化量”,
原子指标为“订单支付金额”,
时间周期为“最近1天”,
修饰类型为“统计方法”,
修饰词为“上1天变化量”。
(4)变化率型
变化率型创建原子指标。举例:“最近7天海外买家支付金额上7天变化率”,
原子指标为”支付金额变化率”,
修饰类型为“买家地域”,
修饰词为“海外买家”。
(5)统计型
统计型(均值、分位数等)不创建原子指标,增加修饰词,在此基础上创建派生指标;在修饰类型“统计方法”下增加修饰词:人均、日均、行业平均、商品平均、90分位数、70分位数等。举例:自然月日均UV,
原子指标为UV,
修饰词为“统计方法”,
修饰词为“日均”。
(6)排名型
创建原子指标,一般为top_xxx_xxx,有时会同时选择rank和top_xxx_xxx 组合使用。
创建派生指标时选择对应的修饰如下:
统计方法(例如:降序,升序);
排名名次(例如:TOP10);
排名范围(例如:行业、省份、一级来源等);
根据什么排序(例如:搜索次数,浏览PV)
(7)对象集合型
创建原子指标,一般为xxx串;创建派生指标时选择对应的修饰如下:
统计方法(例如:降序,升序);
排名名次(例如:TOP10);
排名范围(例如:行业,区域)
示例如下:
关于指标体系的细节规范,就先介绍这些。
04
—
产品化设计与操作
最后,我们详细看一下阿里如何对指标体系治理进行的产品化设计。
(1)整体结构
整体菜单结构如下:
(2)权限体系
不得不说,阿里对于数据权限的控制是非常严格和严谨的。
权限分配流程如下:
权限范围如下:
角色权限如下:
(3)规范定义
查找:搜索+分类检索+筛选项+排序方式选择+状态再次筛选
一般情况,均通过页面右上角新建按钮进行新建。修饰词,提交审核,系统自动通过。
维度属性,支持批量导入:
维度可进行下挂子维度管理,如:商品有所属类目,类目为父维度,商品为子维度;可以查看一个维度的父子维度信息。
关于One Data中指标体系治理相关的内容,我们就分享这些。文章中也提到了,One Data其实不止包括数据指标治理,也有数据建模的内容,这块相关的实践我们后面再详细分享。
🧐分享、点赞、在看,给个3连击呗!👇