数据质量管理之根因分析!

石秀峰
数据质量管理最行之有效的方法就是找出发生数据质量问题的根本原因,然后采取相应的策略进行解决。首先需要确定根本原因:找到引起数据质量问题的相关因素,并区分它们的优先次序,形成解决这些问题的具体改进建议。

2345截图20220818151609.png

本文来自谈数据,作者/石秀峰。

数据质量管理最行之有效的方法就是找出发生数据质量问题的根本原因,然后采取相应的策略进行解决。首先需要确定根本原因:找到引起数据质量问题的相关因素,并区分它们的优先次序,形成解决这些问题的具体改进建议。然后,制定和实施改进方案:确定关于行动的具体建议和措施,基于这些建议制定并改进方案,预防未来数据质量问题的发生。

—01—

什么是根因分析?

每个问题的发生都必有其根本原因,数据质量管理的核心是找到发生质量问题的根本原因,并对其采取改进措施。

1、根因分析的概念

所谓根因分析,就是分析导致数据质量问题的最基本原因。引起数据质量问题的原因通常有很多,比如环境条件、人为因素、系统行为、流程因素等,因此要通过科学分析,找到问题发生的根源性原因。根因分析是一个系统化的问题处理过程,包括确定和分析问题原因,找出适当的问题解决方案,并制定问题预防措施。

问题:发生了哪些数据质量问题?

原因:为什么发生这些问题?是人的因素,技术上的原因,还是流程不合理?

措施:采取什么解决方案能够防止问题再次发生?

2、为什么需要根因分析

通常,企业中的每个人都认为拥有良好的数据质量对业务有利,在这一点上非常容易达成共识。尤其是在当前的数字化时代,企业对数据质量的关注超过以往任何时期。

但是,当涉及谁应该对数据质量负责,谁必须对此做些什么,以及谁应该为必要的数据质量管理活动埋单时,事情就会变得复杂而艰难。我们经常看到的是各部门相互推诿和指责。

技术部门经常说:“数据的定义和生产都在业务部门,所以业务部门应该对数据质量负责!”

业务部门说:“我们输入的数据都是正确的,是你们在数据传输、加工处理过程中搞错了!”

在很多情况下,企业会把数据质量问题的责任推给技术部门,技术部门成了数据质量问题的“背锅侠”。他们尽管有满腔的怨气和不满,但也不得不先去查找和处理问题。如果不明确数据问题的根因,这样的矛盾、指责、推诿将永无休止!

企业的数据质量问题通常只是一个现象,人们往往只看到了数据不准确、不一致、不完整,却没有细致地剖析这些问题发生的原因。只顾解决表面问题,而不管发生问题的根本原因,这是当前企业在数据问题处理中的普遍现象。企业试图通过技术手段来解决数据质量问题,例如清理脏数据,建立对照关系表,甚至采用AI算法对不完整的数据进行插补。笔者并不反对用技术手段解决数据质量问题,相反,笔者是非常支持通过技术改善数据质量的。

但是,这里要特别强调,在通过技术手段处理数据质量问题之前,我们应当先进行数据质量问题的根因分析,这有助于我们找到更合适的解决方案,达到事半功倍的效果。不能只看到问题的现象就采取措施,这种急功近利的问题解决办法“治标不治本”,数据治理问题免不了要复发,其结果是组织不得不一而再、再而三地重复应对同一类问题。可以想象,这样的问题处理成本肯定是惊人的。

“拨开迷雾见明月”,分析任何问题都应该找到问题的本质。进行数据质量问题的根因分析,不仅在于解决业务部门和技术部门的矛盾,更重要的是能够帮助企业利益相关者发现数据质量问题的症结所在,从而找到适当的解决方案。

—02—

产生数据问题的阶段

数据和人一样,也是有生命周期的。从出生到死亡,人在一生中可能会得各种各样的疾病,这些疾病或大或小,或轻或重,要是头痛脑热,挺一挺也就过去了,要是重疾,就得治疗了。

