【データサイエンス】アソシエーション分析、マーケットバスケット分析とは何か

AI/データサイエンス

今回は、マーケティングにおいてよく使われる商品分析手法であるアソシエーション分析(マーケットバスケット分析)について解説します。両者の定義についても本記事で解説しています。

スポンサーリンク

アソシエーション分析及びマーケットバスケット分析とは何か

アソシエーション(association)というのは英語で”関係性”とか”連想”という意味です。アソシエーション分析データマイニング、つまりデータから知見を引き出す手法の一つで、大量のデータから同一人物の行動間の関係性(どの行動とどの行動の組み合わせが多いか)を見出す分析手法です。

アソシエーション分析の対象は様々です。例えば以下の論文では北陸3県において観光の回遊について分析されています。

https://data.navitime.co.jp/pdf/monograph_20151121_01.pdf

マーケットバスケット分析とは、アソシエーション分析の一種であり、特に小売において活用されることが多い、どの商品とどの商品が同時に購入されるかを分析する手法です。今回の記事ではマーケットバスケット分析の例を出しながらアソシエーション分析について解説します。

有名なアソシエーション分析の例としては、父親がコンビニでおむつとビールを一緒に買うことが多いことを発見したという事例があります。アソシエーション分析によって一緒に購入される商品がわかれば、小売であればそれらの商品群をどこに配置するかを決める際の材料になりますし、音楽・メディアなどコンテンツの場合はユーザーにレコメンドする際の根拠になります。

アソシエーション分析の注意点

アソシエーション分析において重要なことの一つは、“矢印”がどこからどこに向かっているのかを常に注意する必要がある、ということです。

“コピー機を購入した人はコピー用紙も購入している”ということがわかった場合に、関係性の矢印はコピー機からコピー用紙に向かっています。この矢印を逆にして、“コピー用紙を買っている人はコピー機も購入している”とすることできません。コピー機を買う人が一緒に予備のコピー用紙を買うことはあっても、既にコピー機を持っている人がコピー用紙を買うついでにコピー機を購入することは考えにくいからです。

アソシエーション分析においては常に矢印が存在するので、矢印をよく理解して分析結果を読み解くことで、替え刃を買おうとしている人にシェーバー本体を勧めたり、シリーズ物の下巻を買おうとしている人に上巻を進めるようなレコメンドがなされてしまうことを回避しましょう。

スポンサーリンク

アソシエーション分析の手法について

では具体的に、アソシエーション分析の手法を紹介します。アソシエーション分析では信頼度支持度リフト値という3つの指標を使います。以下では、商品Aを購入した時の商品Bとの関係性(A=>B)を例に、それぞれ解説します。

信頼度(Confidence)

まずアソシエーション分析において最も重要な指標は、信頼度です。計算方法は以下の通りで、商品Aを購入した人が商品Bも同時に購入した確率です。信頼度が高いことは商品A購入者にとって商品Bの魅力が高いことを表します。以下の図例では10/20=0.5となります。

支持度(Support)

次の重要な指標は支持度です。計算方法は以下の通りで、全体の購入者の内、商品Aと商品Bを同時に購入した確率です。以下の図例では10/100=0.1となります。

支持度は、信頼度だけでは本当に重要な組み合わせかどうかを判断できないようなケースで役に立ちます

例えば商品Aが1つしか売れず、偶然同じ人物によって商品Bが購入された場合、信頼度は1/1=1となりますが、これだけでは本当に重要な組み合わせなのかどうかはわかりません。

自社の商品群における2つの商品の組み合わせの支持度を比較することで、支持度の大きい特定の2商品は全体の中でクロスセル(併売)が相対的に多いこと意味し、ビジネスへの重要度も高いことがわかるのです。

リフト(lift)

最後に紹介するのがリフト値です。計算方法は以下の通りで、今回の図例では0.5/0.6 = 0.83です。

分母に出てくる期待信頼度については、計算方法は以下の通りで、今回の図例では60/100=0.6です。全体の中で商品B(Aではない!)がどのくらい魅力的であるかを表します。

このリフト値及びその構成要素の期待信頼度が最も分かりにくい概念ですので、切り分けて考えてみましょう。まずはざっくりイメージですが、リフト値の分子は上述の信頼度ですので商品A購入者からみて商品Bがどのくらい魅力的かを表し、そして分母の期待信頼度も上述の通り全体の中で商品Bがどのくらい魅力的かを表しています。つまり、信頼度で測られる商品Bの魅力を、全体から見た商品Bの魅力で割ることで相対化しているのです。

これは何をしているのか。リフト値が低くなるようなケースを考えてみることで理解することができます。まずは以下の図例を使います。あるスーパーで商品A=たこわさびの購入者が10人、商品B=近年有料化されたビニール袋の購入者が80人、そのうち同時購入者が7人いるとします。この時、信頼度・支持度・リフト値は以下の通りです。

一方、商品A=たこわさびの購入者が10人、商品B=ビールの購入者が30人、そのうち同時購入者が7人だと、信頼度・支持度・リフト値は以下の通りです。

信頼度と支持度は同じですが、リフト値で大きく差が出ました。この結果に解釈を加えると、商品Aが何であるかに関わらず、ほとんどの人が購入する商品Bのビニール袋が比較対象の場合は、商品Aとの同時購入者が多く信頼度が高かったとしても、それを以て重要な組み合わせだと断言できません。それよりも、ビニール袋より相対的に全体における購入者の少ないビールの場合には、信頼度が高いことが、より組み合わせの重要性を示唆していると言えます。これがリフト値から解釈できることです。

アプリオリ(Apriori)について

最後に、実務でアソシエーション分析を進めるうえで有効なアルゴリズムであるアプリオリ(Apriori)について説明します。アプリオリは元々カントが使用したラテン語由来の哲学用語で、現在では”先天的・生得的な”という意味で使用されます。

データマイニングのアルゴリズムとしては、分析を実施する前の段階で商品同士の組み合わせを最適に減らす役割を果たします。アソシエーション分析を実施する企業では扱う商品数が多いこともあり、更にその中で商品同士の組み合わせすべてで信頼度・支持度・リフトを算出しようとすると、計算量が莫大になりえます。

そこでアプリオリのアルゴリズムでは、支持度など特定の指標に閾値を設け、その閾値以上の組み合わせのみ分析対象とすることで、計算コストを削減することができます。実務でpythonを使用する場合は、mlxtendというライブラリからaprioriをインポートすることで、支持度の高い商品を抽出することができます。

コメント

タイトルとURLをコピーしました