3. 数据质量核心概念

在金融数据治理中,“数据质量”不是一句口号,而是一组可以被定义、被度量、被验收的约束集合。很多团队在验收时只检查“有没有数据”,结果上线后才发现金额算错、客户重复、账实不符。要避免这类问题,必须先把质量维度拆开,理解每个维度在金融场景中的具体含义、检查对象和典型失败模式。

核心思路:质量维度不是并列的口号,而是从不同角度对同一条数据记录施加约束。准确性看“值对不对”,完整性看“缺不缺”,一致性看“前后是否矛盾”,及时性看“到得晚不晚”,唯一性看“是否重复”,有效性看“格式与业务规则是否合法”。

一、六个核心维度的专业定义与金融场景

下面这张表把六个维度放在一起对比,便于在规则设计和验收时快速定位检查方向。

维度 核心问题 金融场景示例 典型检查方式
准确性 值是否真实、精确 客户风险等级与实际情况一致;利息计算结果正确 与权威源比对、重算校验、阈值偏离检测
完整性 必填字段是否缺失 客户身份证号、交易金额、产品代码不能为空 空值率统计、必填字段清单校验
一致性 跨表、跨系统是否矛盾 总账余额与明细汇总相等;客户姓名在CRM与核心系统一致 跨表比对、勾稽关系校验、主外键检查
及时性 数据是否按时到达 日终清算数据须在T+1上午8点前就绪 到达时间戳监控、延迟告警、批次完成率
唯一性 是否存在重复记录 同一客户被多次建档;同一笔交易重复入账 主键去重、业务键组合去重、重复率统计
有效性 是否符合格式与业务规则 日期格式合法、币种在枚举范围内、金额大于零 正则校验、枚举值检查、值域范围校验

二、维度之间的关系:不是孤立检查,而是组合约束

六个维度经常被误认为可以单独验收,实际上它们之间存在依赖和交叉。例如,一条记录“完整性”通过,但“有效性”可能失败:字段有值,但值不在允许的枚举范围内。再如,“唯一性”失败往往会导致“一致性”失败:重复客户记录会让汇总口径出现偏差,进而导致总账与明细不符。

因此,在规则体系设计中,建议按“先结构、后内容、再关系、最后时效”的顺序组织检查:先看字段是否存在(完整性),再看格式是否合法(有效性),然后看值是否准确(准确性),接着看跨表是否一致(一致性),同时检查是否重复(唯一性),最后看是否按时到达(及时性)。这个顺序能减少无效检查,提高规则执行效率。

金融数据质量六维度约束关系 从结构到内容,从单表到跨表,从静态到时效 数据质量 六维约束 规则体系核心 完整性 必填字段不缺失 有效性 格式与枚举合法 准确性 值与真实一致 一致性 跨表勾稽不矛盾 唯一性 业务键不重复 及时性 按时到达就绪 先查缺失 再查格式 值域比对 勾稽校验 去重检查 时效监控

三、方法流程:从维度到可执行规则

把维度落到验收,需要经过“维度→指标→规则→阈值→动作”的转化。以下是一个可复用的流程清单:

  1. 确定检查对象:明确是对单字段、单表、跨表还是跨系统检查。例如“客户身份证号”是单字段,“总账与明细”是跨表。
  2. 选择质量维度:同一对象可能同时受多个维度约束。客户身份证号既要有值(完整性),又要符合18位格式(有效性),还要不重复(唯一性)。
  3. 定义度量指标:如空值率、重复率、延迟分钟数、勾稽差异金额、枚举越界率。
  4. 设置阈值与分级:例如空值率≤0.1%为通过,0.1%~1%为警告,>1%为阻断。
  5. 绑定处置动作:通过则放行,警告则通知数据 steward,阻断则暂停下游任务并生成工单。
建议把每个维度的规则写成可配置的元数据,而不是硬编码在脚本里。这样当业务规则变化时,只需调整配置,不必重新发布整个数据管道。

四、案例与场景:一次日终清算的验收复盘

某银行日终清算批次在T+1上午6点完成,但下游报表在8点仍无法生成。排查发现:交易明细表中有3条记录的交易金额为空(完整性失败),导致汇总金额为NULL;同时客户表中有2个客户编号重复(唯一性失败),导致客户维度汇总出现双倍计数;此外,总账余额与明细汇总相差120万元(一致性失败)。

复盘后,团队在验收规则中增加了以下检查:

-- 完整性检查:交易金额不能为空
SELECT COUNT(*) AS null_amt_cnt
FROM txn_detail
WHERE txn_amt IS NULL;

-- 唯一性检查:客户编号不能重复
SELECT cust_id, COUNT(*) AS cnt
FROM customer
GROUP BY cust_id
HAVING COUNT(*) > 1;

-- 一致性检查:总账与明细汇总勾稽
SELECT ABS(g.total_amt - d.sum_amt) AS diff
FROM gl_balance g
JOIN (SELECT SUM(txn_amt) AS sum_amt FROM txn_detail) d
ON 1=1;

这三条规则分别对应完整性、唯一性和一致性,执行后能在批次结束前拦截问题,避免下游报表返工。

五、常见误区与纠正

  • 误区一:把完整性等同于准确性。字段有值不代表值正确。完整性只回答“有没有”,准确性才回答“对不对”。
  • 误区二:只做单表检查,忽略跨表一致性。金融数据大量依赖勾稽关系,单表通过不代表全局通过。
  • 误区三:唯一性只查主键。主键天然唯一,真正要查的是业务键组合,如“客户号+产品号+日期”。
  • 误区四:及时性只看批次完成时间。还要看关键表的最早到达时间和最晚到达时间,避免“批次完成但核心表迟到”。
  • 误区五:有效性规则写得太死。业务枚举会变化,规则应支持版本管理和灰度生效。
验收时不要只盯着通过率。一个维度通过率100%,可能只是因为规则太宽松。要同时检查规则的覆盖率和误报率,确保规则真正能拦住问题,而不是形同虚设。