数据也一样,数据的“一生”要经历数据规划设计(定义)、数据创建、数据使用、数据老化、数据消亡五个阶段,每个阶段都有可能发生数据质量问题。企业数据质量管理应关注数据生命周期的每个阶段。

1、规划设计阶段

在规划设计阶段,数据的定义或设计不当会产生数据质量问题。比如:在数据建模时没有对数据对象进行清晰的定义,存在二义性,导致水果蛋糕和水果味蛋糕分不清。再比如:在建立数据库时,可能会发现某些数据项含糊不清,从而导致不确定是否能够输入数据、如何输入数据以及在何处输入数据。

例如:程序员小K为某程序创建了一个手机号码表并对其设置了手机号码的约束条件——11位数字,而这个程序是跨境使用的,这个约束将直接导致部分数据填写错误,因为国外的手机号码不一定是11位。

2、数据创建阶段

在数据创建阶段,数据的录入不当会产生数据质量问题。数据是否正确进入系统?尽管如今企业的信息系统中有很多功能已经实现了自动化,但是仍然无法避免将错误或不合格的数据输入系统。数据不准确的问题常常是因为输入数据的人犯了一个不经意的错误,例如数据拼写错误,丢失数据记录,从列表中选择了错误的条目,在输入框中输入值时张冠李戴(比如在“客户名称”输入框中录入了客户的联系信息)。

3、数据使用阶段

在数据使用阶段,要关注是否正确使用和解释了数据。如果企业需要跨多个系统输入相同的数据,例如某“客户档案”数据要在ERP系统、CRM系统等多个系统中重复录入,则很可能会发生人为错误。重新输入数据是一项漫长而艰巨的任务,很容易导致数据产生多个版本(数据不一致),在没有任何形式的数据验证时更是如此。这种情况下,进行必要的数据集成是很有效果的。

然而,在将数据迁移到新系统或整合系统数据时,也会给企业带来数据质量风险。在数据的集成和传输过程中,数据的值可能不规则、丢失或放错位置,甚至通过简单的电子表格导出/导入也可能会发生不一致问题。

4、数据老化阶段

数据不是静止的,它可能随时发生变化。你现在的手机号码或职务是否仍然与两年前的相同?你的信息会发生变化,你的客户也一样。企业应该注意保持数据是最新的,否则数据会“过期失效”,这将会对你的业务产生很大影响。

5、数据消亡阶段

在数据消亡阶段,对使用完的数据进行归档及销毁操作。通常来说,数据归档和数据销毁可以再分为两个阶段,前一个阶段关注数据被正确归档,后一个阶段关注数据被安全销毁。这与数据质量、数据安全及个人隐私保护都有关系。

—03—

产生数据问题的原因

数据研究机构Experian Data Quality的一项研究发现,在数据不准确的主要原因中,59%是人为因素,其中31%是部门之间缺乏沟通,24%是数据管理策略不充分。

这项研究中的数据告诉我们,数据质量问题的主要原因集中在企业经营管理、业务应用和技术操作3个层面,如图所示。

2345截图20220818151609.png

图:产生数据质量问题的3个层面

1、经营管理层面

(1)企业的发展和并购

随着企业规模的不断扩大,很多企业选择通过并购快速布局新市场或新业态,以实现多元化业态的创新升级。企业在并购的过程中需要将两家公司的数据以某种方式合并,两家公司可能使用完全不同的数据系统,系统的数据标准不统一,因而会产生各种摩擦和问题。

(2)缺乏有效管理策略

很多企业的信息化现状都是先建设后治理。

早期缺乏整体的数据规划,没有统一的数据标准和明确的数据质量目标,导致不同的业务部门在处理业务时,容易出现数据冲突或矛盾。

缺乏有效的数据认责机制,没有明确数据归口管理部门和岗位职责,导致出现数据质量问题时找不到负责人,各业务部门之间相互推诿。

