概要
購買データから、同時に購入される商品の傾向を分析することを、
マーケットバスケット分析(ショッピングバスケット分析とも呼ばれる。以下バスケット分析)
と呼びます。アソシエーション分析の一種です。
バスケット分析では、
「商品Aを買うときは、商品Bを買う」といった同時購買のルールを見出すことが求められます。
以下では、
「商品Aを買う」(条件部)とき、「商品Bを買う」(結論部)
というルールを
A=>B
という記号で表現します。
「商品Aを買うときは、商品Bを買う」というパターンが発見されたら、
レコメンデーションで使うことができます。
ここでは、まず、
レコメンデーションに用いられる3つの指標をまとめたいと思います。
3つの重要な指標
3つの重要な指標について説明します。
- Support(支持度): 同時確率
- Confidence(信頼度): 条件付き確率
- Lift(リフト): 改善率
Support(支持度)
A=>BのSupport(支持度)
とは、
すべてのトランザクションに占める商品A
,B
が同時に購入されたトランザクションの割合を指します。
A=>BのSupport(支持度) : AとBの同時購買回数 / 全トランザクション数
と定義します。
具体的には、
全購買件数が5件あり、
商品Aと商品Bを購入した回数が2回であれば、
A=>BのSupport(支持度) : 2 / 5 = 0.4
となります。
Support(支持度)の高いルールは良いルールと言えます。
なお、
A=>BのSupport(支持度)
と
B=>AのSupport(支持度)
は、等しくなります。
Confidence(信頼度)
A=>BのConfidence(信頼度)
とは、
商品Aを買ったトランザクションに占める、
Bが同時に購入されたトランザクションの割合、
つまり条件付き確率を指します。
A=>BのConfidence(信頼度) : AとBの同時購買回数 / Aの購買回数
B=>AのConfidence(信頼度) : AとBの同時購買回数 / Bの購買回数
と定義します。
具体的には、
商品Aを購入したトランザクションが3件、
商品Bを購入したトランザクションが2件、
商品Aと商品Bを同時購入したトランザクションが2件であれば、
A=>BのConfidence(信頼度) : 2 / 3
B=>AのConfidence(信頼度) : 2 / 2
となります。
Confidence(信頼度)の高いルールは良いルールと言えます。
なお、
A=>BのConfidence(信頼度)
と
B=>AのConfidence(信頼度)
は、基本的に異なります。
つまり、方向性によっては、レコメンデーションの意味をなさないときがありますので、注意が必要です。
例)髭剃り本体を買った人に替え刃をレコメンドできるが、替え刃を買った人に髭剃り本体をリコメンドしても意味がない(当然もっているはず)
Lift(リフト)
A=>BのLift(リフト)
とは、
A=>BのSupport(支持度)
を、
AとBが独立と仮定したときの購買確率で割った値を指します。
Aの購買確率 : Aの購買回数 / 全トランザクション数
Bの購買確率 : Bの購買回数 / 全トランザクション数
A=>BのLift(リフト) : A=>BのSupport(支持度) / Aの購買確率 * Bの購買確率
別の定義で表現すれば、
A=>BのConfidence(信頼度)
を、
Bの購買確率で割った値を指します。
A=>BのLift(リフト) : A=>BのConfidence(信頼度) / Bの購買確率
要するに、
Aの購入によってどれぐらい確率が持ち上げ(Lift)られているか?
という指標です。
A=>BのLift(リフト)値
が 1
を越えているかが、有効なルールの判断基準と言えます。
具体的には、
全トランザクションが5件あり、
商品Aを購入したトランザクションが3件、
商品Bを購入したトランザクションが2件であれば、
Aの購入確率 : 3 / 5
Bの購入確率 : 2 / 5
であり、
商品Aと商品Bを同時購入したトランザクションが2件であれば、
A=>BのSupport(支持度) : 2 / 5
A=>BのConfidence(信頼度) : 2 / 3
であり、
A=>BのLift(リフト) : A=>BのSupport(支持度) / Aの購買確率 * Bの購買確率 = (2 / 5) / (3 / 5) * (2 / 5) = 5 / 3 > 1
または、
A=>BのLift(リフト) : A=>BのConfidence(信頼度) / Bの購買確率 = (2 / 3) / (2 / 5) = 5 / 3 > 1
であり、
この例では、
A=>BのLift(リフト)値
が 1
を超えているので、
同時購入されやすいと言えます。
逆に、
A=>BのLift(リフト)値
が 1
以下ならば、
同時購入されにくいと言えます。
以上、
3つの重要な指標について説明しました。
- Support(支持度): 同時確率
- Confidence(信頼度): 条件付き確率
- Lift(リフト): 改善率