第3章:质控基础理论——数据质量六大维度、流程框架与指标体系
做数据质量控制,不能上来就写代码。你得先搞清楚一个问题:什么才算高质量数据?
说实话,我见过不少团队,一上来就写各种校验函数,结果发现覆盖了十几个维度,互相之间还有冲突。核心问题就是——基础理论没理清。
这一章,我带你把这五个基础模块过一遍。
3.1 数据质量六大维度
行业内一般认可六大维度,我列在下面。每个维度我都配了实际项目里的例子,方便理解。
| 维度 | 定义 | 我见过的典型翻车场景 |
|---|---|---|
| 完整性 | 数据记录、字段、值不存在缺失 | 某统计报表里空值率超过30%,导致汇总全部偏低 |
| 准确性 | 数据值与真实值一致的程度 | 金额字段存的是分,业务系统当成元,直接差100倍 |
| 一致性 | 不同系统、不同时段数据不冲突 | 用户表地址在CRM和ERP里格式完全不一样 |
| 时效性 | 数据更新、处理速度满足业务要求 | 实时风控的数据入库延迟了5分钟,错过拦截窗口 |
| 唯一性 | 不存在重复记录或重复主键 | 同一个订单号在数据仓库里出现3次,没法对账 |
| 有效性 | 数据符合业务规则和格式约束 | 日期字段出现「2024-13-01」,系统没报错 |
个人习惯:我在新项目接手一段数据时,第一件事就是跑一次六大维度的「体检表」。不跑完这个,我绝不下手写质控函数。
3.2 质控流程框架设计
流程框架是骨架。骨架歪了,后面的所有函数都是白搭。
我一般把一个完整的质控流程分成四个阶段:
- 预检阶段——跑通基础连通性、数据源可达、元数据结构可用。
- 规则校验阶段——执行前面定义好的校验规则集合。
- 结果评估阶段——统计通过率、异常率,给出综合评分。
- 反馈与修复阶段——生成报告、告警、或触发自动修复。
曾经有一个失败项目,就是因为跳过了预检阶段。数据源因为权限问题连接失败了,结果校验函数跑了两个小时,全部返回了空表。嗯,这个坑我替你踩过了。
下面这张图是我自己常用的质控流程图。你看看节点和流向。
注意:不要试图在一个函数里完成上面四个阶段。每个阶段单独封装成一个模块。这是我这几年带团队总结出来的硬规矩——合在一起,后续维护会非常痛苦。
3.3 质控指标体系建立
指标体系就是一把尺。你拿什么衡量数据质量?
我个人习惯按三个层次搭建:
- 基础指标:行数、字段空值率、重复率、最大值最小值、类型符合率。
- 复合指标:一致性偏差率、时效延迟量、跨界异常率。
- 综合指数:加权总分(例如:完整性权重0.3、准确性权重0.3、一致性0.2、时效性0.1、唯一性0.05、有效性0.05)。
举个例子,JSON里的指标配置可能是这样的:
{
"指标名称": "空值率",
"所属维度": "完整性",
"计算方式": "缺失数 / 总记录数 * 100",
"阈值": { "warn": 5, "error": 20 },
"生效范围": "字段级别"
}
你想想看,如果没有这个指标体系,你跑完校验只能拿到一堆「0」「1」的通过/不通过标记。到底哪个维度最烂?完全说不清楚。
3.4 质控标准与规范解读
标准与规范,说白了就是「你这个数据必须长成什么样」。
我把常用的规范分成三类:
| 规范类型 | 典型内容 | 谁来执行 |
|---|---|---|
| 业务规范 | 例如:订单金额必须大于0,时间戳不允许超过当前时间 | 业务分析师+质检代码 |
| 技术规范 | 例如:字段类型必须为整数,长度不超过20位,字符集用UTF-8 | 平台层统一实施 |
| 合规规范 | 例如:个人电话号后4位必须脱敏,保留字段不允许暴露 | 独立审计模块+质检代码 |
这里给个实际案例。我在一个银行项目里,把规范的校验直接写成Python函数,挂到数据入库的pipline里。
def check_business_spec(order_df):
"""业务规范:订单金额 > 0 且 <= 1000000"""
violations = order_df[(order_df['amount'] <= 0) | (order_df['amount'] > 1000000)]
return violations
曾经有一个团队,规范写了一大堆文档,但代码里一个都没落地。结果上线第一天,被合规部门打回了三次。从那以后我就养成一个习惯——每一条规范都要映射成一条可执行的代码规则。
避坑:不要把规范写在代码注释里就当完成了。规范要独立维护、单独归档、版本化管理。代码只是规范的执行者,不是规范本身。
3.5 本章小结
到这,质控基础理论的核心内容就过完了。
- 六大维度搞定数据质量的边界——完整性、准确性、一致性、时效性、唯一性、有效性。
- 流程框架搭好了四个阶段的骨架——预检→校验→评估→反馈。
- 指标体系给出了尺子和权重——三级指标+综合指数。
- 标准与规范落地到可执行规则——业务、技术、合规三类全覆盖。
记住我说的那句话:理论不扎实,写再多函数也白搭。 下一模块开始,我们就要正式搭建Python质控函数库了。但在这之前,建议你把这一章的框架图和表格自己手写一遍,加深理解。