A/Bテスト有意差チェックでできること
広告やLPのA/Bテストで、2パターンの訪問数とCV数から、CVRの差が偶然の範囲かどうかを調べます。リフト率、z値、p値、差の信頼区間に加えて、テストに必要なサンプル数の目安もわかります。
使い方
- 「分割表(テスト結果)」のA・Bの行に、訪問数とCV数を入れます。CVRはすぐ右に出ます。
- 「検定の向き」で「両側(差があるか)」か「片側(BがAより高いか)」を選び、「判定に使う水準(信頼水準)」で90%・95%・99%のどれかを選びます。
- 上部の判定(有意差あり/有意差なし)と、「統計量」のリフト率・z値・p値・差の95%信頼区間を確認します。
- テスト前に規模を決めるときは、「検出したいリフト率」を入れて「必要なサンプル数の目安」の各群の必要数を見ます。
- 報告に使うときは「結果をコピー」で数字を文章のまま持ち出せます。
計算の仕組みと注意点
- 検定は2標本の比率のz検定です。z=(CVR_B−CVR_A)÷√(p(1−p)(1/n_A+1/n_B))で、pは両群を合わせたCVR(プール)です。p値は標準正規分布から計算します。
- 差の信頼区間は群ごとの分散を使う非プールの式で、差±z×√(p_A(1−p_A)/n_A+p_B(1−p_B)/n_B)です。z検定とは分散の取り方が違うので、境界付近では結論が食い違うことがあります。
- 必要なサンプル数は検出力80%、2群を同じ数に分ける場合の、正規近似による目安です。基準のCVRにはAの値を使います。
- 期待度数の最小値が5未満だと正規近似があてにならないので警告を出します。CV数が訪問数を超える入力は計算しません。
- 有意かどうかは差の大きさを示しません。途中で何度も結果を見て止めると偽陽性が増えます。入力はブラウザ内だけで計算し、保存も送信もしません。
よくある質問
A 1000訪問100CV、B 1000訪問130CVは有意ですか?
z≈2.10、両側のp≈0.036なので、95%水準では有意、99%水準では有意ではありません。分割表に入れて「判定に使う水準(信頼水準)」を切り替えると確かめられます。
両側検定と片側検定はどちらを使えばいいですか?
迷ったら両側です。片側は「Bが下回る場合は考えない」と事前に決めているときだけ使います。結果を見てから片側に変えるとp値が半分になり、有意と出やすくなってしまいます。
有意差なしなら、AとBは同じと考えていいですか?
いいえ。今のデータでは差があるとは言えない、という意味です。差の95%信頼区間の幅が広ければ、サンプルが足りていない可能性があります。「必要なサンプル数の目安」の「今のデータ」の行で足りているか確認できます。
A/Bテストには何人くらい必要ですか?
元のCVRと検出したい差で決まります。CVR 10%で10%のリフト(10%→11%)を両側95%、検出力80%で見るなら、各群およそ14,800訪問です。「検出したいリフト率」を変えると目安が変わります。