アソシエーション分析で解く購買パターンの秘密【ChatGPT統計解析】
アソシエーション分析は、マーケティングデータから商品の組み合わせパターンを検出するデータマイニング手法で、相関ルールや頻出アイテムが代表的な方法です。POSデータから有益な情報を見つけることが重要課題となっており、マーケットバスケットトランザクションを活用して取引データを分析します。アソシエーション分析の目的は、頻出するアイテムの組み合わせ規則を抽出し、興味深い結果を見つけることです。1990年代にIBMが開発したAprioriアルゴリズムは、巨大データベースから相関ルールを抽出し、データマイニングに貢献しました。相関ルールは「X⇒Y」の形式で表され、支持度、確信度、リフトといった評価指標で測定されます。Rパッケージのarulesでは、Aprioriアルゴリズムに基づく相関ルールを抽出でき、トランザクションデータの処理や分析が容易に行えます。
▼▼▼▼▼▼▼▼
チャンネル登録はこちら
アソシエーション分析
アソシエーション分析は、マーケティングの情報システムに蓄積されている販売や取引のデータから、興味ある規則、あるいは商品の組み合わせのパターンを検出するデータマイニングの方法で、2つの代表的な方法(相関ルール、頻出アイテム)があります。
POS(Point of Sales: 販売時点情報管理)データが獲得しやすくった昨今、重要な課題の1つは蓄積されたデータの中から有益な情報を見つけ出すことです。
POSデータをイメージしたデータをマーケット・バスケット・トランザクション(market basket transaction)と呼びます。各行をそれぞれ1つのトランザクション、あるいはバスケットと呼びます。
アソシエーション分析(associations analysis)は、百貨店や店舗で集めているトランザクションデータを活用するために、バスケットの中の商品間の関係について分析を行う方法です。
アソシエーション分析は、トランザクション(transaction、取引)データから、頻出するアイテムの組み合わせの規則を漏れなく抽出し、その中から興味深い結果を探し出すことを主な目的とします。
1990年代初めに、英国の有力百貨店マークス&スペンサーの店舗で集めたデータの活用に関して相談を受けたことをきっかけとして、アソシエーション分析のアルゴリズムApriori (アプリオリ)がIBM研究所で開発されたそうです。
Aprioriアルゴリズムは、巨大データベースから相関ルールを抽出することを実現し、データマインニングの実用化に向けて大きく一歩前進しました。
その後、このアルゴリズム改良した多くのアルゴリズムが登場しました。アソシエーション分析のアルゴリズムには、相関ルールを抽出するものと頻出アイテムセットを抽出するものがあります。
相関ルールとは
買い物をする際には、商品の何らかの組み合わせに関連性と規則性を持つケースが少なくありません。
トランザクションデータベースに頻出するアイテム間の何らかの組み合わせの規則を、アソシエーションルール(associations rules)と呼びます。
アソシエーションルールは、連関ルール、関連ルール、相関ルールなどと訳されていますが、より広く使われているのは相関ルールですので、相関ルールと呼ぶことにします。
相関ルールは、通常X⇒yの形式で表します。
ルールの「⇒」の左辺を条件部(antecedent: left-hand-sideまたはLHS)、右辺を結論部(consequent: right-hand-side またはRHS)と呼びます。
最も広く知られている相関ルールを抽出するアルゴリズムはAprioriです。
相関ルールの評価指標
データベースの中から相関ルールを抽出する際、何らかの評価指標が必要です。
多く用いられている指標としては、支持度(support)、確信度(confidence)、リフト(lift)があります。
データベースは、トランザクションの集合であり、各々のトランザクションは、アイテム集合の部分集合により構成されています。
つまり、任意のトランザクションは、アイテムの集合を持ち、かつ、その部分集合は空集合ではない.データベースから抽出されるアイテムの相関ルールX⇒yは、Xよ⊆任意の数、かつin y = 0です。
アイテム集合Xを含むトランザクションの数をXの支持度数と呼びます。
Rのパッケージarulesには、 Aprioriアルゴリズムに基づいた相関ルールを抽出する関数があります。
パッケージarulesはCRANミラーサイトからダウンロードできます。
パッケージarulesで扱うデータの形式は、基本的には質的データのdata、 frame、 tidLists、 dgCMatrix、 itemMatrix、 transaction、 matrix形式を直接・間接に扱います。
関数read.transactionsを用いて直接transaction形式に読み込むこともできます。
もちろん、データをmatrix形式に読み込み、 transaction、 itemMatrix形式に変換して用いることも可能です。
データを扱う際には、まずデータの概観を把握することが重要です。
パッケージarulesには、トランザクションデータのアイテムの頻度の棒グラフを作成する関数itemFrequencyがあります。
引数typeで、絶対度数、相対度数を指定することができます。
デフォルトは相対度数type=”relative”になっています。絶対度数のグラフの作成はできますが、アイテム数が多い場合は、引数supporを用いて度数が低いアイテムを削除することができます。
アソシエーション分析は、マーケティング分野におけるデータマイニングの一環として、POS(販売時点情報管理)データなどの販売や取引のデータから、商品の組み合わせやパターンを検出する手法として広く利用されています。この分析手法は、特に百貨店や小売業界において、顧客がどのような商品を一緒に購入しているかを明らかにし、販売戦略を最適化するための強力なツールです。アソシエーション分析には、代表的な方法として相関ルール(association rules)と頻出アイテムセット(frequent itemsets)の2つがあります。POSデータが普及した昨今では、膨大な取引データが蓄積される中で、いかにして有益な情報を抽出し、実際のビジネスに活用するかが重要な課題となっています。マーケット・バスケット・トランザクション(market basket transaction)とは、POSデータをイメージしたものであり、各トランザクションが顧客が一度の購入でカゴに入れた商品の集合を表しています。これにより、各行は1つの取引またはバスケットと呼ばれ、顧客の購買行動が反映されたデータとして扱われます。
アソシエーション分析は、このようなトランザクションデータを基に、商品の組み合わせパターンや、ある商品の購入が他の商品にどのように影響を与えるかを分析する方法です。この分析手法は、顧客が商品をどのように一緒に購入しているのかを理解するために用いられ、販売促進やクロスセル(関連商品を一緒に購入してもらうための施策)に役立ちます。例えば、顧客が頻繁に牛乳とパンを一緒に購入するパターンが検出された場合、この2つの商品を組み合わせたプロモーションを実施することで、売上の向上を図ることができるでしょう。このような頻出アイテムの組み合わせを見つけ出し、それに基づいて戦略を立てることがアソシエーション分析の主な目的です。
アソシエーション分析が発展した背景には、1990年代初頭に英国の有名百貨店であるマークス&スペンサーが関与しています。当時、同百貨店は店舗で集めた膨大なトランザクションデータを活用したいと考えていましたが、効果的な方法が見つかりませんでした。そこで、IBM研究所が協力し、このデータから有益な相関ルールを抽出するためのアルゴリズム「Apriori(アプリオリ)」が開発されました。Aprioriアルゴリズムは、巨大なデータベースから商品の相関ルールを効率的に抽出することを可能にし、データマイニングの実用化に大きく貢献しました。Aprioriは、データセットに含まれるアイテムセットの頻度を計算し、特定の条件を満たす頻出アイテムセットを見つけ出すことで相関ルールを導き出します。このアルゴリズムの登場により、アソシエーション分析の実行が現実的なものとなり、その後、多くのアルゴリズムが登場してさらに発展しました。
アソシエーション分析のアルゴリズムには、主に相関ルールを抽出するものと頻出アイテムセットを抽出するものの2種類があります。相関ルールとは、ある商品の購入が他の商品購入にどのように関連しているかを示す規則のことです。この規則は通常「X⇒Y」の形式で表され、Xが購入された場合にYが購入される可能性が高い、という関係性を示します。例えば、スナック菓子と飲み物がよく一緒に購入される場合、「スナック菓子⇒飲み物」という相関ルールが導き出されます。このようなルールを基に、店舗は特定の商品を組み合わせたプロモーションや販売戦略を立てることができます。
相関ルールを評価する際には、いくつかの重要な指標があります。まず、支持度(support)とは、データベース内で特定のアイテムセットが出現する頻度を示す指標です。支持度が高いほど、そのアイテムセットがトランザクションデータ内で頻繁に出現していることを意味します。次に、確信度(confidence)は、ある条件が満たされた場合に、その条件に基づいて結論が出される確率を示します。これは、Xが購入された場合にどの程度の確率でYも購入されるかを表すものです。最後に、リフト(lift)は、2つのアイテムが独立して購入される確率に対して、実際にどの程度一緒に購入されているかを示す指標であり、値が1を超えるとき、そのアイテム間には相関があるとされます。これらの指標を用いて、相関ルールの有効性を評価し、ビジネスに役立つ情報を抽出することが可能です。
データベースはトランザクションの集合であり、各トランザクションはアイテムの集合の一部で構成されています。任意のトランザクションは少なくとも1つのアイテムを含んでおり、このアイテムセットがアソシエーションルールを導き出す元になります。Rのパッケージ「arules」には、Aprioriアルゴリズムに基づいた相関ルールを抽出するための関数が含まれており、データマイニングに便利なツールが提供されています。パッケージ「arules」はCRANミラーサイトからダウンロードすることができ、データ形式は主に質的データを扱うためにdata.frame形式やtidLists、dgCMatrix、itemMatrix、transaction、matrix形式を扱います。データを直接「transaction」形式に読み込むこともできますし、「matrix」形式に変換して利用することも可能です。データの概観を把握するためには、まずはデータ全体を可視化することが重要であり、パッケージ「arules」にはトランザクションデータのアイテム頻度を棒グラフで示す関数「itemFrequency」も用意されています。この関数では、引数「type」を使って相対度数や絶対度数を指定することができ、デフォルトでは相対度数が指定されていますが、絶対度数を用いたグラフの作成も可能です。アイテム数が多い場合には、引数「support」を用いて度数の低いアイテムを削除し、グラフをすっきりとさせることもできます。
アソシエーション分析の応用範囲は広く、小売業や百貨店だけでなく、電子商取引(EC)やサブスクリプションビジネスなど、多くの業界で活用されています。特に、オンラインショッピングサイトでは、顧客がどのような商品を一緒に購入しているかを把握し、レコメンデーションシステムに組み込むことで、個々の顧客に最適な商品を提案することが可能です。例えば、Amazonでは「この商品を購入した人は、こんな商品も購入しています」というレコメンドが表示されますが、これもアソシエーション分析を基にしたものです。こうしたシステムは、顧客体験の向上や売上の拡大に大きく寄与しています。
さらに、アソシエーション分析は医療分野やバイオインフォマティクスにも応用されています。例えば、ある特定の薬を処方された患者が、他の特定の薬も処方される傾向があるかどうかを分析することで、薬の相互作用や治療効果を予測することができます。また、バイオインフォマティクスでは、遺伝子やタンパク質の相互作用を調べるためにアソシエーション分析が用いられることがあります。これにより、新しい治療法の開発や病気の原因解明に役立てられています。
関連記事