サンプルデータの準備
今回は、とあるイタリアンレストランの1ヶ月分のレシートデータ(100件)を用意しました。まずはこのデータをダウンロード(またはコピー)してExcelに貼り付けるところからスタートします。
データは「取引ID」と「商品名」が縦に並んだシンプルなリスト形式です。
サンプルデータをコピー
ピボットテーブルで「買い物かご」をマトリックス化する
いきなり数式を書くのではなく、まずは「どのレシートで何が買われたか」を視覚的にわかりやすくします。データ領域を選択し、挿入 タブから ピボットテーブル を作成します。
フィールドリストを以下のように設定します。
- 行: 取引ID
- 列: 商品名
- 値: 商品名(「データの個数」で集計)
これで、行が「1枚のレシート」、列が「各メニュー」となり、買われた場所に「1」が立つマトリックス表(クロス集計表)が完成します。
指標の計算(まずは1ペアだけで理論を体験)
ピボットテーブルの横の空きスペース(例:O列)を使って、「赤ワイン」と「生ハム」が何回同時に買われたかを COUNTIFS 関数で計算してみます。
例えば「赤ワイン(I列)」と「生ハム(H列)」の同時購入数を出すには、以下の式を使います(「1」の数を数えます)。
- O3=COUNTIFS(I5:I104,1,H5:H104,1)
つづいて、割り算で3つの指標を求めます。
- 支持度: 同時購入数 ÷ 全体の取引数(レシートの枚数)
- 確信度: 同時購入数 ÷ 赤ワインの購入数
- リフト値: 確信度 ÷ (生ハムの購入数 ÷ 全体の取引数)
- O4=O3/100
- O5=O3/GETPIVOTDATA("商品名",$A$3,"商品名","赤ワイン")
- O6=O5/(GETPIVOTDATA("商品名",$A$3,"商品名","生ハム")/100)
計算の結果、赤ワインと生ハムの組み合わせはリフト値が「1.0」を大きく超える値になるはずです。これは偶然ではなく、強い相関(絆)がある証拠です。
AYAKO
できた!リフト値がすごく高いから、この2つはセットでアピールすれば売れそうだね!
HARUKA
正解。でも綾っち、今回の商品は8種類。全組み合わせは「28通り」あるね。これを全部手入力でCOUNTIFSの参照先を変えて計算するの?
AYAKO
えっ……。それは苦行すぎるよ、指が折れちゃう!