申請の行2万件に不良を入れ、検査を5つ重ねました。止められたのは71.7%です。
残り2006件は形としては正しいので、どの検査にも引っかかりませんでした。
検査は1つずつ届く範囲が違います。重ねるほど増えますが、頭打ちがあります。
データ品質の検査を1つずつ足すと、どこまで届くのかを実際に数えました。
申請の行を2万件用意し、7種類の不良を混ぜました。壊れている行は7079件で、全体の35.4%です。
検査は上から順に足します。1つでも引っかかれば、その行は止まります。
受け取った行 20000件。壊れている行 7079件(35.4%) うち 2006件は、形としては正しいので検査では拾えない 足した検査 止めた件数 正しく止めた 誤って止めた 検出率 必須の項目が入っているか 1069件 1069件 0件 15.1% 型が合っているか 2109件 2109件 0件 29.8% 範囲に収まっているか 3159件 3159件 0件 44.6% 一覧にある値か 4902件 4306件 596件 60.8% 重複していないか 5669件 5073件 596件 71.7%
1つ目の検査で15.1%が止まります。5つ重ねると71.7%まで上がりました。
出典も検査の性質をそれぞれの規則は、データの鮮度や整合性といった特定の性質を検査するとしています。1つの規則が見るのは1つの性質です。
検査ごとの上積みは、おおむね15ポイント前後です。不良の種類を均等に混ぜたためです。
実際の場では、種類ごとの件数が偏ります。多い種類を拾う検査から足すほうが、早く効きます。
検査を重ねると検出率は上がるが、100%には届かない。
Each rule checks for particular characteristics like data freshness or integrity.原文AWS「AWS Glue Data Quality」(AWS Glue 開発者ガイド) この内容の有効期限2027-02-18
形の検査は、形の誤りしか見つけません。中身が業務として誤っている行は、そのまま通ります。
データ品質の検査で止まらない不良があります。どの種類が止まらないのかを分けて数えました。
不良の種類 件数 必須の項目が 型が合ってい 範囲に収まっ 一覧にある値 重複していな 止まらない 欠けている 1009件 1009件 0件 0件 0件 0件 0件 型が違う 997件 0件 997件 0件 0件 0件 0件 範囲の外 1002件 0件 0件 1002件 0件 0件 0件 参照先にない 1064件 0件 0件 0件 1064件 0件 0件 重複 1001件 60件 43件 48件 83件 767件 0件 桁が違う 1003件 0件 0件 0件 0件 0件 1003件 日付が未来 1003件 0件 0件 0件 0件 0件 1003件
下2行を見てください。桁違いと未来の日付は、どの検査にも止まりません。合わせて2006件です。
桁違いは、単位を取り違えて1000倍になった金額です。数値であり、正でもあるので形の検査は通ります。
未来の日付も同じです。日付として正しい形なので、その日付があり得るかどうかは業務の知識になります。
出典は品質という語をデータの集まりが、その特定の目的にどれだけよく資するかを表すと定義しています。
形が正しいことと、目的に足りていることは別です。この2006件は、形としては完璧です。
逆の間違いも起きています。4つ目の検査を足した時点で、596件を誤って止めました。
今月から増えた部署が、検査の持つ一覧に入っていなかったためです。検査の側が古くなるという壊れ方です。
形の検査は、形の誤りにしか届かない。
Describes how well a dataset serves its specific purpose.原文AWS「AWS Glue Data Quality」(AWS Glue 開発者ガイド) この内容の有効期限2027-02-18
止められた分の手間は変わりません。すり抜けた分だけが、気づいた場所に応じて増えます。
データ品質の効果は、手戻りの差で測れます。すり抜けた2006件がどこで見つかるかで計算しました。
1件あたりの手直しを、気づいた場所ごとに置きました。受け取った直後なら5分、報告に出たあとなら240分です。
受け取った行 20000件。壊れている行 7079件のうち、検査で止められたのは 5073件 止められなかった 2006件は、下流のどこかで気づくことになる 気づいた場所 1件あたりの手直し 止めた分の手間 すり抜けた分の手間 合計 受け取った直後 5分 423時間 167時間 590時間 整形したあと 20分 423時間 669時間 1091時間 集計したあと 60分 423時間 2006時間 2429時間 報告に出たあと 240分 423時間 8024時間 8447時間
止めた分の手間は423時間で一定です。受け取った直後に戻すので、場所によりません。
動くのはすり抜けた分です。167時間から8024時間まで、48倍に増えます。
合計では590時間から8447時間で、約14倍です。同じ2006件でも、気づく場所で桁が変わります。
出典も目的をデータの品質を測り、監視することで、良い業務上の判断ができるようにするとしています。
この表でいえば、検査を1つ足す価値は、その検査が拾う件数×手戻りの差です。件数だけでは決められません。
桁違いを拾う検査を足せば1003件が上流で止まります。報告まで出ていた場合、4012時間ぶんの差になります。取り込みの前段で変更を拾う話はCDCの記事で扱っています。
同じ件数でも、気づく場所で手戻りが桁で変わる。
1件あたりの手直しの時間は置いた値です。実際には不良の種類でも変わり、報告の訂正はもっと重いこともあります。不良の割合も7種類をほぼ均等に混ぜた形で、実際は特定の種類に偏ります。ここで見せているのは、形の検査が形の誤りにしか届かないことと、すり抜けた分だけが気づく場所で増えるという関係です。
AWS Glue Data Quality allows you to measure and monitor the quality of your data so that you can make good business decisions.原文AWS「AWS Glue Data Quality」(AWS Glue 開発者ガイド) この内容の有効期限2027-02-18
同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。
出品の仕組みを見る