データ分析基盤におけるデータ品質の管理(1)- データ品質の評価基準
データ分析基盤の構築および運用に際して、データ品質の確保は最優先されるべき極めて重要な要素です。品質の低いデータは、それを利用して後に実施されるデータ分析の精度を著しく低下させるからです。高品質なデータは、信頼性の高い分析結果をもたらし、結果としてより適切な意思決定を支援することに直結します。したがって、データ分析基盤の成功は、データ品質の確保によって大きく左右されると言っても過言ではありません。
本稿では、3回にわたってデータ分析基盤におけるデータ品質の確保の概念と、その実装について解説します。
- データ品質の評価基準(今回)
- AWS Glueによるデータ品質評価プロセスの実装例
- データ品質評価後のアクション

データ品質の評価基準は、国際標準化機構のISO 8000や日本産業規格のJIS X 25012など、国内外の機関、及び、代表的なデータマネジメント・フレームワークであるDAMA-DMBOKフレームワークの中でも「データ品質」知識領域の中でそのガイドラインが規定されていますが、その内容は様々です。
本稿では、前述の様々なガイドラインから、データ分析基盤におけるデータ品質の観点に絞り、その評価基準について解説します。
データ品質の評価基準
データ品質の評価基準には一般的に次のような種類があり、それぞれについて検証の観点を持っています。
正確性(Accuracy)
1. ソース検証 (Source Verification)
データが収集された元のソースやドキュメントを確認し、データが正確に記録されているかを検証します。
2. サンプル検証 (Sample Verification)
データセットからランダムにサンプルを抽出し、それぞれのデータポイントが正確であるかを個別に検証します。
3. クロスチェック (Cross-Checking)
異なるデータソースやデータセット間で情報を照合し、一貫性があるかを確認します。矛盾がある場合は、正確性に問題がある可能性があります。
4. エラーチェック (Error Checking)
データ入力やデータ変換プロセスにおける一般的なエラー(タイプミス、フォーマットの不一致など)を特定し、修正します。
5. 外部データとの比較 (External Data Comparison)
データセットを信頼できる外部データソースと比較し、類似性や差異を評価します。外部データソースは、業界標準、公的な統計、調査結果などが利用されます。
6. 専門家によるレビュー (Expert Review)
データに関する専門知識を持つ人物によるレビューを実施し、データの正確性を評価します。
完全性(Completeness)
1. 欠損値のチェック (Missing Value Check)
データセットをスキャンして欠損値(空のフィールドやNULL値)を特定し、欠損データの割合を計算します。高い欠損率は完全性の問題を示す可能性があります。
2. 必須フィールドの検証 (Mandatory Field Verification)
データセットにおいて、すべての必須フィールドが適切に入力されているかを確認します。必須フィールドに欠損値がある場合は、データの完全性が損なわれています。
3. データ範囲と制約のチェック (Range and Constraint Check)
データが定義された範囲や制約(例:生年月日が1900年以降、電話番号が有効なフォーマット)内にあるかを検証します。範囲外の値は、不完全なデータを示す場合があります。
例)
電話番号(ハイフンあり) | 判定 |
---|---|
03-1234-5678 | OK |
0X-ABCD-EFGH | NG |
0312345678 | NG |
4. レコードの完全性チェック (Record Completeness Check)
各レコードがすべての関連する属性を持っているかを確認し、不完全なレコードを特定します。
5. データソースの網羅性チェック (Data Source Coverage Check)
データセットが対象となるすべてのデータソースやデータ内の分類をカバーしているかを確認します。特定のデータソースや分類が欠けている場合、完全性に問題があると考えられます。
6. 歴史的データの完全性チェック (Historical Data Completeness Check)
時系列データの場合、過去のすべての期間にわたってデータが連続しているかを確認します。期間にギャップがある場合、データの完全性が損なわれている可能性があります。
例)商品Aの在庫推移(ソースデータから毎日連携される想定)
商品 | 日付 | 数量 | 状況 | 判定 |
---|---|---|---|---|
商品A | 2024/04/01 | 100 | ||
商品A | 2024/04/02 | 120 | ||
商品A | 2024/04/03 | 110 | ||
商品A | 2024/04/04 | 在庫データが連携されたが、データなし | 完全性チェックNGの可能性 | |
商品A | 2024/04/05 | 120 |
7. 参照データとの整合性チェック (Referential Integrity Check)
外部キーなどの参照データが、関連する主テーブルのレコードを正しく指しているかを検証します。参照不整合は、データの完全性に問題があることを示す可能性があります。
例)商品マスタに存在しない在庫データ
商品マスタ
商品コード | 商品名 | ・・・ |
---|---|---|
001 | 商品001 | |
002 | 商品002 |
在庫データ
商品コード | 日付 | 数量 | 状況 | 判定 |
---|---|---|---|---|
001 | 2024/04/01 | 100 | ||
002 | 2024/04/01 | 120 | ||
003 | 2024/04/01 | 110 | 商品コード003はマスタに存在しないため参照不整合 | NG |
整合性(Consistency)
1. データ間の照合 (Cross-Validation)
異なるデータソースやデータセット間で同じ情報を照合し、一致しているか確認します。
2. データルールの適用 (Data Rule Enforcement)
データが特定のビジネスルールや制約に従っているかを検証します。例えば、注文日は出荷日以前でなければならないというルールが守られているかを確認します。
3. データ型とフォーマットのチェック (Data Type and Format Check)
データが適切なデータ型(数値、文字列など)およびフォーマット(日付フォーマット、電話番号フォーマットなど)を持っているかを確認します。
4.ドメイン値の検証 (Domain Value Validation)
データが特定のドメイン(許容される値のセット)に属しているかを確認します。例えば、性別が「男性」「女性」「その他」のいずれかであること、国コードが有効なISOコードであることなどをチェックします。
5. 参照整合性の検証 (Referential Integrity Check)
外部キーが関連する主キーを正しく参照しているかを検証します。これにより、関連するテーブル間の整合性が保たれます。
6. 重複データのチェック (Duplicate Data Check)
同一または類似のレコードが重複していないかを確認します。重複データは整合性の問題を引き起こす可能性があります。
例)顧客データ
データソース | 姓 | 名 | 生年月日 | 住所 | 判定 |
---|---|---|---|---|---|
ECサイト | 鈴木 | 太郎 | 2001/04/01 | 東京都港区北青山10-20-1-204 | |
ERP | 鈴木 | 太郎 | 東京都港区北青山10-20-1北青山グランドハイツ204 | 同一人物の可能性 |
7. 歴史的整合性の確認 (Historical Consistency Check)
時系列データにおいて、過去のデータが現在のデータと矛盾しないかを確認します。例えば、過去の販売記録が後から変更されていないかをチェックします。
適時性(Timeliness)
1. データの更新頻度チェック (Data Update Frequency Check)
データが定期的に更新されているかを確認します。データの更新頻度は、ビジネス要件やデータソースの性質に応じて設定されるべきです。
2. データの古さ評価 (Data Age Assessment)
データセット内の最新のレコードがどれほど古いかを評価します。ビジネスプロセスにとって重要なデータが過度に古い場合、適時性の問題があると考えられます。
3. データ取得と処理の遅延測定 (Data Acquisition and Processing Latency Measurement)
データがソースから取得され、データウェアハウスや分析環境に反映されるまでの時間を測定します。遅延が長い場合、適時性に影響を与える可能性があります。
4. データの有効期限チェック (Data Expiration Check)
データに有効期限が設定されている場合、その期限が過ぎていないかを確認します。期限切れのデータは、適時性が低いと考えられます。
5. ビジネスイベントとの同期チェック (Business Event Synchronization Check)
データが関連するビジネスイベントやプロセスと同期しているかを確認します。例えば、販売データが実際の販売イベントの直後に利用可能であるかをチェックします。
6. データリフレッシュの監視 (Data Refresh Monitoring)
データリフレッシュのプロセスを監視し、予定通りに実行されているかを確認します。リフレッシュの遅れは適時性に影響を与えます。
アクセス可能性
1. データアクセス権の確認 (Data Access Rights Verification)
データにアクセスするための権限が適切に設定されているかを確認します。必要なユーザーやシステムがデータにアクセスできるように、アクセス権が正しく割り当てられていることを確認します。
2. データアクセスログの監視 (Data Access Log Monitoring)
データへのアクセス記録を監視し、不正なアクセスや予期せぬアクセスパターンを検出します。これにより、データのアクセス可能性とセキュリティを同時に確認することができます。
3. アクセス制御システムのテスト (Access Control System Testing)
データへのアクセス制御システムが正しく機能しているかをテストします。権限のないユーザーがデータにアクセスできないこと、権限のあるユーザーが適切にデータにアクセスできることを確認します。
4. データの可用性チェック (Data Availability Check)
データが常に利用可能であることを確認します。データベースの稼働時間、バックアップと復旧の仕組み、障害対策などを評価します。
5. データアクセスのユーザビリティ評価 (Data Access Usability Assessment)
データへのアクセスがユーザーフレンドリーであるかを評価します。データへのアクセス方法が直感的で、必要な情報を容易に取得できるかを確認します。
6. データアクセスのパフォーマンス測定 (Data Access Performance Measurement)
データへのアクセス速度や応答時間を測定し、パフォーマンスが要件を満たしているかを確認します。データの読み込みやクエリの実行が適切な速度で行われることを確認します。
参考文献
- データマネジメント知識体系ガイド 第二版 2018 DAMA International編著、DAMA日本支部、Metafindコンサルティング株式会社 監訳、日経BP