· HARUBOUYA · dataflow · 12 min read
会員データを店舗とECで1つにする手順
同じ人が店舗とECで別の会員として登録されています。統合のキーの選び方、名寄せの進め方、統合後に必ず壊れるレポートについて書きます。

店舗で入会した会員と、ECで登録した会員が別々に存在しています。同じ人なのに、購入履歴が2つに分かれています。
この状態では、顧客あたりの購入金額も、来店頻度も、実態より低く出ます。分析の精度以前に、事実と違う数字で意思決定しています。
統合は技術的には難しくありません。難しいのは、どこまでを同一人物と見なすかを決めることです。
問題:分かれたまま集計している
| 見ている数字 | 分かれているとどうなるか |
|---|---|
| 会員数 | 実際より多く出ます |
| 1人あたりの購入金額 | 実際より低く出ます |
| リピート率 | 実際より低く出ます |
| 新規/既存の比率 | 既存が新規として数えられます |
どの数字も「実態より悪い方向」にずれます。改善施策の効果も同じだけ薄く見えます。
統合のキーを決める
同一人物と判定する材料を決めます。1つでは足りません。
| キー | 一致の信頼度 | 問題 |
|---|---|---|
| 会員番号 | 高いです | 両方に付与されていれば苦労しません |
| 電話番号 | 高いです | 家族で共有、変更されます |
| メールアドレス | 中 | 複数所持、入力ミス |
| 氏名+生年月日 | 中 | 同姓同名、旧姓 |
| 氏名+住所 | 中 | 転居、表記ゆれ |
| クレジットカード情報 | — | 使いません。保持してはいけないです |
現実的な組み合わせは次の3段階です。
| 段階 | 条件 | 扱い |
|---|---|---|
| 確実 | 電話番号が完全一致 かつ 氏名が一致 | 自動で統合 |
| ほぼ確実 | メールアドレスが完全一致 | 自動で統合 |
| 要確認 | 氏名+生年月日が一致、電話が不一致 | 統合しません。候補として保留 |
迷ったら統合しません。誤って統合すると、他人の購入履歴が混ざります。分けたままなら、数字が低く出るだけで済みます。
表記ゆれの整え方
判定の前に、両側のデータを同じ形に揃えます。
| 項目 | 揃え方 |
|---|---|
| 氏名 | 全角・半角、姓名の間の空白を削除。カナは全角カタカナに統一 |
| 電話番号 | ハイフンと空白を削除。先頭の0を保持(文字列で扱います) |
| メールアドレス | 小文字に統一。前後の空白を削除 |
| 郵便番号 | ハイフンを削除。7桁に統一 |
| 生年月日 | 日付型に統一。和暦は西暦に変換 |
電話番号を数値型で扱わないでください。先頭の0が消え、一致しなくなります。
進め方
1. 両側のデータを別々のテーブルとして取り込む(元データは変更しない)
2. 表記を揃えた列を追加する(元の列は残す)
3. 判定ルールで候補を作る
4. 候補の件数を確認する
5. 統合用のID(共通ID)を発行する
6. 分析はこの共通IDで行う要点は、元のシステムのデータを書き換えないことです。統合は分析基盤の上だけで行い、店舗側・EC側のシステムはそのままにします。書き換えると、戻せなくなります。
統合表の形
| 共通ID | 元のシステム | 元のID | 判定に使ったキー | 判定日 |
|---|---|---|---|---|
| U000001 | 店舗 | S-12345 | 電話+氏名 | 2025-08-01 |
| U000001 | EC | E-98765 | 電話+氏名 | 2025-08-01 |
判定に使ったキーを残します。後から「なぜこの2件が同一人物なのか」を説明できる状態にしておきます。
統合したあとに壊れるもの
ここを想定していないと、統合の直後に混乱します。
| 壊れるもの | 何が起きるか | 対処 |
|---|---|---|
| 会員数のレポート | 数が減ります | 減った理由を先に周知します |
| 過去との比較 | 統合前後で不連続になります | 過去分も同じルールで再計算します |
| リピート率 | 上がります | 定義の変更として説明します |
| 顧客リストの件数 | 配信対象が減ります | 配信設定を見直します |
| 重複除外の集計 | ルールが二重になります | 統合後のIDに一本化します |
会員数が減ることを、事前に関係部署へ伝えます。何も言わずに数字が減ると、集計ミスを疑われます。
個人情報の扱い
| やること | 内容 |
|---|---|
| 利用目的の確認 | 統合して分析することが、取得時の利用目的に含まれるか |
| 保持する項目の最小化 | 判定に使わない項目は分析基盤に持ち込みません |
| 権限の設定 | 氏名・連絡先が見える人を限定します |
| 判定結果の保存 | 統合の根拠を記録し、取り消せるようにします |
取得時の利用目的を先に確認します。技術的にできることと、してよいことは別です。
やること
手順1. 重複の規模を先に数える
統合の前に、どのくらい重なっているかを数えます。
-- 電話番号が両方に存在する件数
SELECT COUNT(DISTINCT phone_normalized)
FROM store_members
WHERE phone_normalized IN (
SELECT phone_normalized FROM ec_members
)重複が1%なら、統合の優先度は低いです。20%あるなら効果は大きいです。数えてから着手を決めます。
手順2. 100件だけ目で確認する
自動判定の結果から100件を抜き出し、本当に同一人物かを目で見ます。誤判定が1件でもあれば、ルールを緩めすぎています。
手順3. 保留した候補の扱いを決める
「要確認」に落ちた候補は、放置すると永遠に残ります。
| 対応 | 進め方 |
|---|---|
| 店舗で確認します | 次回来店時に会員情報の更新を案内します |
| ECで確認します | ログイン時に登録情報の確認を促します |
| 統合しません | 件数を把握したうえで、そのままにします |
手順4. 定期実行にする
新しい会員は毎日増えます。判定を月1回など定期的に回します。初回だけで終わらせると、半年で元に戻ります。
失敗例
| 失敗 | 何が起きるか | 代わりにやること |
|---|---|---|
| 元のシステムのデータを書き換えます | 誤統合を戻せません | 分析基盤の上だけで統合します |
| 電話番号を数値型で扱います | 先頭の0が消えて一致しません | 文字列で扱います |
| ルールを緩くして統合率を上げます | 他人の履歴が混ざります | 迷ったら統合しません |
| 判定の根拠を残しません | 後から説明できません | 使ったキーと日付を記録します |
| 会員数が減ることを伝えません | 集計ミスを疑われます | 事前に周知します |
| 過去分を再計算しません | 統合前後で数字が不連続になります | 同じルールで過去も計算します |
| 初回だけで終わります | 半年で元の状態に戻ります | 定期実行にします |
まとめ
- 分かれたままだと、どの数字も実態より悪い方向にずれます
- 判定は3段階に分け、「要確認」は統合しません。誤統合は戻せません
- 表記を揃えてから判定します。電話番号は文字列で扱います
- 元のシステムは書き換えず、分析基盤の上だけで統合します
- 判定に使ったキーを残します。後から説明できる状態にしておきます
- 統合すると会員数が減ります。事前に関係部署へ伝えます
- 取得時の利用目的に、統合して分析することが含まれるかを先に確認します
- 月1回など定期実行にします。初回だけでは半年で元に戻ります
最初にやることは、重複がどのくらいあるかを数えることです。1%なら後回しでよく、20%あれば最優先になります。
参考になったら、いいねを押してください。





