第3章:质控基础理论——数据质量六大维度、流程框架与指标体系

做数据质量控制,不能上来就写代码。你得先搞清楚一个问题:什么才算高质量数据?

说实话,我见过不少团队,一上来就写各种校验函数,结果发现覆盖了十几个维度,互相之间还有冲突。核心问题就是——基础理论没理清。

这一章,我带你把这五个基础模块过一遍。

3.1 数据质量六大维度

行业内一般认可六大维度,我列在下面。每个维度我都配了实际项目里的例子,方便理解。

维度 定义 我见过的典型翻车场景
完整性 数据记录、字段、值不存在缺失 某统计报表里空值率超过30%,导致汇总全部偏低
准确性 数据值与真实值一致的程度 金额字段存的是分,业务系统当成元,直接差100倍
一致性 不同系统、不同时段数据不冲突 用户表地址在CRM和ERP里格式完全不一样
时效性 数据更新、处理速度满足业务要求 实时风控的数据入库延迟了5分钟,错过拦截窗口
唯一性 不存在重复记录或重复主键 同一个订单号在数据仓库里出现3次,没法对账
有效性 数据符合业务规则和格式约束 日期字段出现「2024-13-01」,系统没报错

个人习惯:我在新项目接手一段数据时,第一件事就是跑一次六大维度的「体检表」。不跑完这个,我绝不下手写质控函数。

3.2 质控流程框架设计

流程框架是骨架。骨架歪了,后面的所有函数都是白搭。

我一般把一个完整的质控流程分成四个阶段:

  1. 预检阶段——跑通基础连通性、数据源可达、元数据结构可用。
  2. 规则校验阶段——执行前面定义好的校验规则集合。
  3. 结果评估阶段——统计通过率、异常率,给出综合评分。
  4. 反馈与修复阶段——生成报告、告警、或触发自动修复。

曾经有一个失败项目,就是因为跳过了预检阶段。数据源因为权限问题连接失败了,结果校验函数跑了两个小时,全部返回了空表。嗯,这个坑我替你踩过了。

下面这张图是我自己常用的质控流程图。你看看节点和流向。

数据质控流程框架 预检阶段 规则校验阶段 结果评估阶段 反馈与修复阶段 不通过则返回预检 预检不通过则终止 说明:虚线代表异常返回路径 实际编码时,反馈阶段会调用告警模块、日志模块或者自动重跑任务。

注意:不要试图在一个函数里完成上面四个阶段。每个阶段单独封装成一个模块。这是我这几年带团队总结出来的硬规矩——合在一起,后续维护会非常痛苦。

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质控函数库了。但在这之前,建议你把这一章的框架图和表格自己手写一遍,加深理解。