3、数据质量维度(下):唯一性、有效性、稳定性、可信性
上一章我们聊了完整性、准确性、一致性和及时性。这四个维度,说实话,是数据质量最基础的「体检项」。但光有这些还不够。
你想想看,数据不重复、符合规则、长期稳定、来源可靠——这些才是让数据真正「能用」的关键。今天我把剩下的四个维度掰开揉碎了讲。
3.1 唯一性:别让数据「撞脸」
唯一性,说白了就是一条数据在集合里只能出现一次。没有重复,没有歧义。
我在项目中遇到过最典型的场景:客户表里同一个手机号出现了三条记录,姓名、地址都略有不同。业务部门问我「哪个才是对的?」——我答不上来。这就是唯一性出了问题。
- 主键或业务唯一键是否存在重复值
- 同一实体是否被多条记录描述(如「张三」vs「张 三」)
- 跨系统合并时是否产生了重复数据
诊断方法其实不复杂。我习惯用 GROUP BY + HAVING COUNT(*) > 1 来扫全表。但要注意,有些重复是「业务允许的」——比如订单表里同一个用户下了两单,这不叫重复,这叫正常业务。
-- 检查客户表手机号是否唯一
SELECT phone, COUNT(*) as cnt
FROM customer
GROUP BY phone
HAVING COUNT(*) > 1;
3.2 有效性:数据得「守规矩」
有效性,就是数据是否符合预定义的格式、范围、类型和业务规则。
举个例子:年龄字段出现 -5,邮箱字段没有 @ 符号,日期字段写成 2025-13-01——这些都是有效性违规。
我曾经接手过一个财务系统,金额字段居然存了「一百二十元」这种中文描述。嗯,这数据别说分析了,连聚合都跑不了。
| 有效性规则类型 | 示例 | 违规表现 |
|---|---|---|
| 格式规则 | 手机号 11 位数字 | 含字母、长度不足 |
| 范围规则 | 年龄 0-150 | 出现 200 或 -1 |
| 枚举规则 | 性别 M/F | 出现 Unknown |
| 依赖规则 | 已婚必须有配偶姓名 | 已婚但配偶为空 |
诊断有效性,我建议用正则表达式 + 边界值检查。别只测正常值,要测「边界值」和「异常值」——这才是有效性的试金石。
-- 检查邮箱字段有效性
SELECT email
FROM user
WHERE email NOT LIKE '%@%.%';
3.3 稳定性:数据别「忽高忽低」
稳定性,衡量的是数据在时间维度上的波动是否在合理范围内。
你想想看,昨天日活 100 万,今天突然变成 10 万——这数据你敢信?大概率是采集链路断了,或者计算口径变了。
我习惯用「环比 + 同比 + 标准差」来量化稳定性。具体来说:
- 环比波动率:今天 vs 昨天,变化超过 30% 就要报警
- 同比波动率:本周 vs 上周同期,排除周期性因素
- 标准差/均值:CV 值超过 0.5 说明数据极不稳定
稳定性诊断最怕什么?最怕「假稳定」。数据一直不变,每天都是同一个值——这反而有问题,说明采集可能挂了,系统在返回缓存数据。
- 采集数据量是否在历史均值 ±3σ 范围内
- 关键指标是否存在突增/突降
- 数据更新时间是否规律
- 是否存在连续多日数据完全一致的情况
我曾经排查过一个案例:某报表连续 7 天数据一模一样。开发说「没问题啊,业务就是稳定的」。结果一查,是 ETL 任务挂了,一直在读上周的快照。嗯,稳定性检查不能只看「变没变」,还要看「该变的时候变了没有」。
3.4 可信性:数据「靠不靠谱」
可信性,是数据质量里最「软」的一个维度。它衡量的是数据来源是否可靠、数据血缘是否清晰、数据是否被篡改过。
说白了,就是「这数据我敢不敢拿来做决策」。
我遇到过最典型的场景:业务部门开会,销售说 A 数据源显示业绩增长 20%,财务说 B 数据源显示只增长 5%。两边吵得不可开交。最后发现,A 数据源把「下单」算作收入,B 数据源只算「已收款」——口径不同,数据自然打架。
可信性诊断,我一般从三个角度入手:
| 维度 | 检查项 | 诊断方法 |
|---|---|---|
| 来源可信 | 数据采集方式是否规范 | 检查采集日志、接口调用记录 |
| 血缘可信 | 数据加工链路是否完整 | 查看 ETL 脚本、数据血缘图谱 |
| 审计可信 | 数据是否被非授权修改 | 检查变更日志、MD5 校验 |
还有一个容易被忽略的点:数据时效性。过期的数据,即使当初是准确的,现在也不可信。比如用去年的客户地址做今年的物流配送——这不叫可信,这叫碰运气。
3.5 四个维度的关系图谱
这四个维度不是孤立的。我画了一张图,帮你理清它们之间的关系。
从图里你能看到:唯一性和有效性偏「静态检查」,数据入库时就能判断;稳定性和可信性偏「动态监控」,需要持续观察。但它们是联动的——唯一性差的数据,稳定性一定好不了;有效性违规的数据,可信性自然打折扣。
- 唯一性:数据不重复,实体可识别
- 有效性:数据守规矩,符合业务规则
- 稳定性:数据波动在合理范围内
- 可信性:数据来源可靠,血缘清晰
这四个维度加上上一章的四个维度,构成了数据质量诊断的完整框架。实际项目中,我建议先做唯一性和有效性检查——这两个是「硬伤」,修起来立竿见影。稳定性和可信性需要长期建设,但一旦做好,数据团队的价值就能真正体现出来。