做数据质量项目久了,我越来越觉得,企业真正缺的通常不是“发现问题”的能力,而是“把问题解决掉”的能力。 现在很多企业其实已经能发现不少异常。字段空值能查,重复数据能查,指标波动能监控,关键任务延迟也能报警。
但问题真正出现以后,现场往往还是很乱: 业务说报表不对,IT开始排查,数据团队继续往上游找。最后发现问题可能来自源系统,也可能来自同步过程,还有可能只是业务口径本身没有统一。
所以我现在判断一套数据质量体系做得好不好,我更关心的是:一条异常从出现开始,能不能被发现、定位、找到责任人、完成整改,最后用数据证明它真的已经解决。
如果这条链路跑不起来,质量规则越多,最后往往只是报警越多。这也是为什么数据管理不能只停留在“发现问题”这一层。

数据质量真正要做的,不是让平台看起来更完整,而是让一个问题从出现到关闭都有人管、有依据、有结果。
一、先别急着配规则,先决定哪些数据出错最贵
很多质量项目一开始就问:“我们有多少张表需要做质量检测?”这个问题看起来很专业,实际上很容易把项目带偏。
因为一旦按照表来做,后面很快会变成:每张表配几个非空规则。主键做重复检查。日期和金额再做格式校验。最后规则数量上去了,但业务可能根本感受不到变化。
真正应该先问的是:哪一类数据一旦出错,会直接影响经营判断、业务动作或者外部报送。 所以规则建设最好从业务损失反推。

实际可以先做一张“关键数据质量清单”,至少把几件事说清楚: 业务场景是什么;关键指标或数据对象是什么;错误以后会造成什么影响;允许的偏差范围是多少;异常出现以后谁需要第一时间知道。这样一来,质量规则就不再按照“字段多不多”设计,而是按照“业务影响大不大”设计。
比如库存可用量,不应该只检查“不能为空”,还应该继续考虑库存是否出现负数、更新时间是否超过阈值,以及ERP和WMS之间的数量是否存在明显差异。真正有价值的质量规则,一定是围绕业务风险设计,而不是围绕字段类型设计。

二、异常出来以后,先别派单,先判断“从哪一层开始错”
这是很多企业质量处理最浪费时间的一步。最常见的做法是:发现异常以后,先找IT。但IT查了一圈以后,经常会发现问题根本不是数据平台造成的。
比如最终报表里“客户名称为空”,可能有几种完全不同的根因: 源系统录入时就没有填写;同步过程中字段没有带过来;清洗逻辑把字段处理错了;客户主数据映射没有匹配成功。
最终表现都是“为空”,但整改方式完全不同。所以发现问题以后,第一件事不是派单,而是把数据链路“切层”。比较实用的方法,是沿着实际数据流往回看:源系统 → 数据同步 → 明细加工 → 指标计算 → 数据消费
排查时每一层只回答一个问题:“错误是不是从这里开始出现的?” 比如最终销售额少了300万,可以这样查:先对比源系统订单数量和金额;再看同步到ODS以后是否缺记录;如果前两层正常,再查中间清洗、关联和过滤;最后再看指标公式和报表筛选条件。这样排查的效率比一上来查所有日志高得多。

还有一个特别实用的原则:质量平台一定要能够看到异常明细。 如果系统只告诉你“完整性得分92%”,其实很难处理。真正有价值的是知道:哪327条记录出了问题,来自什么时间,属于哪个业务批次,在哪张表里第一次出现。
在这一步,可以把规则检测结果和具体异常明细结合起来,再顺着库表和任务血缘继续向上追,判断问题究竟来自源端、同步过程还是加工逻辑,这样定位就不再只是靠经验猜测。先把问题定位到具体层级,后面的派单才不会变成IT内部来回转发。

