3、数据质量维度(下):唯一性、有效性、稳定性、可信性

上一章我们聊了完整性、准确性、一致性和及时性。这四个维度,说实话,是数据质量最基础的「体检项」。但光有这些还不够。

你想想看,数据不重复、符合规则、长期稳定、来源可靠——这些才是让数据真正「能用」的关键。今天我把剩下的四个维度掰开揉碎了讲。

3.1 唯一性:别让数据「撞脸」

唯一性,说白了就是一条数据在集合里只能出现一次。没有重复,没有歧义。

我在项目中遇到过最典型的场景:客户表里同一个手机号出现了三条记录,姓名、地址都略有不同。业务部门问我「哪个才是对的?」——我答不上来。这就是唯一性出了问题。

唯一性诊断要点:
  • 主键或业务唯一键是否存在重复值
  • 同一实体是否被多条记录描述(如「张三」vs「张 三」)
  • 跨系统合并时是否产生了重复数据

诊断方法其实不复杂。我习惯用 GROUP BY + HAVING COUNT(*) > 1 来扫全表。但要注意,有些重复是「业务允许的」——比如订单表里同一个用户下了两单,这不叫重复,这叫正常业务。

-- 检查客户表手机号是否唯一
SELECT phone, COUNT(*) as cnt
FROM customer
GROUP BY phone
HAVING COUNT(*) > 1;
我的经验:唯一性检查一定要先确认「业务唯一键」是什么。有些表用自增ID做主键,但业务上真正唯一的是「身份证号+渠道来源」的组合。别只看主键。

3.2 有效性:数据得「守规矩」

有效性,就是数据是否符合预定义的格式、范围、类型和业务规则。

举个例子:年龄字段出现 -5,邮箱字段没有 @ 符号,日期字段写成 2025-13-01——这些都是有效性违规。

我曾经接手过一个财务系统,金额字段居然存了「一百二十元」这种中文描述。嗯,这数据别说分析了,连聚合都跑不了。

有效性规则类型 示例 违规表现
格式规则 手机号 11 位数字 含字母、长度不足
范围规则 年龄 0-150 出现 200 或 -1
枚举规则 性别 M/F 出现 Unknown
依赖规则 已婚必须有配偶姓名 已婚但配偶为空

诊断有效性,我建议用正则表达式 + 边界值检查。别只测正常值,要测「边界值」和「异常值」——这才是有效性的试金石。

-- 检查邮箱字段有效性
SELECT email
FROM user
WHERE email NOT LIKE '%@%.%';
注意:有效性规则不是越严越好。我曾经见过一个系统,把地址字段长度限制为 50 个字符,结果一半的地址被截断了。规则要和业务对齐,别拍脑袋定。

3.3 稳定性:数据别「忽高忽低」

稳定性,衡量的是数据在时间维度上的波动是否在合理范围内。

你想想看,昨天日活 100 万,今天突然变成 10 万——这数据你敢信?大概率是采集链路断了,或者计算口径变了。

我习惯用「环比 + 同比 + 标准差」来量化稳定性。具体来说:

  • 环比波动率:今天 vs 昨天,变化超过 30% 就要报警
  • 同比波动率:本周 vs 上周同期,排除周期性因素
  • 标准差/均值:CV 值超过 0.5 说明数据极不稳定

稳定性诊断最怕什么?最怕「假稳定」。数据一直不变,每天都是同一个值——这反而有问题,说明采集可能挂了,系统在返回缓存数据。

稳定性诊断清单:
  1. 采集数据量是否在历史均值 ±3σ 范围内
  2. 关键指标是否存在突增/突降
  3. 数据更新时间是否规律
  4. 是否存在连续多日数据完全一致的情况

我曾经排查过一个案例:某报表连续 7 天数据一模一样。开发说「没问题啊,业务就是稳定的」。结果一查,是 ETL 任务挂了,一直在读上周的快照。嗯,稳定性检查不能只看「变没变」,还要看「该变的时候变了没有」。

3.4 可信性:数据「靠不靠谱」

可信性,是数据质量里最「软」的一个维度。它衡量的是数据来源是否可靠、数据血缘是否清晰、数据是否被篡改过。

说白了,就是「这数据我敢不敢拿来做决策」。

我遇到过最典型的场景:业务部门开会,销售说 A 数据源显示业绩增长 20%,财务说 B 数据源显示只增长 5%。两边吵得不可开交。最后发现,A 数据源把「下单」算作收入,B 数据源只算「已收款」——口径不同,数据自然打架。

可信性诊断,我一般从三个角度入手:

维度 检查项 诊断方法
来源可信 数据采集方式是否规范 检查采集日志、接口调用记录
血缘可信 数据加工链路是否完整 查看 ETL 脚本、数据血缘图谱
审计可信 数据是否被非授权修改 检查变更日志、MD5 校验
我的习惯:每次接入新数据源,我都会先做一次「可信性评估」。问三个问题:谁提供的?怎么采集的?中间有没有人工干预?三个问题答不上来两个,这数据我宁可不接。

还有一个容易被忽略的点:数据时效性。过期的数据,即使当初是准确的,现在也不可信。比如用去年的客户地址做今年的物流配送——这不叫可信,这叫碰运气。

3.5 四个维度的关系图谱

这四个维度不是孤立的。我画了一张图,帮你理清它们之间的关系。

数据质量维度(下)关系图谱 数据质量 唯一性 有效性 稳定性 可信性 格式规范 去重后稳定 规则持续有效 四个维度相互影响,共同决定数据是否「可用」

从图里你能看到:唯一性和有效性偏「静态检查」,数据入库时就能判断;稳定性和可信性偏「动态监控」,需要持续观察。但它们是联动的——唯一性差的数据,稳定性一定好不了;有效性违规的数据,可信性自然打折扣。

总结一下:
  • 唯一性:数据不重复,实体可识别
  • 有效性:数据守规矩,符合业务规则
  • 稳定性:数据波动在合理范围内
  • 可信性:数据来源可靠,血缘清晰

这四个维度加上上一章的四个维度,构成了数据质量诊断的完整框架。实际项目中,我建议先做唯一性和有效性检查——这两个是「硬伤」,修起来立竿见影。稳定性和可信性需要长期建设,但一旦做好,数据团队的价值就能真正体现出来。