数据治理系列5:浅谈数据质量管理
本文原创地址:https://mp.weixin.qq.com/s/ovSa7Uhv5IyKzyb-l3PHaA,请手机扫描文章末尾的二维码,关注我们。
题外话:看过之前的文章的小伙伴不难发现,文章开篇几乎都是定义、概念,这已成了笔者写文章的一个习惯。本着对专业知识和技术的敬畏以及对文章主题的聚焦,笔者认为文章的开篇是非常有必要先把概念或定义交待清楚的。
另外,写公号、写博客目的是对自己临散的知识有一个系统化的总结,并希望与业内的各路大神沟通交流,从而在总结和交流中提升自己。所以,欢迎您的点赞和拍砖!
欢迎转载,转载请注明出处和作者
作者 | 石秀峰
“数据质量管理是对数据从计划、获取、存储、共享、维护、应用、消亡生命周期的每个阶段里可能引发的数据质量问题,进行识别、度量、监控、预警等一系列管理活动,并通过改善和提高组织的管理水平使得数据质量获得进一步提高。数据质量管理的终极目标是通过可靠的数据提升数据在使用中的价值,并最终为企业赢得经济效益。”——以上内容摘自百度百科。
笔者观点:“数据质量管理不单纯是一个概念,也不单纯是一项技术、也不单纯是一个系统,更不单纯是一套管理流程,数据质量管理是一个集方法论、技术、业务和管理为一体的解决方案。通过有效的数据质量控制手段,进行数据的管理和控制,消除数据质量问题进而提升企业数据变现的能力。在数据治理过程中,一切业务、技术和管理活动都围绕这个目标和开展”。
一、数据质量问题盘点
接下来我们盘点下企业一般都会遇到哪些数据质量问题:
数据真实性:数据必须真实准确的反映客观的实体存在或真实的业务,真实可靠的原始统计数据是企业统计工作的灵魂,是一切管理工作的基础,是经营者进行正确经营决策必不可少的第一手资料。
数据准确性:准确性也叫可靠性,是用于分析和识别哪些是不准确的或无效的数据,不可靠的数据可能会导致严重的问题,会造成有缺陷的方法和糟糕的决策。
数据唯一性:用于识别和度量重复数据、冗余数据。重复数据是导致业务无法协同、流程无法追溯的重要因素,也是数据治理需要解决的最基本的数据问题。
数据完整性:数据完整性问题包括:模型设计不完整,例如:唯一性约束不完整、参照不完整;数据条目不完整,例如:数据记录丢失或不可用;数据属性不完整,例如:数据属性空值。不完整的数据所能借鉴的价值就会大大降低,也是数据质量问题最为基础和常见的一类问题。
数据一致性:多源数据的数据模型不一致,例如:命名不一致、数据结构不一致、约束规则不一致。数据实体不一致,例如:数据编码不一致、命名及含义不一致、分类层次不一致、生命周期不一致……。相同的数据有多个副本的情况下的数据不一致、数据内容冲突的问题。
数据关联性:数据关联性问题是指存在数据关联的数据关系缺失或错误,例如:函数关系、相关系数、主外键关系、索引关系等。存在数据关联性问题,会直接影响数据分析的结果,进而影响管理决策。
数据及时性:数据的及时性(In-time)是指能否在需要的时候获到数据,数据的及时性与企业的数据处理速度及效率有直接的关系,是影响业务处理和管理效率的关键指标。
二、数据质量问题根因分析
说到数据质量问题的原因,做过BI或数仓项目的小伙伴肯定都知道,这是一个业务和技术经常扯来扯去、互相推诿的问题。在很多情况下,企业都会把数据质量问题推给技术部门,让技术部门去查找和处理。但是企业的数据质量问题真的都是技术引起的吗,技术部门人一定会说:“这个锅我不背!”
其实,影响数据质量的因素主要就技术、业务、管理三个方面,下面我们就来从这三方面分析下产生数据质量问题都有哪些原因。
1、技术方面
数据模型设计的质量问题,例如:数据库表结构、数据库约束条件、数据校验规则的设计开发不合理,造成数据录入无法校验或校验不当,引起数据重复、不完整、不准确。
数据源存在数据质量问题,例如:有些数据是从生产系统采集过来的,在生产系统中这些数据就存在重复、不完整、不准确等问题,而采集过程有没有对这些问题做清洗处理,这种情况也比较常见。
数据采集过程质量问题, 例如:采集点、采集频率、采集内容、映射关系等采集参数和流程设置的不正确,数据采集接口效率低,导致的数据采集失败、数据丢失、数据映射和转换失败。
数据传输过程的问题,例如:数据接口本身存在问题、数据接口参数配置错误、网络不可靠等都会造成数据传输过程中的发生数据质量问题。
数据装载过程的问题,例如:数据清洗规则、数据转换规则、数据装载规则配置有问题。
数据存储的质量问题,例如:数据存储设计不合理,数据的存储能力有限,人为后台调整数据,引起的数据丢失、数据无效、数据失真、记录重复。
业务系统各自为政,烟囱式建设,系统之间的数据不一致问题严重。
2、业务方面
业务需求不清晰,例如:数据的业务描述、业务规则不清晰,导致技术无法构建出合理、正确的数据模型。
业务需求的变更,这个问题其实是对数据质量影响非常大的,需求一变,数据模型设计、数据录入、数据采集、数据传输、数据装载、数据存储等环节都会受到影响,稍有不慎就会导致数据质量问题的发生。
业务端数据输入不规范,常见的数据录入问题,如:大小写、全半角、特殊字符等一不小心就会录错。人工录入的数据质量与录数据的业务人员密切相关,录数据的人工作严谨、认真,数据质量就相对较好,反之就较差。
数据作假,对,你没看错,就是数据作假!操作人员为了提高或降低考核指标,对一些数据进行处理,使得数据真实性无法保证。
3、管理方面
认知问题。企业管理缺乏数据思维,没有认识到数据质量的重要性,重系统而轻数据,认为系统是万能的,数据质量差些也没关系。
没有明确数据归口管理部门或岗位,缺乏数据认责机制,出现数据质量问题找不到负责人。
缺乏数据规划,没有明确的数据质量目标,没有制定数据质量相关的政策和制度。
数据输入规范不统一,不同的业务部门、不同的时间、甚至在处理相同业务的时候,由于数据输入规范不同,造成数据冲突或矛盾。
缺乏有效的数据质量问题处理机制,数据质量问题从发现、指派、处理、优化没有一个统一的流程和制度支撑,数据质量问题无法闭环。
缺乏有效的数据管控机制,对历史数据质量检查、新增数据质量校验没有明确和有效的控制措施,出现数据质量问题无法考核。
小结:影响数据质量的因素,可以总结为两类,客观因素和主观因素。客观因素:在数据各环节流转中,由于系统异常和流程设置不当等因素,从而引起的数据质量问题。主观因素:在数据各环节处理中,由于人员素质低和管理缺陷等因素,从而操作不当而引起的数据质量问题。
三、数据质量管理的方法论
在数据治理方面,不论是国际的还是国内的,我们能找到很多数据治理成熟度评估模型这样的理论框架,作为企业实施的指引。而说到数据质量管理的方法论,其实业内还没有一套科学、完整的数据质量管理的体系。很多企业对数据质量的重视程度还不够,即使部分企业在朝着这个方向努力,也是摸着石头过河。
数据是数字化时代企业的重要资产,数据可以以产品或服务的形态为企业创造价值。既然数据可以是产品、可以是服务,那问题就简单了。虽然数据质量管理没有成熟方法论支撑,但是产品和服务的质量管理体系却已非常的成熟了,何不尝试用产品和服务的质量管理体系来管理数据质量?!那国际上最权威的质量管理体系IOS9001是否也适用于企业的数据质量管理呢?
下图是ISO9001基于PDCA的质量管理核心思想,其重点强调以客户为关注焦点、领导作用、全员参与、过程方法、持续改进、循证决策和关系管理。
注:图中的数字代表的是本标准在ISO9001的相关章节,无业务含义。以下内容是根据笔者对质量体系相关资料的查阅和粗浅理解,给出数据质量管理的方法论,不免有所偏误,欢迎拍砖和指正。
依据ISO9001以及企业在数据治理方面的相关经验,笔者认为企业数据质量管理应从以下几个方面着手:
1、组织环境
我们在数据治理框架、主数据管理、数据标准管理等章节,都提到了组织机构的设置,这里再次强调一个强有力的数据管理组织的建设是数据治理项目成功的最根本的保证。其作业是两个层面:一是在制度层面,制定企业数据治理的相关制度和流程,并在企业内推广,融入企业文化。二是在执行层面,为各项业务应用提供高可靠的数据。
2、数据质量管理方针
为了改进和提高数据质量,必须从产生数据的源头开始抓起,从管理入手,对数据运行的全过程进行监控,强化全面数据质量管理的思想观念,把这一观念渗透到数据生命周期的全过程。数据质量问题是影响系统运行、业务效率、决策能力的重要因素,在数字化时代,数据质量问题影响的不仅仅是信息化建设的成败,更是影响企业降本增效、业务创新的核心要素,对于数据质量问题的管理,深度执行的总体策略“垃圾进,垃圾出(garbage in,garbage out)”,采用事前预防控制、事中过程控制、事后监督控制的方式进行数据质量问题的管理和控制,持续提升企业数据质量水平。
3、数据质量问题分析
关于质量问题的分析,笔者推荐采用经典的六西格玛(缩写:6σ 或 6Sigma),六西格玛是一种改善企业质量流程管理的技术,以“零缺陷”的完美商业追求,以客户为导向,以业界最佳为目标,以数据为基础,以事实为依据,以流程绩效和财务评价为结果,持续改进企业经营管理的思想方法、实践活动和文化理念。六西格玛重点强调质量的持续改进,对于数据质量问题的分析和管理,该方法依然适用。
根据六西格玛的DMAIC模型,我们可以将数据质量分析定义为六个阶段:
(1)定义阶段(D阶段)。界定数据质量治理的范围,并将数据质量改进的方向和内容界定在合理的范围内。通过使用主数据识别法、专家小组法、问卷调查法、漏斗法等方法,定义出数据治理的对象和范围。企业数据质量治理对象一般主要包括两类数据:一类是操作型数据,例如:主数据、参照数据和交易数据。另一类是分析型数据,例如:主题数据、指标数据等。注:根据笔者经验以及80/20法则,企业的数据质问题80%是由于管理不当或业务操作不规范引起的,参考:《主数据的3大特点、4个超越和三个80/20原则》。
(2)测量阶段(M阶段)。在定义出数据治理对象和内容后,需要选取以下若干个指标来作为数据质量评价指标,建立数据质量评估模型,对企业的数据进行评估和测量。常用的数据质量评价指标就是我们上述提到的:数据唯一性、数据完整性、数据准确性、数据一致性、数据关联性、数据及时性等。
(3)分析阶段(A阶段)。基于数据质量评估模型,执行数据质量分析任务,通过数据分析,找到发生数据质量问题的重灾区,确定出影响数据质量的关键因素。数据治理和大数据分析是密不可分的,数据治理的目标是提升数据质量从而提高数据分析的准确性,而大数据分析技术也可反向作用于数据治理,通过大数据分析算法和大数据可视化技术,能够更准确、更直观的定位到发生数据质量问题的症结所在。该阶段可以用的大数据技术包括:回归分析、因子分析、鱼骨图分析、帕累托分析、矩阵数据分析等。
(4)改进阶段(I 阶段)。通过制定改进管理和业务流程、优化数据质量的方案,消除数据质量问题或将数据质量问题带来的影响降低到最小程度。我们一直在强调数据质量的优化和提升,绝不单单是技术问题,应从管理和业务入手,找出数据质量问题发生的根因,再对症下药。同时,数据质量管理是一个持续优化的过程,需要企业全员参与,并逐步培养起全员的数据质量意识和数据思维。该过程主要用到方法:流程再造、绩效激励等。
(5)控制阶段(C阶段)。固化数据标准,优化数据管理流程,并通过数据管理和监控手段,确保流程改进成果,提升数据质量。 主要方法有:标准化、程序化、制度化等。
4、数据质量监控
数据质量监控可以分为数据质量的事前预防控制、事中过程控制和事后监督控制:
事前预防控制
建立数据标准化模型,对每个数据元素的业务描述、数据结构、业务规则、质量规则、管理规则、采集规则进行清晰的定义,以上的数据质量的校验规则、采集规则本身也是一种数据,在元数据中定义。面对庞大的数据种类和结构,如果没有元数据来描述这些数据,使用者无法准确地获取所需信息。正是通过元数据,使得数据才可以被理解、使用,才会产生价值。构建数据分类和编码体系,形成企业数据资源目录,让用户能够轻松地查找和定位到相关的数据。实践告诉我们做好元数据管理,是预防数据质量问题的基础。
数据质量问题的预防控制最有效的方法就是找出发生数据质量问题的根本原因并采取相关的策略进行解决。
1)确定根本原因:确定引起数据质量问题的相关因素,并区分它们的优先次序,以及为解决这些问题形成具体的建议。
2)制定和实施改进方案:最终确定关于行动的具体建议和措施,基于这些建议制定并且执行提高方案,预防未来数据质量问题的发生。
事中过程控制
事中数据质量的控制,即在数据的维护和使用过程中去监控和处理数据质量。通过建立数据质量的流程化控制体系,对数据的新建、变更、采集、加工、装载、应用等各个环节进行流程化控制。数据质量的过程控制,要做好两个强化:
(1)强化数据的标准化生产,从数据的源头控制好数据质量,该过程可以采用系统自动化校验和人工干预审核相结合的方式进行管理,数据的新增和变更一方面通过系统进行数据校验,对于不符合质量规则的数据不允许保持,另一方面采集流程驱动的数据管理模式,数据的新增和变更操作都需要人工进行审核,只有审核通过才能生效。
(2)强化数据质量预警机制,对于数据质量边界模糊的数据采用数据质量预警机制。数据预警机制是对数据相似性和数据关联性指标的重要控制方法。针对待管理的数据元素,配置数据相似性算法或数据关联性算法,在数据新增、变更、处理、应用等环节调用预置的数据质量算法,进行相识度或关联性分析,并给出数据分析的结果。数据预警机制常用在业务活动的交易风险控制等场景。
事后监督控制
是不是我们最好了事前预防控制和事中过程控制,就不会再有数据质量问题的发生了?答案显然是否定的。而事实上,不论我们做了多少预防措施、多严格的过程控制,总是还有数据质量问题的“漏网之鱼”,你会发现只要是人为干预的过程,总会存在数据质量的问题。数据质量问题一旦产生就已经是“木已成舟”,为了避免或减低其对业务的影响,我们需要及时的发现它。这里,数据质量的事后监督控制就尤为重要了。
定期开展数据质量的检查和清洗工作应作为企业数据质量治理的常态工作来抓。
1)设置数据质量规则。基于数据的元模型配置数据质量规则,即针对不同的数据对象,配置相应的数据质量指标,不限于:数据唯一性、数据准确性、数据完整性、数据一致性、数据关联性、数据及时性等。
2)设置数据检查任务。设置成手动执行或定期自动执行的系统任务,通过执行检查任务对存量数据进行检查,形成数据质量问题清单。
3)出具数据质量问题报告。根据数据质量问题清单汇总形成数据质量报告,数据质量报告支持查询、下载等操作。
4)制定和实施数据质量改进方案,进行数据质量问题的处理。
5)评估与考核。通过定期对系统开展全面的数据质量状况评估,从问题率、解决率、解决时效等方面建立评价指标进行整改评估,根据整改优化结果,进行适当的绩效考核。
笔者观点:数据治理的“常态化”才是数据质量问题的最好解决方式,而要实现常态化治理就需要改变原来的企业组织形式、管理流程、转变观念,以适应这种变化。数据治理的“常态化”要经得起折腾,所以千万不能老做些重新发明轮子的亊情!
5、数据全周期管理
数据的生命周期从数据规划开始,中间是一个包括设计、创建、处理、部署、应用、监控、存档、销毁这几个阶段并不断循环的过程。企业的数据质量管理应贯穿数据生命周期的全过程,覆盖数据标准的规划设计、数据的建模、数据质量的监控、数据问题诊断、数据清洗、优化完善等方面。
(1)数据规划。从企业战略的角度不断完善企业数据模型的规划,把数据质量管理融入到企业战略中,建立数据治理体系,并融入企业文化中。
(2)数据设计。推动数据标准化制定和贯彻执行,根据数据标准化要求统一建模管理,统一数据分类、数据编码、数据存储结构,为数据的集成、交换、共享、应用奠定基础。
(3)数据创建。利用数据模型保证数据结构完整、一致,执行数据标准、规范数据维护过程,加入数据质量检查,从源头系统保证数据的正确性、完整性、唯一性。
(4)数据使用。利用元数据监控数据使用;利用数据标准保证数据正确;利用数据质量检查加工正确。元数据提供各系统统一的数据模型进行使用,监控数据的来源去向,提供全息的数据地图支持;企业从技术、管理、业务三个方面进行规范,严格执行数据标准,保证数据输入端的正确性;数据质量提供了事前预防、事中预警、事后补救的三个方面措施,形成完整的数据治理体系。
四、总结
数据质量管理是企业数据治理一个重要的组成部分,企业数据治理的所有工作都是围绕提升数据质量目标而开展的。要做好数据质量的管理,应抓住影响数据质量的关键因素,设置质量管理点或质量控制点,从数据的源头抓起,从根本上解决数据质量问题。对于数据质量问题采用量化管理机制,分等级和优先级进行管理,严重的数据质量问题或数据质量事件可以升级为故障,并对故障进行定义、等级划分、预置处理方案和Review。量化的数据质量使得我们可以通过统计过程控制对数据质量进行监测。一旦发现异常值或者数据质量的突然恶化,便根据数据产生的逻辑顺藤摸瓜找到产生数据的业务环节,然后采用六西格玛流程改善中的经典分析方法对业务进行完善,真正的做到有的放矢。
(文:石秀峰 2019年5月)