三、派单不是“找个人”,而是先把责任类型分清楚
数据质量做到这里,通常就开始从技术问题变成管理问题。因为企业很快会发现:很多数据问题,IT其实没有权力直接修。
客户信息缺失,可能需要销售补录。供应商分类错误,可能需要采购确认。指标口径有争议,可能需要财务和业务一起定规则。所以质量问题不能简单统一派给数据团队。更实用的方法,是提前把责任分成几类。
比如: 数据产生责任: 谁负责在源系统录入或者生成数据; 数据加工责任: 谁负责同步、清洗、模型和指标逻辑; 数据业务责任: 谁有权判断这条数据业务上到底应该是什么。
这三类责任经常不是同一个人。举个很典型的情况。供应商分类错误,数据团队可以发现哪几条记录不符合规则,也能查到它们来自哪个系统,但供应商最终应该归到哪一类,还是采购部门说了算。所以质量闭环真正需要的是一张“责任矩阵”。

至少把核心主题域对应到: 数据Owner;技术负责人;业务责任部门;常见问题类型;升级路径。这样问题一出来,不是临时找人,而是按照问题类型直接找到真正有处理权限的人。
问题清单更适合承接这种管理动作,因为检测出来的异常可以继续记录责任人、处理状态、整改说明和后续结果,让问题从一条系统告警变成可以持续跟踪的事项。派单真正解决的不是“把问题送出去”,而是让问题送到真正有能力改变数据的人手里。

四、整改之前,一定先判断“该在哪一层改”
数据团队最容易形成的习惯,就是看到问题以后先想:“怎么在ETL里把它修掉?”字段空了,补默认值。编码不统一,做一层映射。金额异常,加一段过滤逻辑。
短期看确实很快。但如果所有问题都这么处理,几年以后数仓就会变成一个巨大的“补丁中心”。所以质量整改之前,必须先问一句:这个问题应该在源头修,还是允许在下游临时补偿? 如果问题来自业务操作或者源系统规则,而且源系统能够改,就应该优先回源。
比如:必填字段长期为空,就应该检查前端必填是否真的生效;供应商重复创建,就应该检查新增流程是否缺少唯一性校验;订单状态异常,就应该检查业务流程是否缺少状态约束。
只有源系统短期改不了,或者涉及外部平台,才考虑在数据加工层做补偿。而且这种补偿最好明确标记为“临时”。

实际整改记录里,至少要留下: 问题根因;修复位置;修复规则;当前是永久整改还是临时补偿;是否还需要源系统继续改造。
因此,更合理的做法是把这些能力用于必要的数据修复,同时保留问题记录和整改状态,避免所有源端问题最后都被永久吸收到ETL逻辑里。质量治理最怕的不是脏数据,而是企业逐渐习惯用下游清洗掩盖源头问题。

五、修完历史数据,不代表问题真的解决了
这一点特别容易被忽略。比如规则发现:客户证件号为空327条。 业务把这327条全部补齐。重新跑一遍规则。异常为0。很多项目到这里就会关单。
但实际上,只能说明:历史问题修掉了。 并不能说明以后不会继续产生。真正的复核,要同时看两个层面: 存量异常是否已经处理; 新增数据是否还会继续触发同一条规则。 如果第二天又新增20条空值,说明企业修的是结果,不是机制。

这时候就应该继续往上追: 是不是前端仍然允许空值; 是不是某个批量导入接口没有校验; 是不是特殊业务场景没有纳入原有规则; 是不是规则本身和实际业务不匹配。
所以质量问题关单,不建议只看“一次复测通过”。更稳妥的方法是做连续验证。 比如核心规则整改以后,可以连续观察3天、7天,或者覆盖一个完整业务周期,确认没有新增异常以后再关闭。
把检测任务嵌入定时任务里,整改以后可以继续按照相同频率自动执行原规则,让复核不再依赖一次人工抽查,而是通过后续连续数据判断问题是否真正消失。 质量问题真正关闭的标准,不是“有人说改好了”,而是“后续数据持续证明它已经好了”。

六、质量做了一段时间以后,真正该看的不是异常量,而是处理效率
很多质量大屏特别喜欢放:规则总数。异常数量。质量得分。这些当然可以看,但真正想判断治理有没有改善,我更建议看问题处理效率。 比如几个指标就很实用。

