确保和维持数据质量的7个步骤
几年前,我遇到了一家大公司的高级董事。他提到他工作的公司面临着影响客户满意度的数据质量问题,并且他花了几个月的时间研究潜在的原因以及如何解决这些问题。“你发现了什么?” 我热切地问。“这是一个棘手的问题。我没有找到一个原因,相反,很多事情出了问题。”他回答。然后,他开始列举了导致数据质量问题的原因的一长串清单-公司中几乎每个部门都参与其中,因此他很难决定下一步的工作。这是处理数据质量时的典型情况,它直接关系到组织的业务开展方式以及数据本身的整个生命周期。
。
在数据科学成为主流之前,传递给内部或外部客户的报告大多提到数据质量。如今,由于
机器学习需要大量的训练数据,因此对组织内部的内部数据集的需求很高。此外,分析始终渴望获得数据,并不断寻找可能增加价值的数据资产,从而导致快速采用以前从未探索或使用的新数据集或数据源。这种趋势使数据管理和确保良好数据质量的良好实践比以往任何时候都更加重要。
。
本文的目的是为您提供一个清晰的概念,使您从一开始就如何构建可创建并保持良好数据质量的数据管道。换句话说,发现并修复问题根本无法改善数据质量。相反,每个组织都应该首先生成高质量的数据。
。
首先,什么是数据质量?一般来说,当数据满足其对客户,决策者,下游应用程序和流程的预期用途的要求时,它们就是高质量的。一个很好的类比是制造商生产的产品的质量,对于该质量而言,好的产品质量不是业务成果,而是可以提高客户满意度并影响产品本身的价值和生命周期。同样,数据质量是重要的属性,可以驱动数据的价值,从而影响业务结果的各个方面,例如合规性,客户满意度或决策的准确性。以下列出了用于衡量数据质量的5条主要标准:
准确性: 无论描述什么数据,都需要准确。
相关性: 数据应符合预期用途的要求。
完整性: 数据不应缺少值或数据记录。
及时性: 数据应该是最新的。
一致性: 数据应具有预期的数据格式,并且可以交叉引用且结果相同。
数据质量良好的标准可能会根据数据本身的要求和性质而有所不同。例如,公司的核心客户数据集需要满足上述标准的非常高的标准,而第三方数据源的错误或不完整性可能具有更高的容忍度。为了使组织交付高质量的数据,它需要从头到尾管理和控制在管道中创建的每个数据存储。许多组织只是将重点放在最终数据上,而在数据交付之前就对数据质量控制工作进行投资。这还不够好,而且经常发生,当最终发现问题时,已经为时已晚-要么花很长时间才能找出问题的根源,要么解决该问题的成本太高且耗时问题。但是,如果公司可以在接收或创建每个数据集时管理每个数据集的数据质量,则自然可以保证数据质量。要实现这一目标,有7个基本步骤:
。
1.严格的
数据分析和传入数据的控制
。
在大多数情况下,不良数据来自数据接收。在组织中,数据通常来自公司或部门无法控制的其他来源。它可能是从另一个组织发送的数据,或者在许多情况下是由第三方软件收集的数据。因此,不能保证其数据质量,并且在所有数据质量控制任务中,对输入数据进行严格的数据质量控制可能是最重要的方面。一个好的数据分析工具将派上用场。这样的工具应该能够检查数据的以下方面:
数据格式和数据模式
每条记录的数据一致性
数据值分布和异常
数据完整性
自动化数据分析和数据质量警报也很重要,这样一来,无论何时接收到的输入数据的质量都得到一致的控制和管理-从未假设没有进行分析和检查的输入数据不会像预期的那样好。最后,应使用相同的标准和最佳实践来管理每一个传入的数据,并应建立集中式目录和KPI仪表板以准确记录和监视数据质量。
2.精心的数据管道设计,避免重复数据
。
重复数据是指从相同数据源,使用相同逻辑,但可能由不同人员或团队出于不同下游目的而创建全部或部分数据的时间。创建重复数据时,它很可能不同步并导致不同的结果,从而在多个系统或数据库中产生级联效应。最后,当出现数据问题时,追踪根本原因变得困难或耗时,更不用说解决它了。
为了使组织避免这种情况的发生,需要在数据资产,数据建模,业务规则和体系结构等领域中明确定义和精心设计数据管道。还需要有效的沟通来促进和加强组织内的数据共享,这将提高整体效率并减少由数据重复引起的任何潜在的数据质量问题。这进入了数据管理的核心,其细节不在本文讨论范围之内。在较高级别上,需要建立三个区域来防止创建重复数据:
数据治理程序,可以清楚地定义数据集的所有权,并有效地沟通和促进数据集共享,从而避免任何部门的孤岛。
集中的数据资产管理和数据建模,需要定期检查和审核。
在企业级别共享数据的清晰逻辑设计,在整个组织中共享。
随着当今技术平台的快速变化,可靠的数据管理和企业级数据治理对于将来成功进行平台迁移至关重要。
。
3.准确收集数据需求
。
拥有良好数据质量的一个重要方面是满足要求,并将数据交付给客户和用户以获取数据的预期用途。它并不像听起来那么简单,因为:
正确显示数据并不容易。要真正了解客户的需求,通常需要通过数据示例和可视化来进行彻底的数据发现,数据分析和清晰的通信。
该需求应捕获所有数据条件和场景-如果未审查和记录所有依赖项或条件,则认为该需求不完整。
需求的清晰文档,易于访问和共享,是另一个重要方面,应由数据治理委员会强制执行。
在需求收集中,业务分析师的角色至关重要。他们对客户以及当前系统的理解使他们能够说双方的语言。在收集到需求之后,业务分析师还将执行影响分析并帮助制定测试计划,以确保生成的数据符合需求。
。
4.加强数据完整性
。
关系数据库的一个重要功能是能够使用诸如外键,检查约束和触发器之类的技术来强制数据完整性。随着数据量的增长以及越来越多的数据源和可交付成果的增长,并非所有数据集都可以存在于单个数据库系统中。因此,数据的引用完整性需要由应用程序和流程来实施,这些应用程序和流程必须由数据治理的最佳实践进行定义,并包含在实施设计中。在当今的大数据世界中,引用强制实施变得越来越困难。首先,如果没有强制执行完整性的思想,则引用的数据可能会过时,不完整或延迟,从而导致严重的数据质量问题。
。
5.将数据沿袭可追溯性集成到数据管道中
。
对于设计良好的数据管道,解决数据问题的时间不应随系统的复杂性或数据量的增加而增加。如果没有将数据沿袭的可追溯性内置到管道中,则当发生数据问题时,可能要花费数小时或数天才能找出原因。有时,它可能要经过多个团队,并要求数据工程师调查代码以进行调查。
数据沿袭的可追溯性有两个方面:
元数据:能够跟踪数据集,数据字段以及两者之间的转换逻辑之间的关系的能力。
数据本身: 快速跟踪数据问题到上游数据源中各个记录的能力。
元数据可追溯性是有效数据治理的重要组成部分。从一开始就对每个数据集(包括其字段和结构)进行清晰的文档编制和建模,就可以实现此目的。当数据管道由数据治理设计和实施时,应同时建立元数据可追溯性。如今,元数据沿袭跟踪已成为市场上任何数据治理工具的必备功能,只需单击几下,它就可以更轻松地存储和跟踪数据集和字段,而不是让数据专家浏览文档,数据库,甚至程序。
。
数据可追溯性比元数据可追溯性困难。下面列出了启用此功能的一些常用技术:
通过每个数据集的唯一键进行跟踪:这首先要求每个数据集具有一个或一组唯一键,然后通过管道将其向下传送到下游数据集。但是,并非每个数据集都可以通过唯一键进行跟踪。例如,当聚合数据集时,来自源的键会丢失在聚合数据中。
当数据本身中没有明显的唯一键时,构建一个唯一的序列号,例如事务标识符或记录标识符。
构建链接表时,有许多到-多的关系,而不是1 -到-1或1 -到-多。
向每个数据记录添加时间戳(或版本),以指示何时添加或更改它。
日志表中的日志数据更改具有更改前的值和更改发生时的时间戳
数据可追溯性需要花费时间来设计和实施。但是,对于数据架构师和工程师来说,从一开始就将其构建到管道中就具有战略意义。考虑到它将在发生数据质量问题时节省大量时间,因此绝对值得付出努力。此外,数据可追溯性为进一步改善数据质量报告和仪表板奠定了基础,这些报告和仪表板使人们能够在将数据交付给客户端或内部用户之前更早地发现数据问题。
。
6.作为变更管理的一部分的自动化回归测试
。
显然,引入新数据集或修改现有数据集时,经常会发生数据质量问题。为了进行有效的变更管理,应建立两个主题的测试计划:1)确认变更符合要求;2)确保更改不会对不应更改的管道中的数据产生意外影响。对于关键任务数据集,当发生更改时,应针对每个可交付成果实施常规回归测试,并应针对数据集的每个字段和每一行进行比较。随着大数据技术的飞速发展,系统迁移在几年内不断发生。必须进行自动回归测试并进行全面的数据比较,以确保始终保持良好的数据质量。
。
7.强大的数据质量控制团队
。
最后,两种类型的团队扮演着至关重要的角色,以确保组织的高数据质量:
质量保证: 每当发生更改时,该团队都会检查软件和程序的质量。该团队执行严格的变更管理对于确保在数据密集型应用程序中进行快速转换和变更的组织中的数据质量至关重要。
。
生产质量控制: 根据组织的不同,该团队本身不必是一个单独的团队。有时,这可能是质量保证或业务分析师团队的职能。团队需要对业务规则和业务需求有很好的了解,并需要配备工具和仪表板以检测异常,离群值,断裂趋势以及生产中发生的任何其他异常情况。该团队的目标是识别任何数据质量问题,并在用户和客户之前解决该问题。该团队还需要与客户服务团队合作,并可以从客户那里获得直接反馈并迅速解决他们的疑虑。随着现代AI技术的进步,可以极大地提高效率。但是,如本文开头所述,最后的质量控制是必要的,但不足以确保公司创建并保持良好的数据质量。还需要上述6个步骤。
。
摘要
。
总之,良好的数据质量除了需要对内部和外部传递的数据进行质量控制之外,还需要严格的数据治理,对传入数据的严格管理,准确的需求收集,对变更管理的彻底回归测试以及对数据管道的精心设计。对于所有质量问题,首先要防止数据问题发生,而不是依靠防御系统和临时修复程序来处理数据质量问题,这要容易得多且成本更低。最后,按照本文的7个步骤,不仅可以保证而且可以保持良好的数据质量。

关注 CDA人工智能学院 ,回复“录播”获取更多人工智能精选直播视频!