データサイエンス

2つのトランザクションデータを結合させる方法

こんにちは!ひよっこデータ分析官のyokochanです。

データ分析業務も慣れてきて、そろそろひよっこからニワトリになりそうかな、、というところで生えかけたトサカを折られる日々を送っています。

それはさておき、今回は2つのトランザクションデータの結合についてお話しします。

例えば、webショップの購買分析をするとします。

その場合分析したいことは、
「Twitterからアクセスした人はどれくらい購買しているのか?」
「購入した人のうちメルマガからアクセスした人はどれくらいいるのか?」
といったことが気になります。

そうすると、
「webショップに訪問したアクセス履歴」
「実際に商品を買った購買履歴」
の2つのトランザクションデータが重要になってきます。

しかし、これらをどうやって結び付ければいいのか。。

仮に「顧客ID」がわかって顧客の特定ができたとしても、サイトにアクセスを何回もすることもありますし、商品を複数回に分けて購入することもあります。

つまり「多対多」の結合になります。

これをそのまま結合してしまうと購買後のアクセスが購買と紐づくなどまったく関係ないアクセス履歴と購買履歴が紐づいてしまうことになりかねません。

アクセス履歴の例
購買履歴の例

どうするか?

考え方としては単純で「多対多」の関係を「1対多」「多対1」の関係になるように条件を絞ることがポイントです。

分析の基本にはなりますが、分析の目的によって条件の絞り方を変える必要があります。

上の例の「Twitterからアクセスした人はどれくらい購買しているのか?」で言えば、
アクセス履歴の条件を絞っていきます。

ただ、この場合でも「アクセス元=Twitter」の条件だけでは、Twitterから複数回アクセスがあれば一意に決まりません。

なので、さらに「日付の最小値」などで条件を絞ると一意に決まります。

もう一つの例の「購入した人のうちメルマガからアクセスした人はどれくらいいるのか?」で言えば、
購入履歴を「初回の購入」などの条件で絞るといいでしょう。

まとめ

簡単ではありますが、2つのトランザクションデータの結合について書いてみました。

今回の例に限らず、何かしらの複数のトランザクションデータを結合させる際は一意に決まるように「条件を絞る」ことがポイントです。

また、条件を絞る際はどのような定義で分析をするかが定まっていると絞りやすくなると思います。

それでは皆様よき分析ライフを。

 

yokochan
データ基盤構築やデータ可視化をやっています。 夏は沖縄の海、冬は北海道の山、年がら年中ももクロのライブ会場。