在数据工程中,我们常说“Garbage In, Garbage Out”(垃圾进,垃圾出)。没有高质量的数据,任何分析模型和算法都将失去意义。那么,如何科学地定义和控制数据质量呢?
01.数据质量的四维标准
我们采用国际通用的四个维度来衡量数据质量:
1. 完整性 (Completeness)
定义: 数据是否存在缺失。
检查规则: 必填字段(如姓名、身份证号)不能为空;非必填字段的缺失率是否在允许范围内(例如邮箱缺失率<20%)。
2. 一致性 (Consistency)
定义: 数据在不同系统、不同表格中的逻辑是否统一,以及是否符合业务逻辑。
检查规则:
• 跨表关联:订单表中的用户ID必须存在于用户表中。
• 业务逻辑:开始时间不能晚于结束时间;年龄不能为负数。
3. 性 (Uniqueness)
定义: 数据是否存在重复记录。
检查规则: 主键;业务主键(如手机号+姓名)组合。去重是数据清洗中最基础也是最重要的一步。
4. 有效性 (Validity)
定义: 数据是否符合预定义的格式和范围。
检查规则:
• 格式校验:手机号必须是11位数字,邮箱必须包含@符号。
• 值域校验:性别只能是“男”、“女”或“未知”;年龄在0-120之间。
02.质量保障机制:自动化+人工
为了确保交付质量,我们建立了一套严密的质量控制流程。
1. 自动化校验(覆盖)
我们开发了专门的数据质量检测工具(Data Quality Check Tool),在数据清洗的每个环节(接入、处理、输出)都会自动运行校验规则。系统会自动拦截不符合规则的数据,并生成异常数据报告。
2. 人工抽检(关键环节)
对于机器难以判断的模糊情况,或者为了验证自动化规则的有效性,我们会引入人工抽检。
- AQL抽样标准: 依据国际通用的AQL(Acceptable Quality Limit)标准进行随机抽样。
- 独立质检团队: 质检人员独立于实施团队,确保结果客观公正。
- 错误反馈循环: 发现的错误会反馈给实施团队修正脚本,并更新规则库,避免同类错误再次发生。
03.交付物:数据质量报告
我们在交付清洗后的数据时,会同步提供一份《数据质量报告》,包含:
- 数据概览: 总行数、字段数、清洗前后对比。
- 质量评分: 基于四大维度的综合评分。
- 异常明细: 被剔除或标记为异常的数据清单及其原因。
- 改进建议: 针对源端数据采集的改进建议。