评估自动化数据质量监控的业务影响

通过使用机器学习自动化数据质量监控,您可以超越传统方法,如指标监控和基于规则的测试。但在我们深入讨论这种方法的实施细节之前,我们想先解决可能存在的疑问(或者至少在页面上)。这样做值得吗?

我们不会假装有一个单一的正确答案。我们也不会告诉每个人明天就去构建或购买自动化数据质量监控平台。然而,我们可以帮助您回答诸如以下问题:

• 哪种类型的数据最适合自动化数据质量监控?

• 在投资之前,我们的数据堆栈应该是什么样的?

• 我们如何衡量新数据质量监控方法的投资回报率?

数据质量问题是不可避免的(请参见以下侧边栏),但您选择的解决方案并非唯一。

通过本章的最后,您应该掌握了进行自我评估的所有工具,了解您的组织可以从自动化方法中获得什么收益。我们将涵盖您应该考虑的四个关键因素:您的数据、您所在行业、您的数据成熟度以及您的利益相关者可能获得的好处。然后,我们将提供有关如何通过ROI分析评估利弊的见解。

评估您的数据

您的数据及其特征可以告诉您很多关于自动化数据质量监控如何(以及是否)满足您公司需求的信息。多年前,IBM提出了"大数据的四个V"的概念:体积(Volume)、多样性(Variety)、速度(Velocity)和真实性(Veracity)。它仍然是一个有用的框架,如原始信息图所示。以下是我们对这四个方面及其对自动化数据质量监控的影响的解释。

体积

如果数据的体积足够小,那么人类可以手动审查它。但即使每天只有几十个新记录,也可能需要自动化的数据质量监控。当每天的行数接近百万或十亿时,挑战在于发现数据质量问题所在的小但重要的数据段,因此需要投资于无监督学习模型和避免警报疲劳的通知(这是我们将在后续章节中讨论的方面)。

多样性

组织所捕获的数据种类越多,数据质量问题的风险面积就越大。多样性的来源包括:

• 数据的结构方式

• 数据的采集方式

• 数据中的时间如何度量

• 数据的更新方式

• 数据中描述的实体

• 数据中的记录如何与其他记录相关联

• 描述的业务流程的变化

• 数据的粒度或摘要程度

对于不同类型的数据,您关心的监控内容通常会发生变化。例如,考虑一下,如何将列通常归类为标识符列、时间列、段列或度量列。在每个数据类别中,您可能关心的监控事项有所不同------我们在这里列出了最重要的几个:

标识符列(例如,客户ID)

需要监控的内容:唯一性、格式、关系完整性

时间列(例如,事件时间戳)

需要监控的内容:粒度、排序、相邻时间间隔

段列(例如,客户地区)

需要监控的内容:有效性、分布、基数

度量列(例如,每日总订单量)

需要监控的内容:平均值、分布、异常值

您的数据的一个重要方面是结构。数据的结构化程度极大地影响了您可能想要应用的监控策略。通过正确的技术手段,您可以甚至针对非结构化数据自动进行数据质量监控。但总体而言,数据结构化程度越高,使用自动化方法进行监控就越容易。

非结构化数据

非结构化数据可能包括视频、图像、音频和文本文件。处理非结构化数据时,您将需要额外的算法来将其"解码"为您可以监控的值。 一种方法是计算有关非结构化数据的元数据(例如,视频长度、图像大小),并监控该元数据以发现数据质量问题。要更直接地监控数据值,您可以在某些情况下训练一个ML分类器------例如,您可以想象训练一个计算机视觉模型来检测模糊的图像。 或者,您可能已经有一个深度学习模型,该模型使用数据作为输入,比如一个通过吸收大量非结构化文本来学习预测序列中下一个单词的模型。如果您想要尝试在输入数据中找到问题,您可以监控模型的嵌入:表示输入数据的N维数值向量。通过使用无监督的ML方法监控嵌入中的漂移,您可以通过代理监控输入数据的变化。 然而,每次重新训练模型时,其嵌入都会发生显著变化。因此,这种监控策略仅适用于静态的深度学习模型。随着基础模型的兴起,这些模型是用于文本和图像处理的大规模深度学习模型(例如OpenAI的DALL-E和GPT-4),在主要版本升级之间,这些嵌入是稳定的,因此监控您的非结构化数据在这些嵌入空间中的变化是一个有用的建议。 理解您的非结构化数据在嵌入空间中变化的重要性和影响仍然是一个具有挑战性的问题。然而,这些模型中个别神经元可解释性的新突破可能会使这一问题变得更容易。此外,组织可以将其结构化数据与其非结构化数据嵌入相关联,以描述其数据的哪些部分正在经历重大变化。例如,可能情况是,一个显著的分布变化被局限在特定地理区域的客户或来自特定平台的产品体验中。最后,您总是可以返回到文本本身,检查异常样本,甚至要求生成式AI模型总结一些异常记录的样本。