缺乏有效的数据管理制度和流程,数据质量问题从发现、指派、处理到优化没有统一的流程和制度,导致数据质量问题的解决没有流程上的保障。对于历史数据质量检查、新增数据质量校验没有明确有效的控制措施,导致数据质量问题无法考核。

(3)缺乏统一数据标准

数据质量管理中的一大挑战是使各个部门达成一致。如果缺乏统一的数据标准,对于同一数据理解不一致,业务之间的协作和沟通就如同“鸡同鸭讲”。数据标准是企业数据管理的第一道防线,然而遗憾的是,很多企业对数据标准的重视程度不足,它们对数据的“重视”还停留在口头上,没有实际行动。

2、业务应用层面

(1)数据需求模糊不清

数据需求不清晰,对于数据的定义、业务规则描述不清晰,导致建模人员无法构建出合理、正确的数据模型。我们经常见到在需求阶段业务人员对需求的描述不清楚,等到数据应用开发完后,他们却发现结果不是自己想要的,于是就开始了永不休止的需求变更,最终技术人员和业务人员相互不满意。

需求描述不清、频繁的需求变更对数据质量的影响非常大,需求一变,数据模型设计、数据录入、数据采集、数据转换、数据传输、数据存储等环节都要跟着改变,即使再谨慎也难以避免数据质量问题。

(2)录入数据不规范

业务部门既是数据需求的提出方,也是数据的生产方。业务部门的人为因素是造成企业数据质量低下的一个非常重要的原因。常见的人为因素有拼写错误,将数据输入不匹配的字段,大小写、全半角、特殊字符录错等,这些都会导致数据输入不规范问题。在技术上做一些输入控制和校验能够减轻这个问题,但始终很难避免。

3.技术操作层面

(1)数据设计过程

在设计阶段对数据模型质量的关注不足,需求理解不到位,甚至没有与业务部门达成共识,结果可想而知,这样的设计带来的就是永无休止的需求变更。

数据库表结构、数据库约束条件、数据校验规则的设计开发不合理,就会造成数据录入无法校验或校验不当,引起数据重复、不完整、不准确。

(2)数据传输过程

数据传输包含数据采集、数据转换、数据装载、数据存储等环节。

数据采集和转换常见的问题,例如采集过程中采集点、采集频率、采集内容、映射关系等采集参数和流程设置不正确,或者数据采集接口效率低,导致数据采集失败、数据丢失、数据映射和转换失败。

数据装载和存储常见的问题,例如数据存储设计不合理,数据的存储能力不够,在后台人为调整数据,会引起数据丢失、数据无效、数据失真、记录重复。

同时,数据接口本身也可能存在的问题,例如数据接口参数配置错误、网络不可靠等都会造成数据传输过程中发生数据丢失或传输错误等数据问题。

(3)数据迁移过程

数据迁移是将数据从旧系统过渡到新系统,或从一个数据源迁移到另一个数据源。业务人员可能很难理解数据从一个应用系统切换到另一个应用系统时会有哪些困难。凭直觉,一个外行会期望事情已经“准备好”,这样过渡对于业务用户来说既容易又轻松。

但这绝对不符合现实。暂且不说迁移过程中涉及的数据采集、清洗、转换、装载等问题,可能你要迁移的数据源本来就存在质量问题,如果不对数据源的数据质量进行识别和处理,即使顺利迁移,数据质量也无法保证。

—04—

根因分析的方法

要了解究竟发生了什么,就需要进行深入的研究。对于数据质量问题的剖析,笔者建议采用根因分析法,这是一种常见的因果问题分析方法,它有助于深入挖掘并找到有效的解决方案。采用根因分析法进行数据质量问题分析主要有4个步骤,如图所示。

2345截图20220818151609.png

图:数据问题根因分析步骤

步骤一:定义数据问题

定义企业数据质量问题,可以采取问卷调查、现场调研等方式,尽可能收集到全部的企业数据质量问题,并收集与之相关的数据和证据,这对于了解当前情况是必要的。对于轻微的异常事件,可考虑进行个人专访,如采访业务系统的管理员或业务部门的关键用户。

