数据质量度量指标体系:掌握 DQI、DQAF 等指标设计方法
| 维度 | 定义 | 常用指标示例 | 参考框架 |
|---|---|---|---|
| 完整性 | 数据是否缺失 | 缺失率、行数偏差、必填字段完成率 | DQI 完整性分项 |
| 准确性 | 数据值与真实值一致 | 准确率、误差率、分布偏差 | DQAF 准确性核查 |
| 一致性 | 跨系统/跨表逻辑吻合 | 汇总一致性、代码匹配率 | DQAF 逻辑校验 |
| 时效性 | 数据及时到达 | 延迟分钟数、T+1 到达率 | DQI 时效分项 |
| 唯一性 | 无重复记录 | 重复率、主键冲突数 | 自定义 |
面试问答卡片
Q1:请介绍你搭建数据质量度量体系的整体思路,以及如何选择 DQI 或 DQAF 指标?
面试官考察点:理论框架理解 + 落地选择性 + 结构化表达
回答框架:① 先定义核心维度(完整性/准确性/时效性等);② 根据业务重要性选取每个维度下 1-2 个关键指标;③ 对于 DQI,侧重固定权重的综合评分;④ 对于 DQAF,倾向细粒度核查 + 动态阈值;⑤ 最后给出闭环改进流程。
示例回答(60-100字):我会先以完整性、准确性、时效性为三大维度,在每个维度下选取缺失率、准确率、延迟分钟数作为基础指标。对于日常监控使用 DQI 加权评分(如总分 0-100);对于核心资产表采用 DQAF 逐行校验+动态基线告警,确保问题秒级发现。两者互补,而非替代。
可能追问:阈值的上下界如何确定?动态基线怎么设计?
避坑提醒:不要只说理论定义而不举例业务场景;避免“所有指标都用 DQI”的一刀切话术。
Q2:在搭建度量体系时,如何让业务方认可我们设定的数据质量指标?
面试官考察点:跨团队协作能力 + 指标可解释性 + 业务价值导向
回答框架:① 邀请业务方参与维度优先级投票;② 用财务报表/运营指标的反面案例说明坏数据成本;③ 每个指标绑定对应的业务影响(如“延迟率每降低10%可减少信贷审批损失”)。
示例回答(60-100字):我会先与业务方召开“数据质量维度工作坊”,请他们打分排序。例如风控团队关注准确性,财务关注完整性。然后针对每个指标给出SLA承诺——例如“贷款申请数据缺失率≤1%”对应减少无法打分样本,得到业务直接认可。最后将指标看板共享,每月复盘一次。
可能追问:业务方要求“零误差”怎么办?
避坑提醒:不要陷入技术术语(如“熵值法”);要始终用业务语言解释“这个指标降低了什么风险”。
Q3:你如何监控大量表/字段的数据质量,避免“指标爆炸”?
面试官考察点:规模化落地经验 + 自动化能力 + 优先级策略
回答框架:① 按照表分级(核心/重要/普通)配置不同颗粒度;② 自动化探查工具跑全量扫描,只对核心表启用实时监控;③ 用“异常级联”机制减少重复告警。
示例回答(60-100字):我们将表分为 P0-P3 四级:P0 核心表(如交易流水)配置完整性+准确性 5 个指标,实时告警;P1 表配置 3 个指标,每日扫描;P2/P3 表只做周度趋势监控。另外设计“上游表异常自动关联下游”规则,避免同一问题重复上报。目前全平台 2000+ 表,核心告警日均仅 5 条。
可能追问:分级标准如何量化?谁来定义?
避坑提醒:忌“所有表一视同仁”或“只关注核心表忽略长尾”。
项目案例章节
项目名称:统一数据质量度量平台(DQ Hub)
业务背景:某金融科技公司月交易流水超 500 亿,风控与财务频繁因数据缺失/延迟发生对账差错,需要建立全链路可量化的数据质量体系。
规模指标:管理 2000+ 离线表、300+ 实时流;日数据量 30TB;覆盖 6 条业务线(支付、信贷、营销、风控、财务、监管报送)。
技术栈:Spark SQL / Flink 实时探查;Apache Griffin 作为规则引擎;InfluxDB + Grafana 看板;自研 DQ 告警中心(对接钉钉/企微)。
核心难点:① 多源异构数据的统一探查口径;② 阈值动态调参避免误告;③ 跨业务线的指标对齐与权重争议。
面试高频追问:
- 你们如何解决 Griffin 规则大规模下发时的性能问题?
- 动态阈值算法用了什么?上下界如何避免异常毛刺?
- 业务线之间对于“准确性”权重各执一词,你怎么处理的?
- 实时流数据质量如何与离线表做一致性对比?
可迁移回答话术: