数据治理的内核:数据质量
从身边的感受出发,作为围绕数据转的角色来,你是否经历过一下场景:
9 点钟刚开始上班,用户群里已经炸了锅,营销数据报表、经验概况……今天的数据怎么还没出来啊,晨会着急看数呢。
CDP 平台新客大礼包营销场景,为什么出现了是实为老客但系统判定成新客,多发的成本,损失谁来承担啊?
昨天 DAU 同比下降了 80%,你们确认下数据对不对,是不是数据不全啊?
大数据安全法 9 月 1 日正式实行了,你们数据产品中怎么出现了用户身份信息,你违法了啊!
业务发现流量统计有个异常的峰值,被业务 diss,你们数据产品自己不看数据吗,没有一点业务常识和数据 sense 吗?
张三,你数据不准啊。
……
从数据质量问题引发的价值损失的统计角度来看:
在数仓建设上,50%的数据仓库因数据质量而被取消或延迟。
在经济损失上,数据错误每年对美国工业界造成的经济损失约占 GDP 的 6%。
在医疗事故上,根据美国医疗委员会的统计,由于数据错误引起的医疗事故仅在美国每年就导致高达 98000 名患者丧生。
在电信产业上,数据错误经常导致故障排除的延误、多余设备租用和服务费收取错误,损害了企业信誉甚至会因此失去很多用户。
在商业上,美国零售业每年仅因标价错误就损失 25 亿美元。
在金融企业中:因数据质量问题导致的信用卡欺诈失察在 2008 年即造成 48 亿美元的损失。
以上这些问题,都可以归结为是数据的质量问题。数据治理中最核心的内容就是数据质量,一切的数据治理就是围绕提高数据质量展开的。
一定程度上,数据治理决定了数据部门在公司里的地位,试想下数据部门产出的数据经验不准,会逐渐丧失业务部门甚至管理层的信任。站在公司层面来讲,也会极大的削弱数据带来的价值,让数据本身失去了意义。
数据质量的定义
首先讲下数据质量,在业务环境下,数据符合数据消费者的使用目的,数据质量需要满足业务场景具体的需求。数据质量包含两个方面:数据自身的质量和数据的过程质量。
数据自身的质量很好理解,比如数据必须真实准确地反映实际发生的业务,任何业务操作的数据都没有被遗漏,数据存在各种约束条件,这种约束条件不能自相矛盾等等。
数据的过程质量就是数据的使用过程符合标准规范,比如数据存储:数据是否被安全的存储到了合适的介质上,能够保证数据不受外来因素的破坏。当然数据存储只是数据使用过程的一个环节,除此之外还包括获取、传输、应用和删除等一系列的使用过程,这其实也是数据生命周期的各个阶段。
那么围绕着数据质量问题而展开的,对数据在每个阶段里可能引发的各类数据质量问题进行识别、度量、监控、预警等一系列管理活动,并通过改善和提高组织的管理水平确保数据质量的提升就是数据的质量管理。
换句话说,数据质量管理是一个集方法论、管理、技术和业务为一体的解决方案,不是一时的数据治理方法,是一个不断循环的管理过程。一方面反映出企业数据很难一次性就达到使用的标准规范,毕竟数据治理是一个相对漫长的过程;另一方面也反映出数据质量的重要性以及数据质量工作的零散性和琐碎性。
数据质量的分析与拆解
大数据的建设和管理是一个专业且复杂的工程,涵盖了业务梳理、标准制定、元数据管理、数据模型管理、数据汇聚、清洗加工、中心存储、资源目录编制、共享交换、数据维护、数据失效等等过程,理论上任何一个环节中出错,都可能会导致数据的异常甚至是错误问题。
数据质量产生的原因
一般来讲,行业内把数据质量问题的划分为三个方向:技术侧,业务侧,管理侧。
技术侧
数据标准制定:数据输入规范不统一,不同的业务部门、不同的时间、甚至在处理相同业务的时候,由于数据输入规范不同,造成数据冲突或矛盾。如果在数据的生成过程中包含主观判断的结果,必然会导致数据中含有主观的偏见因素。并且,不是所有行业都有公认可信的数据标准,而组织标准制定过程中容易出现数据元描述及理解错误,代码码集定义不正确、不完整等情况。
数据模型设计:由于对业务理解的不到位或技术实践水平不到位,数据库表结构、数据库约束条件、数据校验规则的设计不合理,造成数据存储混乱、重复、不完整、不准确。
数据源本身:在生产系统中有些数据就存在不规范、不完整、不准确、不一致等问题,而采集过程没有对这些问题做清洗加工处理,或清洗加工的程序代码不正确。
数据梳理过程:在数据采集之前,需要梳理组织机构、业务事项、信息系统、数据资源清单等信息,那么对业务的理解不到位,将造成梳理报告的不完整或不正确。
数据采集过程:采集点、采集频率、采集内容、映射关系等采集参数和流程设置的不正确,数据采集接口效率低,导致的数据采集失败、数据丢失、数据映射和转换失败。
数据清洗加工:数据清洗规则、数据转换规则、数据装载规则配置有问题,甚至未按照数据标准开展相应的清洗加工工作,自由发挥的空间过大。并且在数据汇聚的过程中,没有及时建立数据的相关性,导致后期很难补充完善。
业务侧
业务理解不到位:数据的业务描述、业务规则、相关性分析不到位,导致技术无法构建出合理、正确的数据模型。
业务流程的变更:业务流程一变,数据模型设计、数据录入、数据采集、数据传输、数据清洗、数据存储等环节都会受到影响,稍有不慎就会导致数据质量问题的发生。
数据输入不规范:常见的数据录入问题,如:大小写、全半角、特殊字符等一不小心就会录错,甚至还会将数据输入到错误的字段中,造成“张冠李戴”。人工录入的数据质量与录数据的业务人员密切相关,录数据的人工作严谨、认真,数据质量就相对较好,反之就较差。
业务系统烟囱林立:过去 20 年中,只要是稍大一点的企业和政府部门,都建设了一批信息化系统来解决业务问题,但也导致了如今信息化整合的痛点和困难,变先发优势为数据困境。
数据作假:操作人员为了提高或降低考核指标,对一些数据进行处理,使得数据真实性无法保证。
管理侧
人才缺乏:组织以自身的业务发展的主要原则组建团队,数据建设则依赖于外部服务公司,而自身没有建立相应的管理手段和监督机制,从而无法准确判断数据项目的建设成效。
流程管理不完善:缺乏有效的数据质量保障机制和问题处理机制,数据质量问题从发现、指派、处理、优化没有一个统一的流程和制度支撑,数据质量问题无法闭环。
成员意识不开放:组织管理缺乏数据思维,没有认识到数据质量的重要性,重系统而轻数据,认为系统是万能的,数据质量差些也没关系。组织成员没有从组织战略的视角来看待数据资产,而把数据看成是创造它的部门的资产,从而导致数据冗余、数据不一致、数据割裂,从而导致数据价值难以发掘。
奖惩机制不明确:没有明确数据归口管理部门或岗位,缺乏数据认责机制,出现数据质量问题找不到权威源头或找不到负责人。缺乏数据规划,没有明确的数据质量目标,没有制定数据质量相关的政策和制度。
总体来讲可以从三个方面来简单的概述:
源端数据问题:如不准确、不一致、不完整、不可访问
数据处理问题(同步集成、计算、存储、查询):如不准确、不一致、不完整、不及时、不可访问
数据口径问题:如不一致、各方理解偏差(不准确、不一致)
数据质量的评估
不同的数据规范体系中,对数据规范的描述或有不同,我们从数据本身的角度出发,从五个维度给出数据质量评估的参考框架:
完整性:描述信息的完整程度,如电话号码是否有空值;
准确性:描述数据和客观实体的特征是否相一致,如数据库中记录的电话和实际电话不一致;
有效性:数据是否满足用户定义条件、内容规范约束等,如年龄为-32 岁,违反常理;
一致性:描述同一个信息主体在不同数据集中的属性是否相同,如岗位名称在 CRM 和人力系统不一致;
及时性:描述从业务发生到相关数据能够被使用的及时程度,如实时查看用户行为相关数据。
数据质量的管理思路
这里给到一种参考的思路,按照数据的生产生命周期的来讲,分为事前、事中、事后。针对不同时期的情况具体的质量管理思路和策略也不相同。
事前预防
制定质量管理机制:基于数据管理的复杂性和诱因的多重性特点,解决数据质量问题仅仅依靠一个技术工具是不够的,我们需要建立长效工作机制。即根据组织特点,制定符合自身环境的工作制度,制定每个环节的工作流程,规定各个参与方的责任,确定各项数据的权威部门,制定数据质量指标,制定数据质量修复流程等等;
制定数据质量标准:数据标准成功定义的与否,直接决定了大数据建设的成果和数据质量的高低,需要在融合国家标准、行业标准和地方标准的基础上,融合组织自身的业务特色需求;
制定质量监测模型:数据质量模型代表的是业务需求,它是从业务需求的角度而描述出来的质量需求;
制定质量监测规则:数据监测规则代表的具体的质量检测手段,它是从技术角度来描述数据质量要求是如何被满足的,包括规范性、完整性、准确性、致性、时效性、可访问性,等等。
事中监控
监控原始数据质量:数据采集工作从数据源头获取最原始的数据,在数据采集过程中将数据分为“好数据”“坏数据”,“好数据”入库,“坏数据”则反馈给源头修复,因为数据来源部门最懂这些数据,也最能在源头上把数据问题彻底修复掉。
监控数据中心质量:经过各种采集、清洗、加工过程,数据被存入数据仓库中,这些数据也将被业务部门使用,所以,对于这些成果数据的质量监控和修复则犹为重要。对于这类数据问题,我们可能使用简单的空值检查、规范性检查、值域检查、逻辑检查、一致性检查、等等规则就可以检查出来,也可能需要诸如多源比较、数据佐证、数据探索、波动检查、离群检查等等方法才可以检查出来。
反馈数据质量问题:数据质量监控过程中,会发现两类问题,一类是源头的数据质量问题,一类是数据中心的数据质量问题,数据质量团队需要将这些问题及时反馈给源头部门和数据仓库建设团队。
考核数据质量考核:数据质量的考核是为了能够引起各个参与部门和参与团队对数据质量的重视,需要及时统计分析各种数据质量问题,并制定出相应的应对措施。
事后改善
修复数据质量问题:发现质量问题不是最终的目标,我们仍要建立相关的流程和工具,通过手工、工单、自动化等等手段将质量问题修复掉,从而为业务创新提供可靠的数据支撑。
收集数据质量需求:通过数据中心的建设,质量问题的修复,必然能够促进数据的应用,我们仍要建立通畅的数据质量反馈通道,让各个部门参与到数据质量的再次完善中来,从而形成建设、应用和反馈的良性循环。
完善质量管理制度:制度和流程的建设并不是一蹴而就的,我们要在数据建设和质量完善的过程中,结合自身组织结构和业务特色,不断完善工作制度。
完善数据质量标准:各行各业不断涌现新的业务形态,原有的业务也在不断的变化,我们要紧跟业务的变化,不断完善符合业务需求的数据标准。
完善质量监测模型:如前所述,监测模型代表的业务需求,业务形态的变化、数据标准的变化和质量新需求的出现,同样要求监测模型能够做出相应的变化。
完善质量监测规则:同样,如今的信息化技术发展日新月异,我们要不断引入各种新技术来更加智能地发现和修复数据质量问题。
事前预防、事中监控、事后改善形成质量管理的一条完整链路。并且通过时候发现和处理的问题不断地优化和改善事前中制定的那些数据标准,进而形成一条完善的数据质量管理闭环。
实际的落地过程当中,概述来讲可以参考这几个策略:
在需求规划阶段:梳理企业现有的数据模型是否合理,有则改之无则加勉,然后根据现有的模型来设计整体系统的模型,整个过程始终遵循数据标准的规范要求;
在数据获取阶段:重点关注数据的安全性与隐私性问题、数据的及时性问题,数据传输等问题;
在数据存储和共享阶段:重点关注数据的整合问题,数据的一致性问题,数据的完整性等问题。
产品设计
基于数据质量的产生原因和管理的思路,在实际的落地过程中,离不开工具平台的支持。那站在产品角度应该如何设计数据质量管理平台呢?
如下先给出一个质量管理平台的参考架构图。
数据质量管理平台设计的主要思路是面向质量问题,所以平台的设计也是围绕着质量问题的定义,发现,和后续处理。下面主要从框架中的三个重点模块来展开讲解。
核检规则管理模块:参照数据标准平台,用户可以自定义数据的巡检规则。该模块也主要面向配置的这些规则的增删改查的基础管理。
质量报告管理模块:该模块主要针对调度任务执行之后,对核心数据对象巡检结果的归档性描述,包括数据的基本情况汇总,发现的数据质量方面的问题属于报告中的内容之一。
质量问题管理模块:该模块主要是经由用户配置的规则,映射到具体的数据模型上,经过任务的调度执行,发现的问题进行统一的管理,主要涉及问题所涉及的数据,问题的相关方,以及问题的处理状态等管理信息。
需要强调的一点是,数据的质量管理不是仅仅建立好工具之后就万事大吉了,他是需要流程,规范,工具三个方面共同,持续的进行才能达到良好的效果。
从数据质量管理终极目的角度讲,企业的数据治理不是为了治理数据而治理数据,其最终目的都是为了支持业务和管理目标实现。因此提升数据质量的主要目的是推动业务发展。
推动数据质量的长效健康,本质上还是要依赖于长效机制。建立企业组织保障体系,企业需要建立一种文化,以让更多的人认识到数据质量的重要性,比如成立数据治理委员会,为数据质量定下基调,制定有关数据基础架构和流程的决策等。
事实上,再严格的质量控制也无法做到 100%数据问题防治,甚至有时候严格的数据质量控制还会引出其他更多的数据问题;所以更多时候,更需要企业时不时进行主动的数据清理和处理补救,以纠正现有的数据问题。
数据质量的管理,展开来讲是一个偏系统性的工作。对于不同行业、不同规模、甚至处于不同发展阶段的企业来说,数据治理的方案和规划是完全不一样。所以本篇主要是从技术,业务,管理三个方面给出数据质量问题的一般分析思路,具体到行业、公司,还要结合实际的业务,来梳理和制定出一套本地化的规范,流程,工具解决方案。
参考:
题图来自 Unsplash,基于 CC0 协议。
版权声明: 本文为 InfoQ 作者【Skipper】的原创文章。
原文链接:【http://xie.infoq.cn/article/6bddf49fed55d50c11c5dc9a8】。文章转载请联系作者。
评论