对收集到的数据问题进行归纳和整理,并根据数据质量维度进行适当的归类。归类的好处是有助于对每类数据问题进行深度剖析,便于找出纠正措施。

创建数据问题的描述,其中应包含数据问题的基本信息,例如谁、在什么时间、什么地点(或系统)、发生了什么问题、造成了哪些影响(包括实际影响和潜在影响)。定义问题的影响是为了确定数据问题处理的优先级,为后续制定适当的解决方案提供支撑。

步骤二:找出问题的主要因素

找到造成数据质量问题的直接原因,包括人为因素、技术因素、系统因素、设备因素、可控或不可控的外在环境因素、流程因素和其他因素等。

一方面,找到造成数据质量问题的涉及的业务流程和相关标准文件,明确执行的业务流程操作是否与数据标准设计相一致,例如必输项输入是否完整准确;另一方面,评估数据标准设计或数据管理涉及的操作流程是否有问题。在这个过程中,需要召集直接参与流程和执行纠正措施的人员及专家,他们的意见有助于快速找到数据问题的解决方案。考虑每个因素,集思广益,探讨可能与之相关的问题的原因。

采用5Why法(连续问5个为什么)进一步深入探究:首先,提问为什么会发生当前的数据质量问题,并对可能的答案进行记录;然后,逐一对每个答案问一个为什么,并记录下原因,努力找出问题的主要因素,再对所有的原因进行分析。这种方法通过反复问为什么,能够逐渐深入问题,直到找到问题的根本原因。

下面将重点介绍这个方法的使用,请不要走开!

步骤三:确认问题的根本原因

经过以上两个步骤,基本上能够筛选出数据问题发生的根本原因了,这时还需要对引发数据质量问题的根本原因和根本原因之间的关系进行确认。可以做以下3个假设。

假设此原因不存在,数据质量问题还会发生吗?

假设此原因被纠正或排除,此数据质量问题还会因其他相同或相近因素而再次发生吗?

假设此原因被纠正或排除,还会发生类似的数据质量问题吗?

此时,列出与数据问题相关的系统分类,例如管理方面、业务方面、技术方面、环境与设备方面等。从系统分类中筛选出根本原因并确认其与根本原因之间的关系。

步骤四:制定和执行解决方案

找到根本原因后,就要进行下一个步骤:制定并执行解决方案,从根本上解决问题。这是另一个独立的过程,也被称为改正和预防。我们在寻找根本原因的时候,必须对每一个已找出的原因进行评估,给出改正的办法,因为这样做有助于整体改善和提高。例如,假设某个数据质量问题是由业务人员操作不当引发的,这就需要一方面加强对相关业务人员的培训,另一方面从技术上进行适当的调整,提供更友好、易用的功能,以避免数据问题再次发生。

—05—

根因分析的工具

我们在进行数据质量问题的根因分析时,可以使用的工具有很多,常用的工具有鱼骨图、5Why图、故障树图、帕累托图等。

1、鱼骨图

鱼骨图是由日本管理大师石川馨先生提出的一种把握结果和原因的方便而有效的方法,故名“石川图”,它是一种透过现象看本质的分析方法,非常适用于数据质量问题的根因分析。

鱼骨图是因果分析中常用的工具。首先,需要从多个维度对引发问题的直接原因进行归集;其次,依次列出直接原因所导致的问题“事实”;然后,分析每一个“事实”发生的原因;最后最终找到导致问题发生的根本原因。鱼骨图有助于探索阻碍结果的因素,适用于数据质量问题的分析。鱼骨图的组成见下图:

2345截图20220818151609.png

图:鱼骨图分析法

①特性就是“问题的结果”,例如同一客户不能唯一标识。

②主骨用来引出问题,“问题”写在右端,用方框圈起来,主骨用粗线画,加箭头标志。

③大骨用来表示问题的直接原因,例如图19-5中的人员因素、系统因素、技术因素、流程因素、方法因素和环境因素。

④中骨用来描述事实,例如业务操作不当、操作失误等。