半结构化数据

半结构化数据没有固定的平面表结构;其结构可能随时间而变化且具有嵌套性。但它确实有一种结构(例如标签和位置值),这种结构在其元素之间强制了一定的层次结构或关系。要自动监控半结构化数据,通常需要一些模式验证、定制算法和规则的混合使用。

JSON对象可以很容易地扩展为给定数据表中的附加列。 假设一列json包含值 {"name": "bob", "age": 32}。 这一列可以扩展为一个字符串列json.name,其中包含"bob",和一个整数列json.age,其中包含32:

json [json] json.name [string] json.age [integer]

{"name: "bob," "age": 32} "bob" 32

一些数据仓库将自动支持这种类型的扩展,并帮助您强制执行JSON的模式。 但是,您通常不会事先知道模式(因为不同团队的工程师经常会更改模式或编写新模式)。 在这种情况下,您需要在监视数据之前额外扩展数据。 JSON数组更难处理。 您可以将它们视为已"压缩"为单行的关系形式的数据。 例如,数组可以用于指定客户的地址。 虽然您可以将这些列表扩展为关系表,但您的选择并不那么吸引人:您需要将每个列表扩展为一个新表,其中包含客户ID列(根据每个客户有多少地址,重复1到N次),以及包含地址信息的地址字符串列(基本上是进行数据库规范化),如下所示:

customer_id [integer] address [string]

... ...

这将使这些数据与其他客户信息隔离开来,使得难以看到地址问题与其他数据问题之间的相关性,并且使用其他客户信息来确定地址问题也变得更加困难。 另一种选择是将地址信息扩展为许多列(其中大多数列将是稀疏的,因为许多用户只有少量地址,但有些用户可能有很多),如下所示。 这两种情况都不太适合使用无监督的ML进行监视:

customer.address1 [string] customer.address2 [string] ... customer.addressN [string]

... ... ... ...

处理这种数据列表的一种策略是随机抽样数组元素,并对其进行数据质量问题监控。 这种策略还允许您优雅地处理对象和数组嵌套的情况。 我们将在第4章中深入讨论抽样。

结构化数据

结构化、关系型数据通常是最重要的数据类型,因为它是分析平台、机器学习模型和其他数据产品最常使用的形式。虽然它可能不占组织积累的总数据量的很大比例,但它却构成了最有价值的数据的不成比例的比例。在这一类别中,您应该考虑监视三种结构化数据:规范化的关系数据、事实表和汇总表。

规范化的关系数据。在数据质量监控的背景下,您可以将规范化的关系数据视为分布在多个表中并相互关联的数据(数据库规范化的确切定义和用法超出了本书的范围)。每个表都将有一个主键和与该主键唯一相关的数据;每个表也可能有多个外键,可用于与其他表连接。这种类型的数据在生产应用程序中非常常见。在OLTP(在线事务处理)模式下,每个应用程序交互都将生成与之关联的DB读取和写入时,这是在数据库中读取或写入数据的最有效方式,许多数据仓库将规范化的数据直接复制到数据仓库中作为存储在生产应用程序中的数据的原始"副本"。然后,这些数据将被转换为事实表或摘要数据------将数据转换为仪表板和其他数据产品更可用形式的"数据工厂"工作(请参阅第7页"数据工厂内部的问题"部分)。 数据质量监控可以直接应用于规范化的关系数据,因为这些数据通常是下游问题的"根源"。然而,这些数据仅提供了一个有限的监视表面,因为每个表都是狭窄且相互独立的。要真正理解问题的范围和背景,数据监视解决方案将需要连接到关系模型中的其他表------如果在查询时执行这种操作将会很昂贵。

事实表。为了克服将每个查询都写成多个规范化表的复杂连接和聚合的分析挑战,许多组织创建"事实"表,将数据非规范化成单个实体化表。例如,电子商务公司可能会有一个fact_orders表,其中每一行表示来自其网站上的客户的订单。除了与该特定订单相关的时间戳和标识符之外,它还可能总结其他表中的信息:

  • 客户在下订单前采取的操作信息(从web/mobile事件表中)
  • 下订单的客户信息(从客户表中连接)
  • 下订单购买的商品信息(从商品表中连接)
  • 与订单履行、取消或其他处理相关的时间戳(从订单处理事件表中连接)

这些表通常是监视数据质量问题的最具洞察力的表。事实表提供非常精细的信息,否则可能分布在数十个或数百个表中,并将其汇总到具有实际业务价值的实体中。它们也是专门构建和维护的,以作为其他分析、机器学习和产品团队消费的整合基础。因此,此级别上可见的问题通常是重要问题;它们可以通过无监督的ML监视、基于规则的测试和度量监视的组合来发现。事实表还提供了有关表中每个记录的大量上下文信息,这有助于理解问题发生时的情况。

汇总表。汇总表是关系数据或事实表的聚合,通常用于支持仪表板和报告。例如,电子商务公司可能会有一个客户汇总表,显示每个客户的最新统计信息,例如他们的订单数量、满意度评级和预期的终身价值。或者,金融服务公司可能会维护针对关键业务部门的每日财务业绩和风险信息的汇总表,用于生成财务报告。

这些表对于监视数据质量问题非常重要,因为它们是报告应用程序的基础。一个问题是这些表通常只会显示每个实体的最新信息。因此,数据监视解决方案需要对这些表进行快照,以便检测随时间发生的问题。

速度

数据以各种速度进行收集、聚合和分发。考虑一下每年生成一次的人口普查数据,与每毫秒生成一次的交易产品数据相比。

表3-1显示,随着数据的节奏变化,监视数据质量问题的适当策略也会有所不同。

针对不频繁每月到达的数据,数据质量监控通常是一个手动过程。虽然可以使用机器学习模型比较一个时间段到下一个时间段的数据集,但问题在于相关性。当数据每年只到达一次时,模型需要多年的时间来学习预期的变化------与此同时,生成数据的过程几乎肯定会发生变化,使模型的知识变得无关紧要。

对于每周、每日或每小时到达的数据,使用无监督的机器学习进行自动监控变得可能且强大。有足够的数据历史来训练模型,用于评估的样本量通常足够大,以便检测到有意义的差异,而频率开始变得过高,以至于人们手动审查数据将带来重大成本和负担。

对于每分钟甚至每毫秒到达的数据,监控考虑再次发生变化。您需要能够通过程序响应实时纠正任何问题------涉及人员将会太慢。因此,尽管这种类型的数据应该自动监控,但需要更确定性的解决方案(即,仅基于规则的测试),以确保不存在误报的风险。

Veracity

数据的真实性或正确性实质上是数据的准确度。我们永远无法真正知道数据是否准确地反映了真实世界,因此要得到数据集真实性的良好近似值,您可以查看新数据质量问题被引入的固有风险(参见第1章)。您还可以考虑增加对数据真实性的信任的因素,例如数据生产者和数据消费者之间包含SLA(服务级别协议)的合同,其中包含数据将被传递的频率等信息。

您的数据来源的真实性显然会影响您从数据质量监控中获得的价值。我们建议查阅第1章和附录,了解数据质量问题的示例以及它们可能发生的原因,并将这些问题映射到您业务中使用的数据类型上。您还可以考虑审计过去存在的数据质量问题:数量、严重程度等。

根据经验,以下数据来源通常最不可信:

  • 由第三方提供的数据,虽然可能非常可靠,但也可能在没有与消费实体进行任何沟通的情况下突然更改。这通常是需要优先监控的高优先级数据。
  • 由彼此交互的非常复杂的系统生成的数据更有可能出现数据质量问题,因为一个系统中做出的假设可能不被其他系统尊重。
  • 来自正在不断变化和快速改进的系统的数据更有可能出现数据质量问题。
  • 由传统系统生成的数据也更有可能存在问题,因为数据质量往往随时间推移而下降,并且通常这些系统没有得到良好的维护。

特殊情况

在罕见情况下,一些类型的数据很难使用无监督的机器学习进行监控。在以下情况下,您可能需要手动或纯粹基于规则的方法:

  • 对于重要的数据,例如手动输入的客户地址,确保单个值在输入时收集正确至关重要。对于这种用例,您希望系统在输入时验证数据。如果在数据仓库中检测到问题,除非您回到客户那里再次询问地址,否则很难解决问题。
  • 具有非常少量实体或交易的数据。例如,金融公司的并购相关数据将很难自动监控数据质量。这类数据可能不会很多,并且交易的形状和结构将大不相同。
  • 收集在单个大型静态数据转储中的数据。例如,考虑一项药物试验的数据。如果试验运行时间很长,则可能有理由进行数据质量监控,但在大多数情况下,这类数据是一次性使用相同的流程和系统收集的。如果存在数据质量问题,则它们可能是数据固有的。您需要一个验证规则来发现这类问题,并将您对现实的预期与数据显示的内容进行比较。

评估您所处的行业

在Anomalo,我们的客户主要来自以下行业:金融服务、电子商务、媒体、科技、房地产和医疗保健。虽然这个格局肯定会继续变化和发展,但我们对今天出现这种情况的原因进行了大量思考。是什么让数据质量的紧迫性在某些行业中感到如此迫切?

部分原因是由先前讨论的数据因素造成的。所有提到的行业都使用来自交易和事件的大量数据。一些行业严重依赖第三方数据;例如,房地产公司依赖来自多个合作伙伴的多个上市服务(MLS)数据,这些数据具有不同的格式、及时性和质量。而在电子商务、科技和媒体等数字原生行业中,平台和产品正在频繁、快速地变化。

然而,还有一些额外的因素可能会对行业采用自动化数据质量监控产生重大影响。

监管压力

毫无疑问,法规正在推动一些组织投资于自动化数据质量。例如,金融机构必须满足各种市场监管机构的监管要求,否则将面临重大后果。例如,2021年富国银行因未能保护消费者免受不安全做法的影响,收到了美国国家银行监察局250亿美元的罚款和法律约束性同意令。花旗银行因"企业范围内风险管理、合规风险管理、数据治理和内部控制方面的缺陷"而被罚款4亿美元。

EDM Council是一个知名的全球协会,提供企业数据管理咨询和建议,以及与监管义务的交叉点(所以不要寻求音乐推荐)。他们的Cloud Data Management Capabilities(CDMC)框架为处理敏感数据提供了最佳实践,并经常用于金融机构以确保合规性。框架的关键方面包括:

CDMC 1.1

自动监控关键控制合规性指标,并在指标低于特定阈值时生成警报。

CDMC 1.2

确保数据目录中的所有权字段为迁移到或在云中生成的敏感数据填充,并使用分流工作流程向客户发送警报,如果创建了一个不具备该字段填充的数据资产。

CDMC 5.2

必须为敏感数据启用数据质量测量,如果可用,则分发度量。数据质量度量将使数据所有者和数据消费者能够确定数据是否适合用于特定目的。这些信息需要对所有者和数据消费者都可见:

  • 自动将数据质量指标交付给数据所有者和数据消费者。
  • 在数据目录中提供数据质量指标。
  • 自动向数据所有者发出数据质量问题警报。

CDMC 6.0

所有敏感数据必须提供数据血统信息。至少必须包括数据是从哪里摄取或在云环境中创建的源。 很难想象在没有本书讨论的技术的情况下,如何在规模上确保这些保证。

即使今天大多数行业还没有这种严格程度的规定,但法规往往会从最紧急的案例开始在孤立的情况下出现,并逐渐成为其他行业的模板。例如,曾经只有医院工作人员会定期洗手,以保护患者的健康;逐渐地,这开始包括其他人群,如准备食物的人,最终成为每个人的常规做法。特别是随着人工智能/机器学习的使用增加,我们想象数据质量只会随着它开始影响我们日常生活的更多方面而越来越受到监管。

AI/ML风险

正如第1章中讨论的那样,当AI/ML模型所训练的数据与它们在生产中用于进行预测的数据不匹配时,这些模型会出现错误。这可能很难调试,特别是因为数据质量问题通常不会以明显的方式导致模型完全崩溃,而是使其在某些用户或场景下表现更差。

如果您的组织正在构建模型,尤其是如果您将它们放在用户面前,您可能已经在数据科学、数据工程和MLOps方面进行了重大投资。没有自动化数据质量监控作为您的AI/ML堆栈的一部分,这项投资将面临风险。为了说明这一点,让我们更深入地了解由于数据质量问题在模型训练和推断过程中可能出现的问题。

特征冲击

图3-1显示了一种特征冲击:这是一种影响机器学习模型特征的数据冲击。在某一天,该特征的数据远超出了历史范围之外。这对模型会产生什么影响呢?

如果在训练数据中使用了这种冲击,那么该特征的重要性将被削弱,因为模型会认为该特征在未来的预测中不太可靠。如果这种类型的冲击在生产环境中发生,那么结果将根据所使用的模型类型而异。 线性模型在定义上是线性外推的。因此,如果您的特征冲击是预期值的五倍,那么该特征将对结果分数产生五倍的影响。基于树的模型通常更具弹性。特征冲击将倾向于将特征推向分布的极端端点。然后,模型将开始将这些值解释为与极端位置上的"正常"人群相同。 神经网络在特征冲击下的行为非常不稳定。它们的结构中存在着复合的非线性,当数据突然移动到典型分布之外时,会产生不规则的行为。几乎无法预测它们的行为。

NULL值增加

NULL值的激增,在最好的情况下对模型的影响与普通的特征冲击相同。但在最坏的情况下,它可能会以更加灾难性的方式影响模型。如果模型将NULL值和零值视为相同,那么激增可能会使模型认为零值增加了,这可能会引发意外行为。或者,如果模型聚合特征值,你可能会遇到一个问题,其中NULL值会不断累积。 想象一下,你有一个包含订单和订单中的商品的表格,其中一个数据质量问题导致每10个商品价格中就有一个是NULL。在某些平台上,如果计算商品价格的平均值,那些NULL值可能会主导聚合,使得每个订单的avg_item_price字段对于其中有多个NULL商品的订单都变成NULL。

相关性的变化

数据质量问题有时会改变列之间的相关性。例如,如果ID生成方式出现故障,导致信用评分数据集与贷款申请不正确地连接,那么生成的信用评分可能在分布上与正确的值相同,但它们将不再与正确的贷款相关联。因此,它们将不再与数据的其他特征(年龄、收入、信用历史等)相关联,也不会与未来的风险结果相关联! 当相关性突然发生变化时,结果行为将取决于模型的类型: • 线性模型对特征之间的相关性非常敏感,特别是如果它们没有很好地被正则化(这是一种防止单个系数超出适当范围以适应数据的技术)。在这些情况下,相关性的变化可能导致模型预测的大幅度变化。 • 基于树的模型也对相关性非常敏感,因为它们通过逐列递归地对数据进行分区操作。相关性的变化将导致记录完全沿着不同的路径进行路由,从而导致预测出现剧烈波动。 • 神经网络的行为会像特征冲击一样不稳定,因为数据的分布突然开始出现在模型未经训练的空间中(从多变量的角度来看)。

重复数据

重复记录对于开发模型的数据科学家来说可能是一个重大问题。如果在创建训练数据集时错误地重复了数据,模型将"过度拟合"于重复信息,错误地认为它在现实中被过度呈现。另一个重复可能造成重大问题的地方是在对测试和训练数据进行分割时。重复的记录很容易出现在训练和测试数据中。这将使模型再次"过度拟合"训练数据------在极端情况下,它可能简单地记住了数据,因为测试数据集中出现了完全相同的记录。结果是模型看起来比实际表现要好得多。

数据作为产品

当您将数据作为您的产品出售或打包时,那么您的数据质量就是您产品的质量,这使得数据质量监控对您的业务更有价值。一些公司直接提供数据作为服务。举几个例子,考虑一下金融服务中的信用汇总商、房地产中的MLS数据汇总商、投资中的公开公司财务表现数据以及电子商务中的竞争价格数据。

在其他行业中,企业并不一定在销售数据,但他们的数据仍然是产品供应的重要组成部分。想象一下媒体平台如何向内容创作者提供数据。这些创作者需要准确的指标,如观看次数和观看时长,以便在他们的工作中取得成功,这也维持了平台本身的运营。如果数据报告存在问题------也许一个错误导致移动用户被记录为双倍观看------这可能会对业务造成重大影响。

评估您的数据成熟度

随着组织的发展壮大,它们往往从"不成熟"的阶段,即刚开始收集数据,逐步转变为"成熟"的阶段,即构建人工智能和运行高级分析。在她的Medium文章中,我们的朋友和顾问Monica Rogati将其总结为"数据科学需求金字塔"。请参见图3-2。

在数据成熟度的早期阶段,您从数据可观察性问题开始,这些问题可以通过监控表元数据来回答。数据是否被摄入?最后一次更新是什么时候? 当您继续攀登金字塔并达到中间层时,您开始探索和转换数据,这是思考自动化数据质量监控的好时机。在这个阶段,您可能已经积累了大量数据,并且希望为下一阶段的聚合和优化打下坚实的基础。这些未来的阶段将依赖于高质量的数据才能发挥作用。

当企业达到数据成熟度金字塔的中间时,他们通常会感到缺乏资源(分析师、数据工程师、产品工程师)来解决可能发现的数据质量问题。因此,他们得出结论认为不应该投资于自动化监控。然而,我们认为这是一个错误。这些数据质量问题几乎肯定会干扰到今天的工作,并且会产生越来越多的债务,这将非常难以克服。

与其回避了解问题(并感到有义务解决它们),您应该建立识别问题的能力,并积极优先考虑哪些问题值得投资解决。通常,这意味着从较少数量的缺失关键表(如事实表)开始,并事先同意必须满足的标准,以证明值得在这些表中投资解决数据质量问题。

不确定您在数据成熟度方面处于何种水平?您的数据堆栈是一个很好的指标。

当一家公司尚未采用云数据仓库时,通常意味着他们对正在收集的数据的利用仍然不成熟,现在投资于自动化数据质量监控可能为时过早。在生产数据存储或云存储中的静态数据上,很难建立一个强大的分析报告堆栈和数据驱动的团队文化。

另一个衡量数据成熟度的指标是您的组织是否使用像Airflow、Databricks Workbench和dbt这样的工具来在数据仓库中进行数据转换、聚合和增强。这些活动的存在通常意味着对数据质量的需求,因为它会增加引入数据质量问题的风险。此外,这些服务通常希望通过API与数据质量监控解决方案进行交互,以便在数据转换或发布后触发数据质量检查,或者在上游源失败关键的数据质量检查时等待处理下游数据。

最后,衡量成熟度的最后一个指标是您的公司是否已经统一使用了数据目录。当有许多利益相关者访问各种数据时,数据目录非常有用;它们有助于确定哪些数据最重要。通常,这些数据应该是最需要密切监控数据质量的数据。这里还存在一种协同作用,因为数据质量监控的结果可以复制到数据目录,并向用户显示,以帮助他们了解数据是否经过了充分的测试并具有高质量。

评估利益相关者的收益

随着组织在数据需求金字塔上的提升,它往往会拥有一个更庞大的数据团队,对数据质量监控解决方案的需求也会增加。例如,一个主要由工程师组成的团队可能可以仅通过API来监控数据质量,但随着非技术用户数量的增加,拥有一个用户界面来探索数据并传达关于发现的质量问题的更丰富的见解就变得越来越有价值了。 确定自动化数据质量监控是否适合您的情况时,直接与利益相关者交谈是最好的起点。在接下来的部分中,您将找到组织中许多角色如何从自动化解决方案中受益以及对他们可能感兴趣的功能类型的描述。

工程师

这些是数据工程师、分析工程师或数据平台团队的成员。他们负责管理平台、ETL管道,并更新数据的跟踪和存储方式。他们最关心的数据问题与数据在运动中的新鲜度和量以及跨不同来源的数据的对账有关。

很可能一个工程师团队将被指派负责数据质量监控平台的技术实施。因此,他们希望得到的是一个易于配置、尽可能自动化、并且易于与您堆栈的其他部分集成的解决方案。工程师倾向于希望获得一个强大的API,允许其中一个或多个以下选项:

• 通过代码直接与API进行交互。这可以直接调用端点,也可以通过Python包。这是与API交互的最灵活的方式,但并不总是最容易的。

• 在像Airflow和Databricks Workbench这样的编排平台中使用软件包。这些软件包将底层API中的功能整合在一起,并直接集成到编排平台中。以下是Anomalo Airflow操作员的一个示例。

• 与配置文件(如YAML、JSON)进行交互,这些配置文件在代码版本控制系统(如Git)中进行管理,并通过API与监控平台同步。这样可以将配置更改管理为代码,但与直接调用API相比,灵活性不够。

数据领导力

数据团队的管理者通常希望能够跟踪整体数据质量的健康状况,以及其随时间的趋势和用户在平台上的参与情况。 管理者感兴趣的典型关键绩效指标(KPI)包括:

数据质量覆盖率

有多少个表格定义了检查?这些检查的执行情况如何?通过高层次的覆盖视图,领导者可以确定盲点所在。

数据到达时间

领导层需要能够识别数据没有按时到达或未达到服务水平协议(SLAs)的表格。

数据质量趋势

快照统计数据无法跟踪数据质量。管理者需要通过时间序列视图和每周变化来追踪随时间的改善情况。

重复问题

如果管理者能够获得最常出现问题的表格或最常失败的检查的列表,以优先考虑下一个数据质量倡议,那将会很有帮助。 关于数据质量监控解决方案如何为数据领导力提供工具的示例,请参见图3-3和3-4。

科学家

这些是数据分析师、数据科学家和机器学习平台团队的成员,他们参与构建数据产品和生成洞见。他们通常对监控缺失数据、重复数据和分布变化感兴趣。与工程师不同,这个群体倾向于使用易于使用的用户界面,而不是API。自动化数据质量监控解决方案可以赋予科学家们力量的一种方式是提供丰富的可视化工具,让他们探索数据并确定问题的根本原因。

消费者

这个类别包括所有依赖工程师和科学家构建的数据产品来做决策的人,比如产品团队、运营、营销和合规性。这些人通常是关于收集数据的领域中最深入的专家,并因此在指导数据质量监控和问题分类方面起着重要作用。为了建立对数据的信任并避免不同工具的泛滥,监控解决方案应为这个群体提供关于数据质量的单一真相来源。消费者不太可能参与问题的解决;相反,他们应该通过通知了解可能影响他们工作的数据质量问题。这些通知应该清晰易懂,并以适当的紧急程度传达。

进行 ROI 分析

在评估了讨论过的四个关键因素------您的数据、您所在的行业、您的数据成熟度和您的利益相关者之后,您可能会决定自动化数据质量监控似乎是一个不错的主意。在这种情况下,您将希望通过对可能的 ROI 进行评估来说服自己和其他人。这样的分析应该考虑到定量和定性指标。

定量指标

您可以通过查看业务中数据质量问题的发生频率来开始 ROI 分析。它们每个表的发生频率是多少?每个事件通常会造成多少成本:业务中断、调查和解决时间,以及其他不利的客户或运营影响?对于您已经知晓的每个数据质量问题,有多少问题未被发现但仍对您的业务产生了不利影响?

一旦您估计出这个数字,您可以将其乘以每年每个表预期的问题数量,以及需要监控的表的数量。如果自动化数据质量监控解决方案的总成本能够减少这些事件及其导致的成本的数量和严重程度,您就可以证明其是有必要的。

此外,还要查看团队在数据质量相关任务上花费的时间,以及您预计通过自动化数据质量监控可以减少的时间量。典型任务包括:

  • 创建和维护自动化数据检查
  • 设置通知和警报
  • 调查、探索和根本原因分析
  • 随时间监控关键指标

如果您有这些任务的历史统计数据,那么您可以计算通过实施自动化数据质量监控节省的小时数。这些小时可以作为团队在时间和人才上投入到其他项目中的回报。如果您能与供应商进行试验,例如,看看设置监控在您关心的表上需要多长时间,那就最好不过。如果您是在内部建立,那么在提前获取清晰的数字可能会有些困难,但是您可以设定一个目标,使投资值得,并在构建概念验证时记住这一点。

在与客户交谈时,我们经常被要求帮助估算配置监控表和处理警报所需的总小时数,以便他们将这些时间与他们今天在数据质量上的支出进行比较。值得注意的是,通过高效的监控平台,大部分数据质量工作将集中在相对较小的一部分重要表上。在一个有 20,000 张表的数据仓库中,我们通常会看到像表 3-2 中的这种分布:

  • 10,000 张表(50%)根本不值得监控。通常,这些是临时、中间或一次性表,可能会在将来被删除。
  • 9,000 张表用于处理,并应使用元数据监控数据的新鲜度和量。我们将其称为表的可观察性,它的优点是比在整个仓库上运行 ML 模型要便宜得多,同时提供基线水平的数据质量监控。
  • 有 900 张重要的团队特定表,除了表的可观察性外,业务还希望使用自动化 ML 模型进行深入的数据质量监控。
  • 在 90 张关键表上,他们还想设置验证规则和指标,以监控一些意外的变化。
  • 可能有 10 张关键表,在所有其他监控的基础上,必须具有许多验证规则来监控记录级质量。这些往往是业务的重要事实表。

您还需要权衡解决方案的设置和运营成本,如许可、基础设施和计算。需要注意的是,这些成本的另一个考虑因素可能是支出(因此是您的预算)的可预测性。

定性指标

自动化数据质量监控的一些定性好处包括:

  • 加快开发周期,因为您可以在功能发布后更早地捕获生产问题
  • 由于高测试覆盖率、更少的错误和更快的响应时间,与合作伙伴建立信心
  • 具有"审计跟踪",可以记录历史数据检查和数据的过去表现
  • 民主化数据质量,改善合作和所有权,从而提高员工的生产力和满意度
  • 提高对数据的信任,从而提高其他与数据相关的工作的投资回报率 自动化数据质量监控的定性劣势可能包括:
  • 对变革的抵制;员工必须获得新技能
  • 需要开发新的培训和入职资源
  • 潜在的安全风险;例如,如果您使用的是没有部署在虚拟私有云(VPC)中的 SaaS 解决方案
  • (如果是内部构建)需要随时间维护您的解决方案并承担停机的责任
  • 虚假阳性或信息匮乏的通知可能导致警报疲劳(另一方面,警报可以提供丰富的上下文和可视化,描述问题、确定根本原因并帮助用户了解问题的潜在严重程度。UI 还可以提供分类和解决问题的手段。所有这些便利措施在很大程度上有助于减少警报疲劳。)

最终,我们看到数据领导者将提高数据质量的价值视为其整个数据预算(技术和人员)回报率的倍增器。例如,考虑一个每年在数据技术上花费 3000 万美元,在数据专业人员(全额薪酬)上每年花费 7000 万美元的组织。该组织希望通过这 1 亿美元的年度投资来产生显著回报。简单起见,假设预期回报率为 20%。那么他们每年预期产生的价值为 1.2 亿美元,通过改进人类决策、改善操作和由 ML 和 AI 驱动的更好的客户体验,以及可能直接获利的新数据产品。 如果数据质量能够得到显著改善,那么可以合理地预期该价值将增加至多 10%。这可能是因为更少的时间浪费在解决数据质量问题上,因此人力投资更具生产力。或者这可能是因为决策和 ML 模型的质量更高,这直接转化为更高的投资回报率。

净效应将意味着组织将产生 1.32 亿美元的价值,由于更高的数据质量每年增加 1200 万美元的价值。 实际上,进行严格的 ROI 分析在某些情况下可能是必要的(特别是说服财务或采购职能需要投资于数据质量),但我们与之合作的许多大型企业甚至都不会费心。提高数据质量的理由可能如此明显和有说服力,以至于问题不在于 ROI,而在于速度。

相关推荐
正义的彬彬侠3 分钟前
《XGBoost算法的原理推导》12-14决策树复杂度的正则化项 公式解析
人工智能·决策树·机器学习·集成学习·boosting·xgboost
测试界的酸菜鱼15 分钟前
Python 大数据展示屏实例
大数据·开发语言·python
时差95317 分钟前
【面试题】Hive 查询:如何查找用户连续三天登录的记录
大数据·数据库·hive·sql·面试·database
Mephisto.java19 分钟前
【大数据学习 | kafka高级部分】kafka中的选举机制
大数据·学习·kafka
羊小猪~~19 分钟前
神经网络基础--什么是正向传播??什么是方向传播??
人工智能·pytorch·python·深度学习·神经网络·算法·机器学习
Mephisto.java25 分钟前
【大数据学习 | kafka高级部分】kafka的优化参数整理
大数据·sql·oracle·kafka·json·database
道可云26 分钟前
道可云人工智能&元宇宙每日资讯|2024国际虚拟现实创新大会将在青岛举办
大数据·人工智能·3d·机器人·ar·vr
成都古河云38 分钟前
智慧场馆:安全、节能与智能化管理的未来
大数据·运维·人工智能·安全·智慧城市
软工菜鸡1 小时前
预训练语言模型BERT——PaddleNLP中的预训练模型
大数据·人工智能·深度学习·算法·语言模型·自然语言处理·bert
正义的彬彬侠1 小时前
【scikit-learn 1.2版本后】sklearn.datasets中load_boston报错 使用 fetch_openml 函数来加载波士顿房价
python·机器学习·sklearn