人道是:“纸上得来终觉浅,绝知此事要躬行”,但对于已经有一定经验的数据管理者来说,往往需要倒过来做,即“躬行得来终觉窄,绝知此事要系统”,数据质量是数据的生命线,那么,数据质量应该如何体系化提升呢?
本文提出了一个“5-8-2”的数据质量管理框架,围绕这个框架,首先介绍了包含5个阶段的六西格玛质量管理方法,其次详细介绍了数据质量管理的8个步骤,并辅以案例说明,最后给出了数据质量管理的2大保障体系。在六西格玛质量管理理论和麦吉利夫雷的数据质量十大步骤【1】基础上,本文给出一个“5-8-2”的数据质量管理提升框架,框架分为5个阶段,8个步骤及2大保障,如下图所示:数据质量管理为定义、检查、分析、提升及控制5个阶段,这个与经典的六西格玛(缩写:6σ 或 6Sigma)方法是一脉相承的,六西格玛管理(Six Sigma)是一种以数据分析和统计学为基础的管理方法,旨在通过识别和消除导致业务流程变异的根本原因来实现业务流程的改进和质量的提高,六西格玛重点强调质量的持续改进,对于数据质量问题的分析和管理,该方法依然适用。六西格玛映射到数据质量管理领域,共覆盖明确数据质量需求、进行数据质量检查、评估业务问题影响、确定问题根本原因、制定质量提升方案、修复当前数据错误、预防未来数据错误、实施数据质量运维8个步骤。数据治理体系保障及数据环境分析保障2个模块为数据质量提升提供保障能力,贯穿了所有8个步骤。
应该关注那些由于数据质量问题导致的收入损失、风险增加、流程卡顿等业务问题,并按照对业务的影响程度(比如费效矩阵)进行排序,要确保利益相关者充分发表他们的关注点和意见。
“XX公司市场部希望对XX个小区的用户进行宽带营销,需要后端网络部门核实XX个小区的宽带资源覆盖情况,但后端宽带网络资管系统维护的小区覆盖地址信息无论是格式和内容都跟市场XX小区不一致,因此,后端网络部门只能通过人工排摸的方式去确认实际覆盖情况,这极大影响了前端市场宽带用户的发展。公司相关部门认为解决地址数据的前后端一致问题能为业务带来更多收益,同时降低管理成本,该项工作被纳入公司改革项目。”
根据对业务需求涉及的数据问题分析,明确数据质量管理范围和需求,制定具体的数据质量管理目标;明确项目的时间计划并通过数据治理委员会(或相关数据治理组织)决策通过。
“XX公司本次数据质量提升的目标是建立地址数据的标准,实现前端市场小区的地址信息和后端网络的覆盖地址信息保持一致,考虑到地址数据涉及的系统和流程较多,本次改造仅针对YY个流程的ZZ各系统进行变更。”
依据数据质量管理需求及业务目标,对数据的内容、质量和结构进行剖析,发现数据不规范问题和使数据项目处于危险中的隐藏数据问题,据此选择合适的的数据质量维度组合,定义具体的校验规则与方法,提供数据质量水平基线,这是判断数据是否符合数据质量要求的逻辑约束。以下分别是一个数据剖析框架和一个数据质量维度与规则框架示例:
准确性维度分类中存在一个规则类型,名称叫“值的约束类”,描述是“属性值必须支持为该属性值定义的可接受值”,度量指标是“符合约束的记录/总记录”,符合性阈值可以根据数据剖析的结果定义为一个固定比例值,比如针对下图数据剖析的“Product_key”字段,约束是“非空”,度量指标是“字段的值属于“非空”的记录/总记录数”,符合性阈值是“80%”,现在发现非空比例是61512/61512=100%,这代表该属性符合数据质量规则,达到了数据质量基线水平:
基于数据质量环境分析(包括组织、角色、流程、系统和数据模型等),明确数据质量维度评估的方案和计划,依据预先配置的规则和算法,对系统中的数据进行监测和校验,给出数据质量评估结果。
针对数据质量检查结果对业务影响进行评估,评估的方法包括业务影响的5个“为什么”,应用使用、流程影响、成本和收益的影响、费效矩阵等等,评估完成后还需进行要解决的业务问题的优先级排序,最终形成数据质量业务影响报告。下面示例了2个评估方法,分别是业务影响的5个“为什么”及流程影响【1】:
假如存货清单数据不正确,问5次“为什么”,直接获得业务影响。回答:采购过程根据存货报表决定购买细节,采购过程决定订购或不订购零部件和制造产品所需的原材料。回答:如果存货数据存在错误,采购过程将不能在正确的时间购买,缺少零部件和制造产品所需的原材料将影响产品制造时间表,进而推迟产品发往客户的时间,这将影响公司的收益和资金流动。
在这个实例中,ERP中需要提供供货商主记录,以便放置供货商订单、发票和雇员开支报表等信息,下图显示了供货商主记录请求正确的流程:
如果供货商主记录请求不完整或有错误,将导致供货商主记录请求被拒绝,产生的影响包括:(1)向供货商下订单、向供应商付款、报销雇员费用的时间延迟(2)数据管理团队的重复工作(拒绝请求、确认和调查解决方案、对新请求重新审查)(3)提交初始请求的采购人员或雇员的重复工作(审查并重新提交)
基于业务影响评估和优先级排序,对重点关注的数据质量问题进行深入分析,通过追问“为什么”、数据溯源、鱼骨图等方式来找到根本原因,然后给出针对性的提升建议。根因分析是预防问题再次发生的前提,但日常工作中为了应对紧急情况,往往采取临时性的解决方案,导致治标不治本,比如数据仓库基于算法来进行地址数据的稽核和修正,但实际是由于多源录入或源端录入的不规范造成的。
回答:因为客服服务代表经常创建新的主记录而不是说使用现有的记录。回答:因为从输入搜索请求到获取搜索结果花费的时间太长。回答:因为客户服务代表在搜索技术方面未受到适当培训,加之系统性能差。回答:因为客户服务代表是通过创建和完成记录来进行评价的,重视数据质量没有任何回报,并且没有意识到重复记录会给其它业务带来问题。
可能发现不止一个根本原因,并且需要沿着每个分支继续询问下去,通过考虑为什么的结果,确定哪些根本原因能得到解决。
血缘分析可以实现对数据生命周期的追踪,通过每个追踪节点输入和输出的数据异动可以定位问题。
鱼骨图是一种发现问题“根本原因”的方法,它也可以称之为“Ishikawa”或者“因果图”。其特点是简洁实用,深入直观。它看上去有些像鱼骨,问题或缺陷(即后果)标在“鱼头”处。在鱼骨上长出鱼刺,上面按出现机会多寡列出产生问题的可能原因,有助于说明各个原因是如何影响后果的。
实践中我们会发现,数据质量问题的产生主要在于数据产生环节,其次在于数据集成环节的数据加工过程,而在数据使用环节,基本上不产生数据质量问题,如下图所示。
究其原因,可能跟数据的不同使用目导致不同的数据质量要求有关,业务系统对数据的使用目的主要是为了保证业务流程的正常运转和满足一些简单的统计功能,因此只要业务流程和统计正常,就可以认为数据质量满足要求;而分析型系统对数据的使用目的则多种多样,而且涵盖企业运营的方方面面,那么满足业务流程正常运转的需要并不一定就能保证满足分析的需求,因此,根因分析对彻底解决数据质量问题是非常关键的。
基于数据质量或业务影响评估结果,以及根本原因分析中获得的建议,制定一个行动方案(纠正数据错误或预防数据质量问题),明确实施方案的组织、人员和计划。以下示例了地址主数据一致性提升的举措、目标、系统改造全景视图及组织保障:
数据质量往往遵循“垃圾进,垃圾出”的规律,通过根因分析会发现,通过对人员进行管理和培训,对业务流程进行优化,对系统问题进行修正,对制度和标准进行完善等手段,往往能实现对数据质量的事前和事中控制,从而防止将来同类问题的发生。这里以前文所述的客服服务代表的数据重复录入为例说明:
(2)优化数据录入业务流程,明确数据录入操作步骤并进行培训(3)对录入系统进行优化,标准化录入格式,对录入数据进行在线的稽核和控制(5)优化客服服务代表的绩效考核体系,增加数据录入质量的要求
通常数据质量问题需要修复的数据量有大致规律,如人员、流程、前端应用产生的质量问题需要修复的数据量往往不大,而数据库处理、数据抽取和加载等后台环节导致的数据质量问题通常涉及的数据量较大,尽管数据错误预防可以在很大程度上起到控制不良数据发生的作用,但事实上,再严格的预防也无法做到100%,甚至过于严格的预防措施还会引起其他数据问题。
因此,企业需要不时进行主动的数据清理和补救措施,以纠正现有的数据问题。一般有人工和自动两种手段,修复的类型包括源端数据批量纠正、数据记录异常处理、重复数据的合并、缺失值的插补、异常值的处理等等,很多业务反馈的准确性问题由于缺乏参照,往往很难修复。下图示例了一个重复数据合并案例,使用distinct 或group by 保留一条记录,使用开窗函数,保留制定的记录。
在实施了数据质量方案改进后,需要对这个过程进行监控和控制,以确保数据质量总是保持在稳定的状态,防止偏离目标,具体工作包括:
(1)将数据质量提升的产出(包括各种平台、程序、资源、规章制度、操作手册、质量手册和培训材料)交付给现有运维职能部门并培训
(2)运维职能部门将监控和控制纳入日常工作,基于步骤2的数据质量检查方法进行监控,如出现异常或偏差等情况,重复步骤3、4、5、6、7来进行数据质量问题的改进
(3)运维职能部门继续监控数据质量,确认改进措施是否得到验证,如果数据质量符合预期,则标准化改进举措,如果不符合预期,重复(2)
可以看到,数据质量管理作为数据管理活动的一种,需要数据治理体系的保障,包括战略管理、政策原则、组织文化、制度规范、监督控制、变革管理、项目推动、问题管理及法规遵从。
针对数据质量管理本身,要加强顶层设计,明确数据质量管理的原则,建立数据质量管理制度,明确数据质量管理流程,约束各方加强数据质量意识,督促各方在日常工作中重视数据质量,在发现问题时能够追根溯源、主动解决。
在数据质量需求阶段,只有业务部门的充分参与,才能明确业务问题和优先级,确保数据质量改进具有较大的价值,而要做到这点,离不开企业数据战略的指导,离不开企业级数据治理组织的保障(比如企业级数据治理委员会和办公室的设置),确保拉通业务和技术,确保足够的资源投入(比如各部门数据质量管理专员的设置)。
在数据质量检查阶段,规范标准的有效执行和落地是数据质量管理的必要条件,包括数据模型标准、主数据和参考数据标准、指标数据标准等,有了规范标准,数据质量规则的制定才有据可依。
在预防未来数据错误阶段,往往需要通过对人员进行管理和培训,对业务流程进行优化,对系统问题进行修正,对制度和标准进行完善才能彻底解决问题,这些都离不开数据治理的组织文化、制度规范,监督控制等的支持。
数据是一种质量管理的对象,数据本身也是一项业务,对数据这项业务的的理解越透彻,我们前面采取的那些数据质量提升方法和步骤就越有针对性,也会越有效,而所谓数据的业务就是数据从规划(Plan)、获取(Obtain)、存储和共享(Store and Share)、维护(Maintain)、应用(Apply)再到报废(Dispose)的全数据生命周期(简称POSMAD)这个流程。
比如理解了数据的应用场景,就可以有效判断业务问题的价值,从而更好的明确数据质量需求和评估业务影响程度;理解了数据模型和业务场景,就可以制定更合理的数据质量规则,更高效的进行数据质量检查;理解了数据的全流程,就可以实现数据的血缘分析,这是确定数据问题根本原因的一种有效方法,而通过流程优化往往又能预防数据质量问题的再次发生,诸如此类。
下图的麦吉利夫雷的信息质量框架【1】为理解数据业务流(简称POSMAD)提供了一个逻辑框架,可以帮助理解造成数据质量问题的复杂环境,一旦理解了这个框架,可将其用于理解下列事项:
(1)诊断:评估实践和流程,了解哪里出了故障,并确定是否提供了数据质量需要的所有要素,识别遗漏的要素,将其作为项目优先级和初始根本原因分析的依据。
(2)规划:设计新的流程,确保影响数据质量的所有要素已经解决,确定时间、金钱和资源的投资方向。
(3)沟通:解释数据质量所需的和影响数据质量的要素。
这里以地址主数据为例,说明地址相关流程(应用阶段)的理解对地址主数据建设的重要性,下面第一张图展示了所有涉及地址数据使用的流程全景,这是实现地址主数据统一管理的前提,第二张图针对其中的驻地网资源入网流程进行了详细的说明:
下面以供应链数据为例,从技术角度说明供应链系统各个模块是如何获取、存储和共享及维护相关实体的,这对于评估供应链数据的使用和变更情况至关重要,如下图所示:
应该来讲,虽然数据质量管理涉及的功能模块和步骤很多,但在实践中,只要按需挑选必需的模块和步骤即可,同时各个步骤间也不是严格的前后关系,会有反复,比如在推进到预防未来数据错误这个步骤时,往往要回到根因分析这一步骤去进一步核实。最后推荐2本老外数据质量的书籍,细品起来很有料,本文引用了其中不少的的观点和案例,可惜翻译的不够地道,如果有英文原版就更好了。
参考文献
【1】、麦吉利夫雷 《数据质量工程实践》 (2010)
【2】、华为公司数据管理部 《华为数据之道》 (2020)
【3】、洛申《数据质量改进实践指南》 (2016)