1. 数据质量概述
1.1 什么是数据质量
数据质量(Data Quality)是指数据在特定使用环境下满足业务需求的程度。它衡量的是数据是否“可信、可用、可理解”。在数据驱动的决策时代,低质量数据会导致错误的分析结论、无效的业务策略,甚至直接的经济损失。
核心观点: 数据质量不是绝对的“好”或“坏”,而是相对于数据的使用场景和业务目标而言的。同一份数据,在A场景下可能质量合格,在B场景下则可能完全不可用。
1.2 数据质量六大维度
业界普遍将数据质量拆解为六个核心维度,它们是进行数据质量探查与评估的基准框架。
| 维度 | 定义 | 常见问题示例 | SQL探查方向 |
|---|---|---|---|
| 完整性 | 数据是否存在缺失或空值 | 用户手机号为空、订单金额字段为NULL | COUNT、IS NULL、NOT NULL |
| 准确性 | 数据是否真实反映客观事实 | 用户年龄为200岁、订单金额为负数 | 范围校验、逻辑校验、参照校验 |
| 一致性 | 不同系统或字段间的数据是否逻辑吻合 | CRM中客户性别与交易系统中性别不一致 | JOIN对比、跨表校验 |
| 及时性 | 数据从产生到可用的延迟是否满足业务要求 | 昨日交易数据今天下午仍未入库 | 时间戳对比、数据新鲜度检查 |
| 唯一性 | 数据是否存在重复记录 | 同一客户ID出现多次、重复的订单号 | COUNT(DISTINCT)、GROUP BY + HAVING |
| 有效性 | 数据是否符合定义的格式、类型或值域 | 邮箱格式错误、性别字段出现“未知” | 正则匹配、枚举值校验、数据类型检查 |
实践提示: 在SQL数据质量探查中,这六大维度是设计探查脚本的“检查清单”。每次探查前,先对照这六个维度思考:当前数据可能在哪个维度上出问题?
1.3 数据质量六大维度关系图
下图展示了六大维度之间的逻辑关系及其在数据生命周期中的位置:
1.4 数据质量探查的重要性
数据质量探查(Data Quality Profiling)是数据治理的第一步,也是数据仓库建设、数据迁移、数据分析等工作的前置条件。其重要性体现在以下方面:
- 降低决策风险: 确保分析结论基于可靠数据,避免“垃圾进,垃圾出”。
- 节省修复成本: 越早发现数据质量问题,修复成本越低。在数据源头发现问题,比在应用层发现后再回溯修复要高效得多。
- 提升开发效率: 数据工程师和数据分析师在高质量数据上工作,可以避免大量排查和沟通时间。
- 满足合规要求: 金融、医疗、政务等行业对数据质量有严格的监管要求,定期探查是合规的必要手段。
避坑提醒: 很多团队在数据项目初期忽视数据质量探查,直接进入建模或报表开发阶段。结果往往是在项目后期花费数倍时间返工,甚至导致项目失败。数据质量探查不是“可选项”,而是“必选项”。
1.5 数据质量探查的业务价值
数据质量探查不仅仅是技术活动,它直接关联业务价值。以下表格总结了不同业务场景下的价值体现:
| 业务场景 | 数据质量问题 | 探查带来的业务价值 |
|---|---|---|
| 客户画像分析 | 客户手机号缺失、地址格式混乱 | 提升营销触达率,减少无效投放成本 |
| 财务对账 | 交易金额与结算金额不一致 | 避免资金损失,确保账实相符 |
| 供应链管理 | 库存数据重复、SKU编码不唯一 | 精准库存管理,减少缺货或积压 |
| 医疗健康 | 患者病历信息不完整、诊断编码错误 | 保障诊疗安全,提升医疗服务质量 |
| 金融风控 | 用户身份信息有效性不足 | 降低欺诈风险,提升风控模型准确率 |
1.6 数据质量探查流程概览
一个标准的数据质量探查流程通常包含以下步骤,这也是本课程后续章节将逐一深入的内容:
- 明确探查目标: 确定要探查的数据表、字段以及关注的维度。
- 编写探查脚本: 使用SQL编写针对各维度的探查查询。
- 执行与记录: 运行脚本,记录探查结果(如空值率、重复率、异常值比例等)。
- 结果评估: 将探查结果与业务阈值对比,判断数据质量是否可接受。
- 问题追踪与修复: 对不达标的数据问题,推动源头系统或数据管道进行修复。
- 持续监控: 将探查脚本自动化、定期化,形成数据质量监控看板。