🈴

Excelでできる!コンジョイント分析#3 – 購買確率シミュレーション編

に公開

本記事はコンジョイント分析連載の第3回です。

第1回 PythonでパパッとL9直交表作成してコンジョイント分析#1 – 準備編
第2回 PythonでL9直交表を使ったコンジョイント分析#2 – 効用値計算編
第3回 Excelでできる!コンジョイント分析#3 – 購買確率シミュレーション編 ← 今回
第4回 Python でコンジョイント分析#4 - 購買確率 Streamlit編 ← 次回予定


📌はじめに

前回は、選択肢ごとの属性情報をもとにコンジョイント分析を行い、
各水準の効用値(part-worth)を推定しました。

🔗 前回の記事はこちら

❓効用値とは❓

ユーザーがどの属性をどれだけ好むかを数値で表したもので、
製品設計やマーケティングの判断に役立つ指標です。


今回は、推定された効用値を活用して
購買確率(選択確率)を計算する方法を紹介します。

ある製品構成をユーザーに提示したとき、
それがどの程度選ばれそうかを確率として求めることで、
ユーザーの好みを見える化できます。

また、ある属性を変更した場合に購買確率がどう変わるかを試す
シミュレーション分析も可能です。


📌サンプルデータ

前回の記事で作成した 効用値_ID別.csv をそのまま使用します。

内容
A列 ユーザーごとのユニークID 001, 002, …
B列 ユーザーが現在使っているOSやブランド情報 iPhone 43人、Android 26人、Galaxy M51 22人
C列~N列 各属性の水準ごとの効用値 -

このファイルに含まれる効用値と分析対象となる製品構成を組み合わせることで、
各ユーザーがその構成をどれくらい好むか(=購買確率) を計算できます。

📌線形補間(linear interpolation)

属性の水準は便宜的に丸めていますが、より細かいスペック(例:7インチなど)を分析したい場合もあります。

このときは、分析対象としたいスペック値を用意し、対応する効用値を線形補間(linear interpolation) で推定します。

まずは 効用値_ID別.csv を開き、
補完対象となるスペックごとに新しい列を追加し、効用値を線形補間で算出していきます。

❓線形補間(linear interpolation)とは❓

2つの既知の値の間を直線でつなぎ、その間の値を推定する方法です。

たとえば、5500mAh の効用値を知りたい場合
・ 4500mAh → 効用値 1.0
・ 6500mAh → 効用値 2.0
5500mAh はちょうど中間なので、効用値は 1.5 と計算できます。


1. バッテリーの補間

  • G列: 4000mAh 列を追加
G3セル : `=(H3-F3)*(4000-3000)/(4500-3000)+F3`
  • I列: 5000mAh 列を追加
I3セル: =(J3-H3)*(5000-4500)/(6500-4500)+H3
  • K列: 7000mAh 列を追加(外挿)
K3セル: =H3+(7000-4500)*(J3-H3)/(6500-4500)
❓ケース別の補完方法❓
状況 方法 説明 注意点
不明な値が2つの既知値の「間」にある 線形補間(内挿) 中間を直線的に補う 最も安定で信頼性が高い
不明な値が「端」にある(前後) 線形外挿 外側に向かって直線的に推定 外れ値の影響を受けやすいので注意

2. 画面サイズの補間

  • O列: 7.5インチ 列を追加
O3セル: =M3+(7.5-6.8)*(N3-M3)/(6.8-6)

3. 金額の補間

  • P列: 4万円 列を追加
P3セル: =Q3+(4-6)*(S3-Q3)/(12-6)
  • R列: 10万円 列を追加
R3セル: =(S3-Q3)*(10-6)/(13-6)+Q3
  • T列: 16万円 列を追加
T3セル: =(U3-S3)*(16-13)/(24-13)+S3

4. すべてのセルに関数を適用します


補間式を各セルにコピーして、すべてのIDに対して効用値を自動計算できるようにします。


📌購買確率を計算します

下記の条件で効用値を合計します。

1. 効用値の合計

  • V列: iPhone 効用値合計 列を追加
V3セル: =E3+G3+M3+T3
  • W列: Android 効用値合計 列を追加
W3セル: =C3+I3+M3+U3
  • X列: Galaxy M51 効用値合計 列を追加
X3セル: =D3+K3+N3+P3