问题重复发生率
同一种问题关闭以后,又出现了多少次。如果重复率长期很高,说明企业只是在修结果。
平均定位时长
从规则报警,到确认问题发生在哪一层用了多久。这个指标能直接反映血缘、日志和排查机制是否成熟。
平均整改周期
问题定位以后,到真正修复用了多久。如果定位很快,但整改长期拖延,通常说明责任机制有问题。
源头整改占比
多少问题最终回到源系统和业务流程解决,而不是长期在下游做清洗补偿。这个指标非常值得盯,因为它能看出治理有没有真正往上游走。
核心数据质量达标率
不要把所有表平均成一个质量分。更应该单独看收入、利润、库存、回款、生产达成率这类真正重要的数据是否稳定达标。质量治理真正进步的标志,不是报警变得更多,而是问题越来越快解决、越来越少复发。

七、同一种问题每个月都出现,就别再只按普通工单处理
这个经验很重要。如果某一条规则已经存在,但同一种异常还是每个月重复出现,那么继续加规则基本没有意义。真正应该做的是:把它升级成“机制问题”处理。
比如客户手机号缺失,每个月都在报警。这时候就不要再只补数据。应该继续判断:业务流程是不是本来就允许不填;前端系统是不是没有强制校验;批量导入是不是绕过了正常规则;这个字段是否真的应该设置为必填。

如果问题连续出现三次以上,我会建议把它从普通质量工单升级成机制整改项。 这时候处理动作也要变化。
不再是“补掉这批异常”,而是要重新检查: 业务流程;系统约束;标准规则;岗位责任。质量管理做到后面,最重要的不是处理更多问题,而是把高频问题从根上消掉。

八、做到后面会发现,质量问题其实是企业管理问题的投影
数据质量项目刚开始,很多企业会觉得这是数据部门的事情。但做到后面,真正顽固的问题往往都不是单纯技术问题。
比如客户重复,背后可能是销售人员为了抢客户各自建档。供应商分类长期不一致,可能是采购本身没有统一分类规则。生产数据经常缺失,可能是现场操作和设备采集机制没有真正管起来。指标长期争议,则可能是企业经营管理本身就没有统一口径。
所以质量规则更像一面镜子。它能够让企业看到:哪里正在持续产生不可信的数据。 但真正要解决问题,通常还得回到:业务流程;系统约束;岗位责任;管理标准。这也是“以用促治”最有价值的地方。

不需要一开始就搭一套宏大的治理体系。先从业务真正依赖的数据切入。 哪个指标经常核数,就优先治理哪个。哪个报表总出问题,就顺着它一路往上追。
数据质量模块在这里更适合当作一个持续反馈机制,把经营分析、财务管报和生产管理中已经影响使用的数据问题沉淀成检测规则,再结合异常明细和血缘不断往源头追,最后推动业务流程或者系统规则真正变化。数据质量做到最后,不再只是“IT把数据修干净”,而是企业开始重新管理数据是怎么被生产出来的。

九、质量工单能不能关,必须有一套统一标准
很多企业发现、定位、派单、整改、复核都有了,但还是觉得闭环效果一般。一个很常见的原因是:“什么叫问题关闭”没有统一定义。
业务说改了。IT说重跑了。规则暂时通过。到底能不能关?核心问题最好提前设关闭条件。比如: 存量异常已经处理; 新增数据连续检测通过; 问题根因已经确认并记录; 临时补偿有明确的后续源头整改计划; 受影响的指标和下游应用恢复正常。
满足这些条件以后再关闭,质量工单才不是走流程。另外,历史记录不要删。因为半年以后同类问题再次出现时,企业需要知道这是新问题,还是旧问题复发。这两种情况的处理方式完全不同。真正完整的闭环,应该做到问题有来源、整改有记录、关闭有证据、复发能识别。
写在最后
数据质量闭环真正做起来,其实没有那么像教科书里的“五步法”。企业现场更真实的过程通常是:某个指标突然不对。先判断这个问题到底值不值得管。再沿着数据链路往回找,确认到底从哪一层开始异常。找到真正有处理权限的人。决定回源整改,还是先做临时补偿。修完以后继续观察一段时间,看同样的问题还会不会出现。做到这里,才叫真正闭环。
所以数据质量最值得建立的,不是一套“发现更多问题”的能力,而是一套:让问题越来越少重复发生的能力。 真正成熟以后,企业应该逐渐看到:关键数据越来越稳定;异常越来越早暴露;定位和整改越来越快;源头问题越来越多被真正解决;业务越来越少把时间浪费在核数和救火上。这才是数据质量闭环真正应该带来的变化。