数据资产是数据管理和应用领域经常被提到的概念,数据中台的目的就是将数据转变为数据资产。数据资产是由企业拥有或控制,能够为企业带来经济利益的数据资源。可明确作为“资产”的数据资源,表现为以下两种形式:可帮助现有产品实现收益的增长;数据本身可产生价值。数据资产一定是有价值的数据,没有价值的数据不能称为数据资产。
什么样的数据能成为数据资产呢?比如,大型集团集采平台基于供应商数据、采购业务数据、物资数据做出推荐系统,这个推荐系统提升了采购体验,提高了采购效率,降低了采购成本,这些整合后的供应商数据、采购业务数据、物资数据就是数据资产。但是,现在一些企业没有统一的定义数据的标准,没有统一的数据存储规范,只是粗放地收集数据,把数据散乱地存放在服务器里,这些数据不能被组织和利用,就不能成为数据资产。因此我们需要一套标准的指标体系和模型体系来定义和存储数据,标准化输出数据能力,让数据成为资产。
二、数据指标体系
1、数据指标的定义
指标是公司在经营和生产管理过程中衡量某一个目标或事物的数据,包含指标名称和定义、计算单位、计算方法、维度和指标数值等要素。通过指标的拆解定义一套没有歧义、标准一致的数据指标体系,只有增长指标才能指导企业如何行动,从而实现企业价值增长。
2、数据指标的重要性
要想发挥数据中台的核心作用,要做的第一件事就是梳理公司的数据指标体系。在实际项目中,当梳理公司的指标时,我们会发现每个部门对同一个指标的定义有可能是不一致的,甚至一个部门内的人员对同一个指标的理解都有可能不同,由于每个部门职责不同,他们通常只会站在本位角度上定义指标,而每个人看待和理解这个世界的角度也是不同的,所以他们通常会站在自己的角度上定义指标。
通常各部门根据自身业务需要,都有一部分的量化指标,但不够全面,也缺乏方法论指导,对于企业整体数据分析应用能力提升的指导作用有限;由于缺乏整体考量而设置的指标体系,以及错误的指标分析方法,会产生错误的分析结果,进而影响运营层面、产品改进方面的决策。另外,如果标准不统一,就很难进行部门间的横向对比。比如部门A提交的年交易额是10万元,部门B提交的该年交易额是50万元,如果没有统一的标准,我们就无法衡量50万元的交易额比10万元的交易额的价值高。一个指标的开发过程涉及业务部门、管理部门、技术部门等,沟通成本很高,只要一个环节理解不对,指标的计算结果就会不准确。因此,为公司建立一套清晰、没有歧义的指标体系是数据中台需要承担的一项十分重要的工作。
3、如何定义数据指标
那如何让指标定义清晰且没有歧义呢?解决这个问题的核心方法就是拆解:将一个数据指标拆解到不能再继续拆解为止,这样就能够最大限度地保证理解无误。
(1)业务板块:即面向行业的业务,也就是公司的业务线,不会经常变。比如一个公司有六大业务分别是油气、炼油和化工、矿业、装备制造、光伏、科研,那么这六个业务就分别属于不同的业务板块。
(2)数据域:数据所属的领域。例如,销售、生产、库存都属于数据域。
(3)业务过程:完成某个业务所涉及的全部过程。如销售业务中的定价、寻客、销售、回款等环节都属于业务过程。
(5)修饰类型:对修饰词的描述。如供应商中的信用级别、所属区域等。
(6)修饰词:除了维度以外的限定词,如支付方式中的电汇、支票、承兑等。
(7)原子指标:即不可再拆分的指标,比如支付金额、支付件数等指标。
(9)属性:隶属于维度。如地理维度中的国家名称、省份名称等都属于属性。
接下来我们通过一个实际的案例来看下制定指标的方法。
为确保指标数据标准定义的完整与严谨,我们形成了一整套指标数据标准的信息项属性架构。
通过对业务的全面梳理和分析,归纳并定义了5大主题36个子主题域共2083个指标,来反映公司关键数据指标的分布。
根据公司实际情况,制定数据指标体系建设4步走的推进路线,即收集→梳理→讨论→统一,有序推进项目进展,实现集团和园区层面的数据指标体系统一、完整、准确。
最后为了保证数据指标的一致性,公司的数据指标应该交由数据中台负责部门统一管理,公司内所有部门应该以这套指标体系为准,如果有对指标的新增或者修改,首先要通知数据中台负责部门,然后再同步给公司其他部门。这套指标体系的定义如同公司的法律,必须人人遵守,这样就能最大程度地保证指标的一致性和统计数据的合理性。
三、数据模型设计
要想了解为什么要进行数据模型设计,首先我们要了解一些概念,比如什么是数据库、什么是数据仓库、数据仓库和数据库的区别是什么、数据仓库为什么要分层存储。
1、什么是数据库和数据仓库
假设公司领导让你统计公司当月的总交易额,如果你的公司只有一条产品线,那么这项工作就十分简单。
首先,你可以从业务系统中提取产品线的全部订单,接着,你可以提取当月的订单,并针对下单金额做汇总。最后,你就可以将汇总计算出的交易额数据准确无误地提交给领导。
但是如果你所在的公司是一家大型多元化集团公司,公司内部有多个板块,你的领导要求你汇总各板块当月的总交易额,你应该怎么做?在没有数据仓库的情况下,你会这样处理:首先统计公司有多少条业务板块;然后找到每个业务板块的业务负责人,索要当月该板块的订单;接着将所有订单汇总到Excel中,这时候你会发现,因为业务形态的不同,各板块给你的订单数据没有统一的标准,比如订单状态,每个板块都会有自己的标准。你应该以怎么样的口径统计每个板块的交易额呢?因为标准不统一,会导致你的工作效率很低,而且统计的数据不一定准确。
通过以上案例我们可以看出数据库与数据仓库的用途是完全不同的。数据库和数据仓库虽然都是用来存储数据的,但数据库是用来存储业务数据的,而数据仓库是用来存储汇总后的报表数据的。
数据仓库的主要作用是存储汇总统计的数据,以支撑公司的决策分析。一般来说,数据仓库的数据量是比较大的,而且其汇总统计的数据一般是不会再有变化的,比如上文提到的公司当月的交易额,这个汇总的数据不会因为新增的订单而变化,而业务数据库的数据量会随着用户的交易次数增多而增多。如果公司业务比较简单,那么就没有必要搭建数据仓库,基于数据库已经足够做统计分析了,但是多元化集团公司要做大量的数据分析时,就适合搭建数据仓库。
2、数据仓库的分层建模体系
数据中台数据模型的分层建设业界比较通用的分层方式是将数据模型分为四层:
①ODS层(OperateDataStore,操作数据层)和DIM层(Dimension,维度数据层);
②DWD层(DataWarehouseDetail,明细数据层);
③DWS层(DataWarehouseService,汇总数据层);
④ADS层(ApplicationDataStore,应用数据层)。
第二层是DWD层。DWD层数据是数据仓库的第二层数据,一般基于ODS层和DIM层的数据做轻度汇总。DWD层存储经过处理后的标准数据,需要对ODS层数据进行再次清洗(如去空/脏数据、超过期限的数据等操作)。DWD层的结构和粒度一般与ODS层保持一致,但是DWD层汇总了DIM层的维度数据,比如在ODS层只能看到A车间的产量数据,但是在DWD层不但能看到A车间的产量数据,还能看到B车间的产量数据。
第四层是ADS层。ADS层数据是数据仓库的最后一层数据,以DWS层数据为基础进行数据处理。ADS层的最主要目的就是给数据可视化应用提供最终的数据。后端开发工程师基于ADS层的数据将最终数据结果以接口的形式展示给数据中台的应用层。
在实际数据中台项目中针对数据指标的开发,有以下两种情况比较常见。
(1)数据指标口径发生变化。随着业务的变化,数据指标的统计口径不是一成不变的,数据指标经常会基于业务目标的变化而变化,相应的统计逻辑也会变化。
(2)增加数据指标的统计维度。单个维度的数据指标统计随着业务的发展有可能不再满足需求,此时很有可能遇到给数据指标增加统计维度的情况,数据指标的统计维度越丰富,就越有利于数据分析。
针对这两种情况我们分别看一下没有分层建模和分层建模的区别。
第一种情况:数据指标的统计口径发生了变化。比如统计口径由之前的统计A产品的当月全部订单的交易额变为统计A产品当月的订单状态为“已支付”的订单的交易额。此时其实数据指标并没有发生变化,仍然叫“交易额”,但是统计口径发生了变化。
如果没有进行分层建模,那么对外的接口要增加订单状态筛选的逻辑,再进行测试、核对数据、发布新版本接口才能完成针对交易额统计的优化。如果进行了分层建模,ADS层、DWD层的数据是不用变化的,因为业务数据库的原始数据没有变化。此外,因为数据指标的显示没有变化,所以只需针对DWS层增加筛选订单状态为“已支付”的统计逻辑,然后由数据开发工程师、测试工程师测试DWS层并统计数据即可,不用发布新版本的对外接口,所以应用层并不用再针对接口做对接。
第二种情况:给数据指标增加统计维度。比如不但要查看A产品的当月交易额,还要查看A产品的当月不同省份、不同行业的交易额。如果没有进行分层建模,每增加一个维度就增加一倍的工作量,要重新修改计算逻辑、重新定义对外接口、重新测试、重新发布新的版本才能完成数据指标的新的维度统计。
如果进行了分层建模,由于DWD层和DWS层已经丰富了交易额的维度如区域、行业等,那么只需后端开发工程师在通过接口提取ADS层数据时新增维度“省份”和“行业”的统计结果,然后重新发布对外的接口即可,由于新的数据指标统计不需要数据开发工程师的参与,所以大大减少了数据中台开发的工作量。
4、综述
数据中台项目建设过程中,数据模型的科学性、合理性、高效性是数据资源转化为数据资产的重要基础,数据指标定制的全面性、规范性、有效性是数据中台发挥价值的重要保障。因此,企业在构建数据中台时,必须重视数据指标体系的构建和数据模型的设计,必要时引入外部咨询机构和专家力量,避免将数据中台建成数据重台。