2. 購買確率の計算(ロジットモデル)

ロジットモデルの式を使って、各製品の購買確率を計算します。

  • Y列: iPhone 購買確率 列を追加
Y3セル: =EXP(V3)/(EXP($V3)+EXP($W3)+EXP($X3))
  • Z列: Android 購買確率 列を追加
Z3セル: =EXP(W3)/(EXP($V3)+EXP($W3)+EXP($X3))
  • AA列: Galaxy M51 購買確率 列を追加
AA3セル: =EXP(X3)/(EXP($V3)+EXP($W3)+EXP($X3))
❓ロジットモデルの式とは❓

いくつかの選択肢の中で、どれが選ばれやすいか を確率で表す方法です。

各選択肢に効用値という点数をつけ、点数が高いほどその選択肢が好まれていることを意味します。
Excelでは EXP() 関数を使います。


すべてのセルに同様に適用します。


3. OS(ブランド)ごとの購買確率平均

=AVERAGE() 関数を使って、OS(ブランド)別の購買確率の平均を計算しました。
結果を棒グラフで可視化しています。

iPhone   : =AVERAGE(Y3:Y92)
Android  : =AVERAGE(Z3:Z92)
Galaxy M51: =AVERAGE(AA3:AA92)


📌Androidのスペックを変えて購買確率を計算します

Androidのバッテリー・画面サイズ・金額を変更して計算します。

スペック変更後の効用値合計と購買確率の計算

1. 効用値合計と購買確率の計算

  • AB列:iPhone 効用値合計 列を追加
AB3セル: =E3+G3+M3+T3
  • AC列:Android 効用値合計 列を追加
AC3セル: =C3+K3+N3+S3
  • AD列:Galaxy M51 効用値合計 列を追加
AD3セル: =D3+K3+N3+P3
  • AE列:iPhone 購買確率 列を追加
AE3セル: =EXP(AB3)/(EXP($AB3)+EXP($AC3)+EXP($AD3))
  • AF列:Android 購買確率 列を追加
AF3セル: =EXP(AC3)/(EXP($AB3)+EXP($AC3)+EXP($AD3))
  • AG列:Galaxy M51 購買確率 列を追加
AG3セル: =EXP(AD3)/(EXP($AB3)+EXP($AC3)+EXP($AD3))

すべてのセルに同様に適用します。


2. 購買確率の平均と可視化

=AVERAGE()関数を使い、OS(ブランド)ごとに購買確率の平均を計算しました。


📌マーケティング戦略 × 製品設計 への応用

今回ご紹介した「効用値」や「購買確率」の考え方は、
マーケティング施策にも 製品設計にも役立ちます。


✅ 売れやすいスペック構成を考える

バッテリー容量、画面サイズ、価格など、
ユーザーにとって魅力的な組み合わせを 数値で比較できます。

例:「バッテリーを5000mAh → 6500mAhに変更すると、Androidの購買確率が +15%」
→ コストと相談しながら、売れやすい製品設計ができます。


✅ ターゲットに刺さる訴求ポイントを見つける

ユーザーの選好を分析することで、誰に何をアピールすべきかが見えてきます。

例:「Aさんは価格重視」「Bさんは画面サイズ重視」
→ 広告文や販促資料をパーソナライズ可能に。


✅ 競合製品と自社製品を定量的に比較する

「この条件なら自社製品が有利」「価格を1万円下げれば逆転」など、
価格戦略やキャンペーン設計にもデータで根拠が持てます。


✅ 製品企画や販売戦略の“数字の裏付け”に

社内の意思決定やプレゼンでも、「感覚」ではなく
数値に基づいた説得力ある議論が可能になります。


まとめ

コンジョイント分析で得られた ID別の効用値をさらに活用すると、
クラスタリングによって グループごとの選好傾向 を数値で把握できます。

  • このセグメントは 価格よりも性能を重視している
  • このセグメントは ブランドに強いこだわりがある

こうした情報をもとに、

このセグメントには
Aプラン(高性能・高価格)が有効!

といった、パーソナライズされたマーケティング戦略や製品設計にも応用できます。

次回は、この分析を UI化(ツール化) して、
誰でも簡単にシミュレーションできるようにする方法を解説します。

https://zenn.dev/swatchp/articles/18c4615a44fa26

Discussion