- 2017.04.21
- 株式会社システムインテグレータ
名寄せとは
名寄せとは、データの中から「同じ人」を紐付ける処理です。例えば、ECで購入した顧客と店舗の顧客データを「名寄せ」すると、それぞれ別のIDの顧客が「同じ人」であることがわかります。名寄せに使う項目には、次のようなものがあります。
- 顧客ID
- 姓名
- 姓名かな
- (性別)
- 住所
- 会社
- 生年月日
- 電話番号(複数)
- メールアドレス(複数)
刑事ドラマなどで、現場から採取した指紋をもとにデータ照合すると「同じ人物である確率(一致率)は94.8%」というように信頼度が表示されます。名寄せも同じように「同一人物である可能性=信頼度」があります。
例えば、顧客IDが一致、姓名と住所と生年月日が一致、姓名と電話番号が一致、などは信頼度A。姓は違っているが名と住所と生年月日とメールアドレスが同じなら信頼度Bという感じで、一致する項目に応じて信頼度が異なるのです。
なお、電話番号やメールアドレスは1人が複数持っている時代ですので、”いずれかが一致”していたら、一致扱いにするという総当たりマッチングになります。また、性別は実はあまり名寄せには使いません。
クレンジングとは
異なるデータの各項目を比較して「同じ人」かどうかを判断するのが名寄せなのですが、格納されているデータに”揺れ”があると一致とみなされません。例えば、データAの電話番号には(090)1234-5678と入っていて、データBの方は09012345678と入っていると、2つの文字列を比較しても”不一致”となります。
そのため、名寄せ処理の前にデータを比較しやすい形式にそろえてからマッチングします。例えば、この電話番号の場合は、「カッコやハイフンを除去して、数字をすべて半角にそろえる」という処理を両方のデータに対して行い、処理後のデータ同士をマッチングします。このようにマッチングしやすいようにデータの様式をそろえる変換処理のことをクレンジングと呼びます。
オムニチャネル時代の名寄せサービスの特徴
以前は、複数のデータを業者に提供し、名寄せ処理結果を返してもらうワンオーダー型が主流でした。ECの顧客と店舗の会員を一元化して統合IDを発行する、企業を買収した際にお互いの顧客情報を一元化する、メディアごとにばらばらのIDだったものを新しい統一IDに切り替える、そんなときに一回こっきり名寄せを行うというケースです
最近は、こうしたワンオーダー依頼型ではなく、ユーザー自身が自分で名寄せを行えるクラウドサービス型のニーズが高くなっています。
(1)自分で名寄せを実施
オムニチャネルやトリプルメディアというキーワードが飛び交う時代となり、これまでの”顧客”だけでなく、もっと幅広い”潜在顧客”も対象にしたOne to Oneマーケティングのニーズが強まっています。例えば、メルマガ購読者やクーポン取得者、アンケート回答者、景品応募者、サンプル品申込者、展示会来場者、ファンクラブ、品評会参加者など、さまざまなイベントやプロモーションで集めた顧客情報には、氏名や住所、電話番号、メールアドレスなど名寄せに必要な情報が含まれています。
こうした情報の多くは顧客IDはなく、顧客情報の項目も様式も異なります。媒体もデータであったり、Excelであったり、時には紙媒体のままということもあります。これらのデータを取り込んで、統合顧客情報に追加することにより、今まで以上に顧客の姿が見えてくるのです。
企業は顧客獲得や顧客満足度向上のために、実に様々なイベントを行っています。トータルすると年間100回以上イベントやプロモーションを行っている企業もざらにあります。そのため、イベントで獲得した顧客情報を活用するには、いちいち業者に持ち込んで名寄せしてもらう方式では回りません。自ら簡単に名寄せできる安価なセルフサービス型が求められているのです。
(2)クラウドサービス
これまでの名寄せは主要な顧客情報を統合するものだったので、それぞれのデータに個別の顧客IDが存在していました。顧客を統合した後は新しい統合顧客IDを発行し、以降はユーザーにも統合顧客IDを使ってもらう(もしくは古い顧客IDでログインした際にバックで自動的に新しい統合顧客IDと紐付いている)運用になります。
一方、顧客イベントやプロモーションで獲得した顧客情報には顧客IDのないものが多く、イベントやプロモーションをやるたびに獲得した顧客情報を名寄せして紐づける必要があります。そのため1回こっきりのワンオーダー型ではなく、継続的に利用できるクラウドサービス型が利用されるようになりました。
名寄せ処理の流れ
図9は名寄せ処理のフローを示したものです。①名寄せ処理の対象となるデータ(顧客情報A)を取込、②クレンジングでデータ様式を統一した上で、③名寄せルールに基づいて名寄せを行います。④名寄せ結果で信頼度の低いものは人が判断し、⑤名寄せ結果を出力します。
図9:名寄せ処理フロー
(1) データ取込み
さまざまなデータ形式の顧客情報を取り込むためには、データのマッピングを定義できるEAIツールが必要となります。EAIツールでは、データマッピング、データ変換、取込処理などを行います。
(2)クレンジング
名寄せ対象となる顧客データの種類が増えるにつれ、クレンジング処理をいちいとプログラミングしているわけにはいかなくなりました。そのため、クレンジング処理に必要な「クレンジング関数」を用意して、簡単にクレンジングルールを定義する方式が取られています。
例えば、次の二つのクレンジング関数を組み合わせたクレンジングルール「姓名」を定義すると、”三の宮みどり子”と”三ノ宮みどり子”のように入力に”揺れ”があったとしても同じ姓名だと判定することができます。
(クレンジング関数の例)
sc_trim()・・・前後のスペース(半角および全角)を除去する
sc_conv()・・・数値やアルファベットを半角小文字にし、かな・カナを全角カナに変換する
(クレンジングルールの例)
sc_conv(sc_trim(姓)) + sc_conv(sc_trim(名)) ⇒ 姓名
(クレンジング処理結果)
| 処理前 | 処理後 | ||
| 姓 | 三の宮 |
姓名 |
三ノ宮ミドリ子 |
| 名 | みどり子 | ||
(3)名寄せ
名寄せルールに基づいて、2つのデータのマッチングを行います。名寄せルールは複数登録し、適用順の順番で処理していきます。例えば次のような登録をした場合、最初に「姓名&メールアドレス」の一致を判定して一致していたならば「信頼度A」で名寄せされます。
一致しない場合は、適用順2の「姓名&電話番号」の一致を判定し、これも一致しない場合は適用順3の「メールアドレス&電話番号」が比較されるという具合です。
| 適用順 | 信頼度 | ルール名称 | 内容 |
| 1 | A | 姓名&メールアドレス
…メルアドのどれかが同じ場合、姓名が一致したら確定 | SC統合顧客.CL姓名 = CL顧客A.CL姓名
SC統合顧客.CLメールアドレス(m,n) = CL顧客A.CLメールアドレス |
| 2 | A | 姓名&電話番号
…電話番号のどれかが同じ場合、姓名が一致したら確定 | SC統合顧客.CL姓名 = CL顧客A.CL姓名
SC統合顧客.CL電話番号(m,n) = CL顧客A.CL電話番号 |
| 3 | B | メールアドレス&電話番号
…姓名が違っていても、メルアドと電話番号が一致 | SC統合顧客.CLメールアドレス(m,n) = CL顧客A.CLメールアドレス
SC統合顧客.CL電話番号(m,n) = CL顧客A.CL電話番号 |
表:名寄せルールの例
各ルールには信頼度を設定します。例えば、信頼度Aはドンピシャ一致ということでいちいち人が確認しません。信頼度BやCの場合は人間が他の情報も見比べて同じ人かどうかを判断することになります。
(4)結果管理画面
名寄せ処理(バッチ処理)の結果を確認し、そこからドリルダウンして信頼度BやCに紐付いた”判定待ち”データを判定してゆきます。判定処理をしてゆくと実にいろいろな関係が分かっていきます。例えば
- 姓が違うけれど、名とメールアドレスが一致・・・結婚(もしくは離婚して姓が変わった)。
- 姓と住所が同じ・・・家族
- 姓と住所、生年月日が同じ・・・双子
というような具合です。購買情報と組み合わせてみると、まず娘さんが買って、その後でお母さんも同じものを買ったり、最初は店舗で買った後で同じシリーズをネットで3個も買っていたりなど、購買シーンが浮かぶようなケースもあります。
同一人物が、景品応募のためにフリーのメールアドレスを100個も取得して100回応募しているような状況だったり、お母さんが娘の生年月日を使っていたりなど、名寄せをしてみると面白いデータにたくさん出くわします。
(5)結果出力
名寄せで同一人物と判定されたデータには、紐付き情報が付加されます。これを外部出力して既存システムにセットすれば、以降は同一人物として取り扱うことができるようになります。