⑤小骨用来描述为什么会那样,例如对系统操作不熟悉、随意性输入等。

⑥主因用红色的椭圆圈定问题的主因,主因不一定发生在末级,在大骨、中骨、小骨每一级均可能发生主因。

2、5Why图

5Why图,也称5Why分析法或丰田5问法。5Why分析法在日系企业中用得很多,其首创是丰田公司的大野耐一,来源于一次新闻发布会。有人问:“丰田公司的汽车质量怎么会这么好?”他回答:“我碰到问题至少要问5个为什么。”

简单来说,5Why分析法的精髓就是多问几个为什么,鼓励解决问题的人努力避开主观假设和逻辑陷阱,从结果着手,沿着因果关系链条顺藤摸瓜,穿越不同的抽象层面,直至找出原有问题的根本原因。

2345截图20220818151609.png

图:5Why分析法

举个实例,我们分析这个问题:同一客户为什么不能唯一识别。

为什么不能识别?

数据集中至少有两条重复的记录,这是现象。

为什么会有重复记录?

数据源系统中的客户数据就重复了,这是直接原因。

为什么数据源系统中的客户数据会重复?

业务员输入的客户数据重复了,这是进一步的原因。

为什么业务员会重复输入?

新来的业务员对系统操作不熟悉,这是更深入的原因。

业务员不熟悉系统就会重复输入吗?

信息系统缺乏对客户ID的唯一性校验。好了,找到问题的根本原因了。

5Why分析法可以帮助我们找出问题的根本原因,以便采取适当的改进措施,并为每个人分配需要采取的纠正措施。但是,“5Why”不是必须问5个为什么,也可以是4个、6个,找到问题根本原因、解决问题就好。

3、故障树图

故障树图是一种逻辑因果关系图,是一种图形演绎法,是故障事件在一定条件下的逻辑推理方法,可针对某一故障事件进行层层追踪分析(见下图)。故障树图的特点是直观明了,思路清晰,逻辑性强,既可以进行定性分析,也可以进行定量分析。它体现了以系统工程方法研究安全问题的系统性、准确性和预测性。

2345截图20220818151609.png

图:故障树分析法

使用故障树图来确定数据质量问题的可能原因。故障树从问题的顶部开始,而可能的原因在下面,这是一种自上而下的推演方法。首先,分析顶问题发生的直接原因,将顶问题作为逻辑的输出事件,将所有引起顶问题的直接原因作为输入事件,将它们之间的逻辑关系用适当的逻辑连接起来。然后,对每一个中间问题用同样方法逐级向下分析,直到所有的输入问题都不需要再分解(找到问题的根本原因)为止。

4、帕累托图

帕累托图是条形图和折线图的组合,条形图的长度代表问题的频率,折线表示累积频率,横坐标表示影响质量的各项因素,按影响程度的大小(出现频数)从左到右排列(见下图)。通过对排列图的观察分析可以抓住影响质量的主要因素,进而确定问题的优先级。

2345截图20220818151609.png

图:帕累托图分析法

帕累托图是基于80/20法则的分析,即认为发生的全部问题中有80%是由20%的问题原因引起的。这意味着,如果有针对主要问题的解决方案,则可以解决大多数其他较小的问题。

写在最后的话

数据质量管理是数据治理的重要组成部分,通常用在数据模型设计、数据资产管理、主数据管理、数据仓库等解决方案中。数据质量影响的不仅是信息化建设的成败,更是影响企业业务协同、管理创新、决策支持的核心要素。数据质量管理可以是反应性的被动管理,也可以是预防性的主动管理。但,无论是哪种管理,企业最应首先解决的是分析数据治理问题发生的根本原因,只有找到问题的根本原因才能对症下药,做到“标本兼治”!

注:本文摘自笔者主笔的《一本书讲透数据治理战略、方法、工具与实践》,机械工业出版社。有兴趣的可在京东/当当购买实体书。

THEEND

最新评论(评论仅代表用户观点)

更多
暂无评论