概要

データ品質 (Data Quality)

DAMA-DMBOK 2nd Edition — Chapter 13: Data Quality

出題割合: 11%(約11問)— 最重要トピック


1. データ品質とは

定義: データが意図された目的に対して適切である度合い(Fitness for Purpose)。

"Data quality management is the planning, implementation, and control of activities that apply quality management techniques to data, to assure it is fit for consumption."


2. データ品質の6次元(最重要)

DAMA-DMBOK が定義する主要な品質次元:

次元 英語 説明
完全性 Completeness 必要な値が揃っているか 必須項目のNULL率
正確性 Accuracy 現実世界と一致しているか 住所が実在するか
一貫性 Consistency 複数ソース間で矛盾がないか 同じ顧客IDが異なる名前を持つ
適時性 Timeliness データが必要なタイミングで利用可能か レポートが当日中に更新されるか
妥当性 Validity 定義されたルール・形式に適合するか 日付形式がYYYY-MM-DDか
一意性 Uniqueness 重複がないか 同一顧客のレコードが複数存在しないか

※他にも Integrity(整合性)Precision(精度)Reasonableness(合理性) 等が挙げられることがある


3. データ品質問題の根本原因

根本原因
データ入力時のエラー タイポ、誤入力
データ定義の不明確さ 「顧客」の定義が部門ごとに異なる
システム間連携の問題 形式変換時のデータ損失
時間経過による陳腐化 引越し後も旧住所が残る
重複データ 同一人物が複数登録
設計上の問題 必須制約なし、バリデーションなし

4. データ品質管理の活動

4.1 データプロファイリング(Data Profiling)

既存データの特性・品質を分析・評価するプロセス。

分析対象:

プロファイリング → 問題の発見 → 根本原因分析 → 修正 → 再プロファイリング

4.2 データ品質ルールの定義

4.3 データ品質の測定・監視

4.4 データクレンジング(Data Cleansing)

品質問題のあるデータを修正・標準化するプロセス。

手法 内容
標準化 住所・電話番号・氏名の統一形式変換
重複排除(Deduplication) 同一エンティティの統合
変換(Transformation) コード変換・単位変換
拡充(Enrichment) 外部データで欠損値を補完
削除 修正不能なレコードの除去

4.5 マスターデータとの照合


5. データ品質の組織・ガバナンス

データ品質の責任

データ品質の「4つのアプローチ」

アプローチ 説明
Prevention 入力段階でのバリデーション(予防)
Detection 品質問題の発見・測定
Correction 問題データの修正
Root Cause Elimination 問題の根本原因を除去

最も効果的・コスト効率が良いのは Prevention(予防)


6. データ品質の指標(Metrics)

指標 計算方法
完全性率 値が存在するレコード数 / 全レコード数
正確性率 正確なレコード数 / 全レコード数
重複率 重複レコード数 / 全レコード数
ルール違反率 ルール違反レコード数 / 全レコード数
データ品質スコア 各次元の加重平均(組織ごとに定義)

7. データ品質ツール

ツール分類
プロファイリング Ataccama, Talend DQ, Informatica DQ
マスターデータ管理 Stibo MDM, SAP MDM, Reltio
データカタログ(品質統合) Collibra, Alation
ETLツール(検証機能) Informatica, DataStage

8. データ品質のビジネス価値

「1の法則」:

悪いデータ品質のコスト(IBM研究):
米国だけで年間3.1兆ドルの損失


試験ポイント


Specialist試験 深掘り

Total Data Quality Management(TDQM)フレームワーク

MITが提唱したDQ管理フレームワーク。製造業のTQM(全社品質管理)をデータに適用。

Define  → データ品質要件の定義(顧客ニーズから)
Measure → 現状の品質を測定(プロファイリング)
Analyze → 問題の根本原因分析
Improve → 改善策の実施(Prevention/Correction)
Control → 改善後の維持・監視(継続モニタリング)

DAMAのDQMとTDQMはほぼ同じアプローチ。Specialist試験では「測定 → 分析 → 改善 → 制御」のサイクルが問われる。

データ品質次元の拡張版(Specialist頻出)

DMBOKの6次元に加えて以下が追加で議論される:

次元 説明
Integrity(整合性) エンティティ間の参照整合性が保たれているか
Precision(精度) データの詳細度・粒度が目的に適しているか(例: 売上が円単位か万円単位か)
Reasonableness(合理性) データが常識的な範囲に収まっているか(外れ値検出)
Accessibility(アクセス可能性) 必要な時に必要なユーザーがデータにアクセスできるか

DQプログラムの実施順序(Specialist試験で問われる)

1. Business Case の確立
   → 品質問題がビジネスに与えるコスト・リスクを定量化
   
2. スコープ定義
   → クリティカルデータエレメント(CDE)の特定
   
3. 品質要件の定義
   → 各CDEに対するSLA(Completeness 99%以上等)
   
4. 現状測定
   → データプロファイリング実施
   
5. ギャップ分析
   → 現状 vs 目標のギャップ特定
   
6. 根本原因分析
   → 5 Whys・Fishbone Diagramを使用
   
7. 改善策の実施
   → Prevention優先(入力バリデーション等)
   
8. 継続監視
   → 自動チェック・ダッシュボード

重要: 多くの組織が「Step 4(測定)→ Step 7(修正)」とショートカットするが、Step 6(根本原因分析)をスキップすると同じ問題が再発する。

データ品質ルールの検証技術

技術 使用場面
Rule-based Validation 形式・範囲・必須チェック(実装が容易)
Statistical Process Control(SPC) 時系列でのデータ品質トレンド監視(製造業由来)
Anomaly Detection 機械学習による外れ値・異常値の自動検出
Reference Data Validation 参照データとの突合(コード値の有効性確認)
Cross-System Reconciliation 複数システム間の値の整合性確認

Great Expectations / dbt test の実務パターン

# Great Expectations でのDQルール定義例
expect_column_values_to_not_be_null("customer_id")
expect_column_values_to_be_between("age", 0, 120)
expect_column_values_to_match_regex("email", r"^[^@]+@[^@]+\.[^@]+$")
expect_column_pair_values_to_be_greater_than("end_date", "start_date")
expect_column_values_to_be_in_set("status", ["ACTIVE","INACTIVE","SUSPENDED"])
-- dbt test でのDQチェック
-- schema.yml に記述
models:
  - name: dim_customer
    columns:
      - name: customer_id
        tests:
          - not_null
          - unique
      - name: email
        tests:
          - not_null
          - dbt_expectations.expect_column_values_to_match_regex:
              regex: "^[^@]+@[^@]+$"