如何提高数据质量:数据质量检查

2024-12-21

一、简述


数据集的准确性和可靠性将直接影响业务决策、业务效率、法规遵循和数据团队的工作量和质量。高质量的数据可以保证分析和报告的稳定性,使决策者能够自信地付诸行动,同时留出时间让数据人员投入时间创造财富,而不是满足临时要求。另外一方面,低质量的数据可能会导致错误的观点,错过机会,失去利益相关者的信任。所以,投资系统性数据质量检验不仅是一种技术性的实践,也是一种通过增加信任和数据能力来改变业务运作的方式。



数据可能会在生命周期的许多阶段受到损害。即使是细微的不一致也会导致严重的后续后果。例如,重复的用户记录可能会夸大报告的收入,而过时的产品信息可能会导致缺货或订单错误。尽早发现和补救这些问题不仅可以保持数据的完整性,还可以避免昂贵的后果。


一般来说,数据质量检查包括多个维度,每一个层次都是针对数据健康状况的独特方面。


结构性和完整性约束侧重于数据的技术准确性——确保正确的方法,唯一的键和外键与主键对齐。


对相关表与域之间的一致性进行跨系统检查。


领域模型验证确保信息符合现实世界的规则和条件。


在数据中,监测和异常检测可以捕捉异常的方法或变化。


时效性和近期性检查确保信息始终是最新的。


这一层次共同构成了一个整体结构,使组织能够不断地对其数据质量进行评估和优化,最终做出更加明智的决定。


第二,结构和完整性的约束


结构和完整性约束形成了数据质量的基础层。这些检查可以确保你的数据符合预期的结构,并遵守管理实体之间关系的基本规则。通过系统地应用这些约束,你可以避免基本错误潜入数据,从而为未来更复杂的验证奠定基础。


1.唯一性:唯一的约束可以保证某些列(或列组合)不包括重复值。主键是一个典型的例子:每个记录必须有不同的标志符。如果没有这个规则,下游过程可能很难准确地连接以数据、统计结果或准确定位记录为代表的准确实体。


2.非空:非空间约束可以保证关键字段永远不会空出。例如,缺少客户 ID 没有日期交易的订单记录会失去背景信息,变得难以解释。通过实施这些约束,您可以确保分析、报告和业务流支柱的重要信息的完整性。


引用完整性:3。外键约束有利于维护关系逻辑,保证相关表中存在引用值。如果订单引用了客户 ID,这个客户必须存在于客户表中。这样可以避免独立记录和断开的链接,从而导致混乱、聚集错误或关系不一致。


使用主键处理重复项的唯一性:主键的唯一性超越了基本的唯一性约束,明确避免了重复行。确保每个记录都能被清晰识别,可以减少报告中重复计算、统计数据偏差和系统操作歧义的风险。 — — 这种情况在交易、事件日志或客户信息中尤为重要。


5.枚举值:有时候,一些特征需要从一组预定义的有效值中获得。例如,状态字段可能只允许“活动”、“非活动”或“待定”。通过将价值限制为已知类别,可以保证一致性,简化下游逻辑和过滤。枚举还可以防止自由格式文本输入带来的拼写错误、意外输入和复杂性。


6.数据类型约束:数据类型约束可以保证列包含指定类型的数值 — 整数仍然是整数,日期仍然是日期。这种一致性使得分析工具、查询和转换可以通过可预测的方式运行。如果没有类型强制,比较字符串的算术操作或文本字段的日期可能会导致毫无意义或完全失败。


7.父子完整性:在分层数据模型中,父子的完整性可以保证没有相应的父项就无法存在。例如,如果没有发票,发票公司的项目就不应该存在。维持这种关系可以保持逻辑一致性,防止上下文缺乏“波动”实体,从而实现更可靠的总结、连接和报告。


8.格式验证:格式约束可以确定符合预期的值。日期应遵循定义格式(例如 YYYY-MM-DD),联系电话可能需要中国/地区的代码前缀,电子邮件地址必须符合有效方法。正确的格式不仅可以提高可读性,还可以防止下游转换中的分析或错误,从而使数据在自动化过程中更加可靠。


方法检查:9.方法检查:随着上游系统的发展,方法检查可以确定数据库结构保持完整,并与定义的数据模型保持一致。这涉及到验证预期的表、列和关系是否存在,没有意外的变化和遗漏。保持模式与业务和技术规范的同步对于保持长期数据的完整性尤为重要。


三是跨系统与环境一致性


即使数据在单个表或模式下结构合理、逻辑一致,通常也需要在不同的系统、表和域之间进行无缝的交互。跨系统和环境一致性检查可以保证数据在各种来源和转换过程中一致。这些验证有利于维护数据生态系统的统一性和可靠性,从而实现跨平台的准确分析和决策。


跨表一致性:1。


当多个表代表相关实体(如订单及其详细项目或客户及其订阅)时,匹配和正确聚集值就显得尤为重要。例如,订单表中的 total_order_value 应与关联 order_items 表格中的价格总和准确对齐。通过验证相关数据的一致性,可以避免错误结论或完整性问题的不一致。


2.时区检查:


数据通常在全球化环境中跨越多个时区。UTC 交易时间可能与需要当地时间的报告系统一致。时区检查可以保证日期和时间段的正确转换和一致表达,从而避免时间敏感分析中的混淆和错误。如果没有这些验证,报告可能会重复计算事件,错过截止日期,或者因为时间转换不正确而忽略关键的逐小时趋势。


三 领域模型及前后文验证


虽然结构和完整性约束可以保证数据符合技术标准,但领域模型和前后验证可以保证数据符合现实世界的规则、政策和期望。这些检查不仅限于简单的结构准确性,还侧重于确保信息在其领域“有意义”。通过强制执行领域模型,您可以帮助维护一个不仅格式正确,而且对利益相关者、决策者和终端用户都有意义的数据集。


逻辑字段一致性:


一些字段相互依存,这反映了现实。比如,start_date 应始终位于 end_date 之前。假如设置了产品 retired_date,那么这个值应该晚于 launch_date。这样的检查可以保证数据不仅遵循顺序,而且与业务运作模式一致。违反这些规则可能会误导决策者,或者导致下游分析混乱,从而使观点难以信任。


2.条件数据要求:


很多工作过程中,一个字段的存在或值可以决定另一个字段的要求。例如,如果记录的状态字段是“活动”, end_date 由于实体仍在进行中,字段应该是空的。类似地,如果客户的国家/地区设置为“美国”,那么这个州的字段就不应该是空的。检查条件可以保证记录反映业务规则规定的正确逻辑条件。 — 避免不完整或冲突的数据可能妨碍操作或分析。


阀值验证:3.阀值验证:


许多业务指标必须保持在一定的允许范围内。销售额不得为负,折扣百分比不得超过 100%,利率可能有明确的上限。通过强制执行阀值验证,可以保证值在实际或合同限制范围内。当数据超过这些界限时,一般表示数据输入错误、系统异常或需要立即关注的业务情况。


数据漂移和异常检测四、


即使实施了结构完整性和领域模型,数据也可能随着时间的推移而漂移、进化或形成事故。数据质量监测和异常检测更注重持续警惕。 — 持续分析指标,识别可能预示潜在问题的突然变化、趋势或异常值。


异常检测:1.异常检测:


异常是指与历史规范或统计预期有明显偏差的数据点或方法。检测异常可以防止轻微但重要的问题被忽视。例如,每天交易量的突然下降或用户注册量的突然增加可能表明存在系统异常、数据管道错误甚至欺诈等问题。采用统计方法(例如计算标准差),z 或者使用机器学习模型),团队可以尽快发现异常变化,调查其根本原因,并在这些异常歪曲的洞察力或决策前采取纠正措施。


持续监测:2.持续监测:


有效的方法不是偶尔检查,而是安排定期检查,将其整合到一起。 CI/CD 并在管道中设置报警机制。持续监控可以保证数据质量不仅仅是一次性工作,而是一个持续的过程,使组织能够保持稳定可靠的数据环境。


时效性和时效性


在动态的商业环境中,即使是稍微过时的数据也会导致错误的决策。及时性和近期性检查可以保证数据集体反映业务运营、交易和事件的最新状态 - 对实时分析、即时库存管理或最新财务报表等场景尤为重要。


时效性检查:


时效性检查可以验证数据是否在预期的时间间隔内刷新。例如,如果你的管道估计销售数据每小时更新一次,最近的时间戳不应该在这个时间之前。如果在这个时间之前,可能意味着数据管道受阻,系统关闭,或者上游延迟。通过确定符合最新标准的数据,团队可以确保最新可靠的信息驱动其仪表板、机器学习模型和业务决策。


总结


本文探讨了数据质量检验的各个方面。首先,我们检查一下。限制结构和完整性,为了保证数据的基本准确性和一致性。接着,我们变成了跨系统与环境一致,重点关注数据在不同表格和源之间的相互作用和一致性。领域模型及前后文验证展示了如何保证数据有意义地代表现实世界的规则,数据质量监测和异常检测介绍了持续警惕、发现异常和防止数据漂移的技术。最后,我们强调时效性和近期性。确保数据保持新鲜且可操作的重要性。


制定全面的数据质量战略


真正强大的数据质量策略需要将这些检验与统一的框架相结合。这意味着:


建立有力的基本规则,从一开始就避免不良数据登录系统。


持续监控数据的一致性和准确性,以便数据在不同源之间移动和转换。


为了保证信息支持运行决策和战略洞察,将数据检查与领域模型相结合。


为了维持长期可靠的数据管道,选择异常检测方法和时效性检查。


本文来自微信微信官方账号“数据驱动智能”(ID:Data作者:晓晓,36氪经授权发布,_0101)。


本文仅代表作者观点,版权归原创者所有,如需转载请在文中注明来源及作者名字。

免责声明:本文系转载编辑文章,仅作分享之用。如分享内容、图片侵犯到您的版权或非授权发布,请及时与我们联系进行审核处理或删除,您可以发送材料至邮箱:service@tojoy.com