データマネジメント試験
データマネジメント試験(仮称)科目Bサンプル問2(顧客データの結合キー)の解説
データマネジメント試験(仮称)の科目Bサンプル問2を、スマホで解いて確かめられます。データカタログの定義と実データの調査結果から、根本的な課題(共通の顧客識別子がない)と、暫定の結合キー(電話番号)を選ぶ手順と、選択肢ごとの根拠を解説します。
データマネジメント試験
科目Bサンプル問題 問2
IPA 公表問題
C 社は,一般消費者向けの EC サイトと実店舗の両方で商品を販売しており,それぞれで管理している顧客データを,データ基盤を使って統合し,分析することを目指している。当該分析は D さんが担当することになった。統合対象は,EC サイト顧客データと店舗会員データである。
D さんはまず,両データの仕様を理解するために,データカタログで関連データの定義を確認した。データカタログの検索結果を表 1 に示す。
| 項目 | EC サイト顧客データ | 店舗会員データ |
|---|---|---|
| データオーナー | ・EC 事業部 | ・店舗運営部 |
| 顧客 ID | ・数値型 ・顧客を一意に特定するキー ・制約:主キー(一意性制約あり,NULL 不可) | ・文字列型 ・顧客を一意に特定するキー ・制約:主キー(一意性制約あり,NULL 不可) |
| 電話番号 | ・文字列型 ・配送連絡用の本人認証済み携帯電話番号 ・形式:999-9999-9999 (9 は 0~9 の半角数字を表す) ・制約:一意性制約あり,NULL 不可 | ・文字列型 ・会員カード申込時の本人認証済み携帯電話番号 ・形式:99999999999 (9 は 0~9 の半角数字を表す) ・制約:一意性制約あり,NULL 不可 |
| メールアドレス | ・文字列型 ・顧客の会員登録時のメールアドレス ・制約:一意性制約あり,NULL 不可 | ・文字列型 ・会員カード申込時のメールアドレス ・制約:一意性制約あり,NULL 許容 |
D さんは,個人情報を取り扱うために必要な C 社内の申請を提出し,実データを参照することの許可を得た。その上で,データプロファイリングを行い,両データの全件を対象に,各項目の未入力(NULL)の有無や値の傾向を確認した。
その結果,EC サイト顧客データはいずれの項目も未入力はなかった。一方で,店舗会員データは,電話番号は全てのレコードについて入力されていたものの,メールアドレスは一部のレコードが未入力となっていた。
その後,具体的なデータ形式の確認のために,EC サイト顧客データと店舗会員データから同一顧客と推測される実データを抽出し,突き合わせた結果を表 2 に示す。
表 2 実データのサンプルの調査結果(原文は8列の1つの表。当サイトで顧客ごとの3つの表に分けた)
| 項目 | EC サイト | 店舗会員 |
|---|---|---|
| 顧客名(参考情報) | 情報 一郎 | 情報 一郎 |
| 顧客 ID | 10234 | S0010588 |
| 電話番号 | 090-0000-0001 | 09000000001 |
| メールアドレス | i.jouhou@example.jp | i.jouhou@example.jp |
| 項目 | EC サイト | 店舗会員 |
|---|---|---|
| 顧客名(参考情報) | 基本 花子 | 基本 花子 |
| 顧客 ID | 25811 | S0023145 |
| 電話番号 | 090-0000-0002 | 09000000002 |
| メールアドレス | kihon.h@example.jp | kihon.h@example.jp |
| 項目 | EC サイト | 店舗会員 |
|---|---|---|
| 顧客名(参考情報) | 経済 次郎 | 経済 次郎 |
| 顧客 ID | 31105 | S0009872 |
| 電話番号 | 090-0000-0003 | 09000000003 |
| メールアドレス | j.keizai@example.jp | (NULL) |
注記 1 データプロファイリングの結果,電話番号のハイフンの有無やメールアドレスの記述形式については,実データの全てにおいて,表 2 と同様の傾向であることが確認されている。
注記 2 EC サイト顧客名及び店舗会員顧客名は,確認のために各 ID にひも付く氏名情報を示したものであり,同姓同名の存在や手書き申込時の入力精度のばらつきなどがあることから,データ結合のキーとしては使用できないものとする。
経営陣から,優良顧客の特定のために,販売チャネル横断での顧客分析のレポートを至急作成するよう要求があった。D さんは,この要求に対して,このままでは同一顧客の EC サイトと店舗の購買実績をひも付けることができず,正確な優良顧客の特定ができないという根本的な課題が存在すると考えた。
D さんは,この状況における最も根本的な課題は【 a 】であると特定した。そして,経営陣からの緊急の要求に応えるための現実的な暫定対応として,【 b 】を検討した。
設問 本文中の【 a 】,【 b 】に入れる字句の組合せはどれか。解答群のうち,最も適切なものを選べ。
- (一) EC サイト顧客データと店舗会員データにおいて,電話番号のデータ形式が統一されていないこと
- (二) EC サイトと実店舗それぞれで顧客を一意に識別する顧客 ID が,販売チャネル横断の顧客識別子として機能しないこと
- (三) 店舗会員データのメールアドレスは,データカタログ上で NULL 許容とされており,実データにも未入力が含まれていること
- (四) EC サイトと実店舗それぞれで一意性が保証されている顧客 ID をそのまま結合キーとし,暫定的なレポートを作成すること
- (五) 一意性のある電話番号のデータ形式を整形し,電話番号をキーとして両データを結合して暫定的なレポートを作成すること
- (六) 一意性のあるメールアドレスをキーとして両データを結合し,暫定的なレポートを作成すること
答えと選択肢ごとの根拠を見る
正解:オ(a (二)/b (五)) IPA 公表の解答例による
ア × 誤り 表面の形式の違いを根本的な課題だと考えた
a (一)/b (四)
aの(一)は,ハイフンを除けば揃えられる形式の違いで,暫定対応で吸収できる。根本的な課題ではない。bの(四)は,ECサイトの顧客ID(10234などの数値)と店舗会員の顧客ID(S0010588などの文字列)が別々に採番されていて,値が一致しないので結合キーにならない。
イ × 誤り 表面の形式の違いを根本的な課題だと考えた
a (一)/b (五)
bの(五)は正しい。しかしaの(一)は,bで整形すれば解消できる問題で,それを根本的な課題とすると,整形すれば解決したことになってしまう。チャネルをまたいで顧客を識別する仕組みがないこと((二))が残る。
ウ × 誤り 一意性制約があれば結合キーに使えると考えた
a (一)/b (六)
aの(一)は形式の違いで,根本的な課題ではない。bの(六)は,店舗会員データのメールアドレスがNULL許容で,実データにも未入力がある(表2の経済 次郎)。メールアドレスで結合すると,未入力の顧客がひも付かず,優良顧客を取りこぼす。
エ × 誤り 一意性制約があれば結合キーに使えると考えた
a (二)/b (四)
aの(二)は正しい。しかしbの(四)は,aで「チャネル横断の識別子として機能しない」と認めた顧客IDを結合キーにしており,矛盾している。それぞれのデータの中で一意でも,2つのデータの間で同じ顧客に同じ値が付くわけではない。
オ ○ 正しい
a (二)/b (五)
顧客IDはECサイト・店舗それぞれで別に採番されていて(数値型と文字列型),同じ顧客を結び付けられない。これがチャネル横断の分析を妨げる根本的な課題(a)。電話番号は,両方とも本人認証済みの携帯電話番号で,一意性制約あり・NULL不可,実データにも未入力がない。違いはハイフンの有無だけなので,形式を揃えれば暫定の結合キーに使える(b)。
カ × 誤り 一意性制約があれば結合キーに使えると考えた
a (二)/b (六)
aの(二)は正しい。bの(六)は,店舗会員データのメールアドレスがNULL許容で,実データにも未入力がある。一意性制約は「入っている値が重複しない」ことしか保証しないので,未入力の顧客は結合できない。電話番号はNULL不可で全件入力されている。
キ × 誤り 結合キーの候補の欠点を根本的な課題だと考えた
a (三)/b (四)
aの(三)は,メールアドレスを結合キーに使えない理由にはなるが,チャネル横断で顧客を識別できないという課題の根本ではない。bの(四)は,別々に採番された顧客IDなので結合キーにならない。
ク × 誤り 結合キーの候補の欠点を根本的な課題だと考えた
a (三)/b (五)
bの(五)は正しい。しかしaの(三)は,結合キーの候補の1つが使えないという個別の問題。根本は,両方のデータに共通の顧客識別子がないこと((二))で,メールアドレスが全件そろっていても,それを決めて管理する仕組みがなければ同じ問題が起きる。
ケ × 誤り 結合キーの候補の欠点を根本的な課題だと考えた
a (三)/b (六)
aの(三)で「メールアドレスに未入力がある」と認めながら,bの(六)でそのメールアドレスを結合キーにしており,矛盾している。未入力の顧客がひも付かないまま,暫定のレポートが作られてしまう。
解説
答えはオ:課題は顧客ID、暫定の結合キーは電話番号
正解はオ(aが(二)、bが(五))です。IPAは出題趣旨で、この問題を、データカタログの情報と実データの調査結果を解釈して「表面的な技術課題と,より本質的なガバナンス上の課題を切り分ける能力」と、「現実的な暫定対応を選択する能力」を問うものとしています。
空欄aの候補(一)〜(三)は、どれも本文から読み取れる内容です。どれも「問題」ではありますが、aに入るのは最も根本的な課題だけです。bの候補(四)〜(六)は、結合キーの3つの候補(顧客ID、電話番号、メールアドレス)に1つずつ対応しています。
結合キーの3つの候補を、表で比べる
本文の表1・表2と、データプロファイリングの結果を、結合キーに使えるかという観点で並べると、次のようになります。
| 候補 | 2つのデータで同じ顧客に同じ値か | 全件に値があるか | 結合キーに使えるか |
|---|---|---|---|
| 顧客ID | ×(10234とS0010588のように別々に採番。型も数値と文字列) | ○(両方NULL不可) | 使えない |
| 電話番号 | △(同じ番号だが、ハイフンの有無が違う) | ○(両方NULL不可。実データも全件入力) | 形式を揃えれば使える |
| メールアドレス | ○(表2の2人は一致) | ×(店舗会員はNULL許容。実データにも未入力) | 未入力の顧客が落ちる |
顧客名は、注記2で「データ結合のキーとしては使用できないものとする」とされているので、候補から外れます。
電話番号は、両方とも「本人認証済み携帯電話番号」で、一意性制約あり・NULL不可です。違いは形式(999-9999-9999と99999999999)だけで、注記1によると、この傾向は実データの全件で同じです。ハイフンを取り除けば、機械的に揃えられます。これが(五)の「データ形式を整形し,電話番号をキーとして」の意味です。
aを決める:形式の違いは「表面的な技術課題」
aの候補のうち、(一)の電話番号の形式の違いは、bの(五)で整形すれば解消します。暫定対応で消える問題は、根本的な課題ではありません。(三)のメールアドレスの未入力も、結合キーにメールアドレスを使わなければ避けられる、個別の項目の問題です。
(二)だけは、どの暫定対応をとっても残ります。ECサイトと店舗は、それぞれ自分のシステムの中で顧客IDを採番していて、会社として「この顧客はこのID」と決めた識別子がありません。電話番号で結合するのは、識別子の代わりを探しているだけです。本文の「このままでは同一顧客の EC サイトと店舗の購買実績をひも付けることができず」も、この点を指しています。
出題趣旨の言葉を当てはめると(当サイトの解釈)、(一)と(三)は表面的な技術課題、(二)はガバナンス上の課題です。チャネルをまたいだ顧客識別子を決めて管理するのは、どちらかの部門のシステムだけでは解決できず、組織としての決定が要るからです。
bを決める:一意性制約は「全員が入力している」を保証しない
(五)と(六)で迷った場合は、NULLの扱いを見ます。メールアドレスにも一意性制約がありますが、一意性制約が保証するのは「入っている値が重複しない」ことだけで、全件に値があることは保証しません。店舗会員データのメールアドレスはNULL許容で、実データにも未入力があります(表2の経済 次郎)。
メールアドレスで結合すると、メールアドレスを登録していない店舗会員は、ECサイトの購買実績とひも付きません。経営陣の要求は「優良顧客の特定」なので、店舗でよく買うのにメールアドレスを登録していない顧客を取りこぼすと、レポートの結論が変わるおそれがあります。
(四)の顧客IDは、aで「販売チャネル横断の顧客識別子として機能しない」としたものそのものです。それぞれのデータの中で一意でも、2つのデータの間で値が対応していません。
間違えやすいところ:本文の事実は全部正しい
aの誤答の候補(一)と(三)は、どちらも本文の事実を言い換えたものです。(一)も(三)も、書かれている内容は正しく、それが課題であることも間違いではありません。そのため、「本文に書いてあるか」で判断すると、どれも当てはまってしまいます。
判断の基準は「その課題を解消すれば、チャネル横断で顧客をひも付けられるようになるか」です。電話番号の形式を揃えても、メールアドレスを全員に入力してもらっても、2つのシステムが別々に顧客を管理している状態は変わりません。
時間をかけないコツ:先にbの候補を表で比べる
解く時間の目安は6分ほどです(当サイトの推測)。本文と表は長いですが、読む目的を「結合キーの候補を比べる」に絞ると、見る箇所は表1の3項目(顧客ID、電話番号、メールアドレス)と、プロファイリングの結果の段落だけになります。
bが(五)に決まると、残る解答群はイ・オ・クの3つです。そこでaを考えます。(一)は(五)の整形で解消されてしまうのでイが外れ、(三)は電話番号で結合するなら関係がなくなるのでクが外れます。
実務の目で見ると:暫定のキーには、ずれが残る
電話番号での結合は、あくまで暫定です。ECサイトの電話番号は「配送連絡用」、店舗会員の電話番号は「会員カード申込時」のもので、登録の経緯が違います。登録した時期もずれている可能性があり、その間に番号を変えた顧客は、同じ人でも一致しません。暫定のレポートには、ひも付かなかった件数を添えて、結果の確からしさを説明できるようにしておくのが安全です。
根本の対策は、チャネルをまたいだ顧客識別子を決め、それを各システムで共有することです(マスターデータの管理)。シラバス案(Ver.0.1)の科目Bの項目「1-2. データ間の関係と整合性の確認」は、データを識別して関連付けるキー項目を把握し、不整合がある場合の影響を説明するスキルを挙げています。この問題は、その判断を、データカタログと実データの両方を見て行う形で問うものです。
参考にした資料
独立行政法人情報処理推進機構(IPA)(確認)