Webやアプリのグロース施策において、「A/Bテスト」では不十分な場面が増えています。複数の要素(ボタンの色、導線、テキストコピーなど)を同時に変化させて効果を検証する場合、多変量テスト(MVT)と重回帰分析が有効です。本記事では、ExcelやGoogleスプレッドシートを使って、実践的に施策効果と有意性を評価する手順を体系的に解説します。
1. 基本モデル:重回帰分析の構造
説明変数(X)はすべて 0/1 のダミー変数とし、目的変数(Y)は成果指標(CVR、売上など)とします。モデルは以下のように表現されます。
$$Y = \beta_0 + \beta_1X_1 + \beta_2X_2 + \dots + \beta_nX_n + \varepsilon$$
2. 係数βの求め方:擬似逆行列を使った最小二乗推定
最適な係数は次の式で導出します:
$$\hat{\beta} = (X^T X)^{-1} X^T y$$
これはExcelやGSSでもMMULT/MINVERSE/TRANSPOSE関数を組み合わせて実装できます。
=MMULT(MMULT(MINVERSE(MMULT(TRANSPOSE(X), X)), TRANSPOSE(X)), Y)
※ここで、X, YはA1:Z2のような配列の範囲。
3. 調整R²でモデルの説明力を評価する
通常のR²は説明変数が増えるほど大きくなるため、以下の「調整済みR²(Adjusted R²)」を用います。
$$R^2_{\text{adj}} = 1 – \left(1 – R^2\right) \cdot \frac{n – 1}{n – k – 1}$$
n
:サンプル数k
:説明変数の数(定数項除く)
Excel関数例:
TSS = SUMXMY2(Y_range, AVERAGE(Y_range))
SSR = SUMXMY2(Y_range, Predicted_Y_range)
R2 = 1 - SSR / TSS
Adjusted_R2 = 1 - (1 - R2) * (n - 1) / (n - k - 1)
✅ 各記号・関数の意味
📌 Y_range
これは、実測の目的変数(Y) の値を並べた範囲を指します。
たとえば、成約率や売上などの実際の観測データです。
- 例:
B2:B101
に実際のCVRが入っている場合 →Y_range = B2:B101
📌 Predicted_Y_range
これは、重回帰モデルによって予測されたY(= Yの推定値) の範囲を指します。
つまり、次のような回帰式で計算された値です:
$$\hat{Y}i = \hat{\beta}_0 + \hat{\beta}_1 X{i1} + \hat{\beta}2 X{i2} + \dots + \hat{\beta}n X{in}$$
- Excelでは、各行でこの式を展開し、列として並べた範囲
- 例:
C2:C101
に予測値が計算されているなら →Predicted_Y_range = C2:C101
また、「R² = 1 – SSR / TSS」は、実測値(Y)と予測値(Ŷ)との相関係数Rの二乗に一致します。
4. p値で各施策の有意性を判断
各係数に対して t検定を行い、次のステップでp値を算出します。
- 残差分散の推定:
$$\hat{\sigma}^2 = \frac{SSR}{n – k – 1}$$
- 各係数の標準誤差:
$$SE(\hat{\beta}j) = \sqrt{\hat{\sigma}^2 \cdot (X^T X)^{-1}{jj}}$$
- t値とp値:
$$t_j = \frac{\hat{\beta}_j}{SE_j}, \quad p_j = 2 \cdot (1 – T.DIST.ABS(|t_j|, df))$$
Excelでは:
=2 * (1 - T.DIST.2T(ABS(t), df))
✅ df(自由度)の定義:重回帰分析の場合
重回帰分析において、自由度 $df$ は次のように定義されます:
$$df = n – k – 1$$
- $n$:サンプル数(データの行数)
- $k$:説明変数の個数(定数項 $\beta_0$ は含めずに数える)
- 「−1」は切片(定数項 $\beta_0$)の分を引いている
✅ 具体例
たとえば:
- サンプル数(行数) $n = 100$
- 説明変数(0/1のダミー変数) $X_1, X_2, X_3$ の3つ → $k = 3$
であれば、
$$df = 100 – 3 – 1 = 96$$
5. 95%信頼区間で効果の幅を推定
$$\hat{\beta}j \pm t{(0.975, df)} \cdot SE_j$$
Excelでは:
=T.INV.2T(0.05, df) → tの境界値
信頼区間を可視化することで、施策のブレ幅を把握できます。
6. 交差項で相乗効果を分析
要素間の組み合わせによる効果(例:X₁とX₂の掛け算)を説明変数に追加することで、相乗効果を確認できます。
交差項 = X1_cell * X2_cell
重回帰分析に交差項を加え、係数とp値を確認すればよい。
7. 多重共線性の検出:VIF(分散拡大係数)
各変数 $X_j$ に対して、他の変数による回帰を行いR²を算出し、以下の式でVIFを求めます。
$$VIF_j = \frac{1}{1 – R_j^2}$$
- VIF > 10:強い多重共線性の疑いあり
- Excelでの検出には補助回帰分析が必要
8. 使用関数一覧(Excel/GSS)
機能 | 関数例 |
---|---|
行列積 | MMULT(A, B) |
転置 | TRANSPOSE(A) |
逆行列 | MINVERSE(A) |
T値 → p値 | T.DIST.2T(ABS(t), df) |
t値境界(信頼区間) | T.INV.2T(0.05, df) |
調整R² | 1 - (1 - R2) * (n - 1) / (n - k - 1) |
おわりに
多変量テストと重回帰分析は、複雑なUI/UX施策や複数要素の同時最適化に不可欠な技術です。ExcelやGoogleスプレッドシートでも十分に対応可能ですので、仮説検証・意思決定プロセスの精度向上にぜひ活用してください。