分析官3年目の私がデータ受領時にプライマリキー確認にこだわる理由

こんにちは! 分析官のMです。

日々の業務でデータ分析を担当されている方は、 クライアントや他部署から新しくデータを受領して、整形や分析をする機会が多々あるかと思います。

データ受領後はレコード数・カラム数を確認した後に、 各カラムの分布や要約統計量を算出したり、欠損値や外れ値の有無や多少などを確認するのが一般的かと思いますが、 私はそれらよりも先に
「どのようなカラムの組み合わせでデータのレコードが一意に定まっているか?」
つまり、
「プライマリキー(PK)が何か?」
を確認しています。

本記事では分析官3年目の私がなぜデータ受領時にPK確認にこだわるのか、 その理由をご共有します。

①データの意味合いをスピーディーかつ大まかに把握するため

例えば、"会員ID"で一意になっているようなデータであれば会員マスタ、 "会員ID","購買時間","商品ID"で一意になっているようなデータであれば購買ログというような想定ができます。
「そんなの、データ提供者と連携をとれているからわざわざ調べる必要ないでしょ...」
と思っている方もいらっしゃるかと思いますが、 データ提供側が必ずしも自分が欲しているデータを用意してくれているとは限りません。 例えば、いつ誰が新規契約or更新したかが分かる決済ログ(PK:"ユーザーID","決済日")を依頼したのに、 誰が何回契約更新したかといったサマリ情報(PK:"ユーザーID")を受領してしまうというようなこともざらにあります。 こういった場合でもPKを確認することで、 データの意味合いをスピーディーかつ大まかに把握することができ、 たとえ自分が欲しているデータとは異なるデータを受領した場合であっても、余分な時間を最小限に抑え、スムーズに再依頼することができます。

②後々のデータ整形ミスのリスクを減らすため

データ分析を行う上では、1つのデータだけで完結することは珍しく、基本的には複数のデータを結合して分析を進めていくことの方が多いです。 ただ、用いるデータの種類が増えたり、データ整形の過程が複雑になってくると、その分整形ミスを引き起こす可能性が高くなっていきます。 その整形ミスを引き起こす原因の1つに重複レコードの見逃しがあります。 重複レコードを見逃したまま他のデータと結合してしまうと、重複している分、結合後のデータでもレコード数が増加してしまい、誤った数値を算出してしまうことがあるからです。 このようなリスクを避けるためにはあらかじめPKを確認することが有効です。 例えば商品マスタの場合、PKは"商品ID"であることが想定できますが、 重複がある場合はいずれかの商品のレコード数が2行以上になり、"商品ID"がPKにはなっていません。 重複が見つかった場合はその部分にフォーカスして、その時々で適切なデータクレンジングを施す必要があります。

さいごに

ここまでで、データ受領時にPKを確認することの重要性を述べてきました。 次回の記事では実際に私がどのようにPKを確認し、データ理解を深めているかご共有したいと思います。