🧪 ABテスト有意差判定
A/Bそれぞれの「訪問数」と「CV数(コンバージョン数)」を入れるだけで、その差が偶然の範囲なのか、本当に意味のある差なのかを判定します。 頻度論のz検定(p値)と、ベイズ推定による「BがAに勝つ確率」の両方を計算するので、 「p値が0.06だったけどどうしよう」というときの判断材料にもなります。
サンプル値で試す
データの入力
判定
有意差あり。B(新パターン)が優れていると判断してよい水準です(p = 0.0355、Bの勝率 98.2%)。観測された相対改善率は +30.0% です。
CVRの比較
※ 帯の中の縦線と横線は95%信頼区間(Wilsonスコア区間)です。AとBの区間が大きく重なっているうちは、差があるとは言い切れません。
詳細な数値
| AのCVR | 10.00% |
| BのCVR | 13.00% |
| CVR差(B − A) | +3.00pt |
| 相対改善率 | +30.0% |
| z値(両側検定) | 2.1027 |
| p値(両側) | 0.0355 |
| χ²値(自由度1) | 4.4215 |
| χ²検定のp値 | 0.0355 |
| ベイズ勝率(BがAに勝つ確率) | 98.2% |
| ベイズ推定の相対改善率(期待値) | +30.9% |
| いま検出できる最小の相対差 | ±40.0% |
| この差の確定に必要な訪問数(各群) | 1,772件 |
※ χ²値は2×2分割表・イェーツ補正なしで計算しているため、z値の2乗と一致します(4.4215)。 ベイズ側はBeta(1,1)(無情報事前分布)を事前分布とし、事後分布Beta(CV数+1, 非CV数+1)を数値積分しています。
統計の読み方(ここ大事です)
p値の正確な意味は「AとBに本当は差がないと仮定したとき、今回観測されたのと同じかそれ以上に極端な差が偶然に出てしまう確率」です。 p = 0.03 は「Bが勝つ確率が97%」という意味ではありませんし、「差がない確率が3%」でもありません。 「Bが勝つ確率」を知りたい場合は、このページのベイズ勝率のほうを見てください。そちらは事前分布を置いたうえでの、文字どおりの確率です。
有意差が出ないのは「差がない」場合と「差はあるがサンプルが足りず見えていない」場合の両方で起こります。 このツールでは後者を「データ不足」として区別し、いま何%以上の差なら検出できるのか(最小検出可能効果)も表示しています。
テスト期間中に毎日p値を確認して「p < 0.05 になった瞬間にテストを終了する」というやり方は、 本当は差がなくても有意差が出てしまう確率を大幅に押し上げます(覗き見問題/逐次検定の問題)。 実際、この方法だと第一種の過誤率は5%どころか20〜40%に達することがあります。先に必要サンプルサイズを決めて、そこに到達するまで結論を出さないのが基本です。
3パターン、5パターンと同時に比較したり、「全体では差がないがスマホユーザーだけ見ると差がある」といったセグメント分割を後から何度も試すと、 どこかで偶然に p < 0.05 が出ます(多重比較の問題)。比較の数だけ有意水準を厳しくする(ボンフェローニ補正なら 0.05 ÷ 比較数)か、 見る指標とセグメントをテスト開始前に決めておいてください。
平日と休日でCVRが違うサービスは多いので、テスト期間は最低でも1週間(できれば2週間)の倍数で区切るのが無難です。 また、キャンペーンやメディア掲載など外部要因が挟まると、統計以前にデータの前提が崩れます。
必要サンプルサイズ計算機
テストを始める前に「どれくらいアクセスを集めれば判定できるのか」を確認しておきましょう。 現在のCVRと、検出したい改善幅(相対リフト)を入れると、各パターンに必要な訪問数が出ます。
※ 正規近似による標準式 n = (zα/2 + zβ)² × ( p₁(1−p₁) + p₂(1−p₂) ) ÷ (p₂ − p₁)² を使っています。 相対リフトを小さくすると必要な訪問数は急激に増える(おおよそ二乗で効く)ので、まずは「これだけ改善しないと意味がない」という水準を決めるのが現実的です。
※ 入力内容はすべてブラウザ内で処理しており、弊社サーバーへ送信・保存することは一切ありません。
※ 判定は統計的な目安です。最終的な意思決定は、テスト設計の妥当性やビジネス上のインパクトも合わせてご判断ください。