A/B テスト計算ツール — 統計的有意差とサンプルサイズ
A/B テストの結果が統計的に有意かどうかを判定し、次のテストに必要なサンプルサイズと期間を計画できます。
コントロール(A)
バリアント(B)
すべてブラウザ内で動作します。入力内容が送信・保存されることはありません。 すべての無料ツールを見る.
不具合や改善できそうな点を見つけましたか?いただいたメッセージはすべて読み、すぐに対応します。
この A/B テスト計算ツールは、2 つのコンバージョン率の差が統計的に有意なのか、それとも単なるノイズなのかを判定します。コントロールとバリアントの訪問者数とコンバージョン数を入力すると、p 値、信頼度、相対改善率、そしてその改善率の信頼区間を表示します。信頼区間は、実際の効果がどれくらいの大きさでありうるかを示す数字です。
2 つ目のタブでは、テストを実施する前に計画を立てられます。ベースラインのコンバージョン率と検出したい最小の効果から、バリアントごとに必要な訪問者数と、現在のトラフィックで何日かかるかを計算します。統計手法は標準的な 2 標本の比率の z 検定と、広く引用されている Evan Miller の計算ツールと同じサンプルサイズの公式で、コードは同氏が公開している例で検証済みです。サンプルサイズは事前に決めて固定することを前提としています。毎日結果を確認し、良さそうに見えた時点でテストを止めた場合、その結果をどの計算ツールでも信頼できるものにはできません。
使い方
- 有意差のタブで、コントロール(A)とバリアント(B)の訪問者数とコンバージョン数を入力します。
- 信頼度を選びます(95% が標準)。テスト前に改善だけを見ると決めていた場合を除き、両側検定を選んでください。
- 判定、p 値、改善率の区間を確認します。区間に 0 が含まれていれば、テストでは差が示されていません。
- テストを計画するには、サンプルサイズのタブに切り替えてベースライン率と最小検出効果を入力し、1 日のトラフィックを加えると期間がわかります。
よくある質問
A/B テストの統計的有意差はどうやって計算しますか?
コンバージョン率の場合、標準的な方法は 2 標本の比率の z 検定です。それぞれの率と、プールした率 p =(A のコンバージョン数 + B のコンバージョン数)÷(A の訪問者数 + B の訪問者数)、標準誤差 √(p(1 − p)(1/nA + 1/nB)) を求めます。z =(B の率 − A の率)÷ SE で、両側の p 値は 2 × (1 − Φ(|z|)) です。p 値が有意水準(通常は 0.05)を下回れば、結果は有意です。
p 値 0.05 とはどういう意味ですか?
A と B の間に本当に差がない場合でも、偶然によってこれ以上の差が生じる確率が約 5% あるという意味です。B のほうが優れている確率が 95% という意味ではなく、効果の大きさについても何も示しません。そのため、このツールでは改善率の信頼区間も表示しています。
A/B テストには何人の訪問者が必要ですか?
ベースラインのコンバージョン率と、気にかける最小の効果によって決まります。ベースラインが 3% の場合、10% の相対的な向上(3.0% → 3.3%)を信頼度 95%、検出力 80% で検出するには、バリアントごとに約 51,500 人の訪問者が必要です。20% の向上なら、その約 4 分の 1 で済みます。低いコンバージョン率での小さな効果には大量のトラフィックが必要なので、トラフィックの少ないサイトでは大きな変更をテストすべきです。
片側検定と両側検定、どちらを使うべきですか?
B のほうが優れているかどうかだけが重要で、「B のほうが悪い」を「差がない」と同じに扱うと開始前に決めていた場合を除き、両側検定を使ってください。片側検定は少ないデータで有意になるため、結果を見てから片側検定に切り替えるのは一種の不正です。多くのテストツールの既定は両側検定です。
有意になった時点で A/B テストを止めてもよいですか?
この種の検定ではいけません。何度も確認して最初に有意になった時点で止めると、偽陽性率が 5% から 20〜30% 以上に上がることがあります。プランナーでサンプルサイズを事前に決め、週単位で実施し、評価は 1 回だけにしましょう。継続的に監視する必要がある場合は、そのために設計された逐次検定の手法を使ってください。
検出力(パワー)とは何ですか?
検出力とは、指定した大きさの実際の効果をテストが検出できる確率です。標準は 80% で、その大きさの実際の向上を 5 回に 1 回見逃すことを意味します。検出力を上げるには、より多くの訪問者が必要です。検出力が不足したテストで有意にならなかったとしても、効果がないことが示されたわけではなく、テストでは判断できなかったということです。
結果を正しく読み取る
判定より先に改善率の区間を見てください。「改善率 +15%、95% CI −2%〜+34%」という結果は有意ではなく、バリアントが少し悪い可能性も大幅に良い可能性もあることを示しています。つまりデータが足りません。「+15%、CI +6%〜+25%」なら有意で、考えられる最小の効果でも採用する価値があることを示しています。
• サンプル比率の不一致(SRM)を確認しましょう。50/50 で配分しているなら、訪問者数はほぼ同じになるはずです。大きな偏りがある場合は、たいていトラッキングかリダイレクトの不具合で、テストは無効になります。
• 平日と週末の行動をカバーし、新奇性効果を避けるため、少なくとも 1 週間、できれば 2 週間は実施しましょう。
• 各訪問者はバリアントごとに 1 回だけ数えましょう。ユーザーではなくページビューを数えるとサンプルが水増しされ、結果が実際より確かに見えてしまいます。
• 多くのバリアントや多くの指標をテストすると、偽陽性が増えます。ボンフェローニ補正のオプションを使うか、主要な指標を事前に 1 つ決めておきましょう。
使用している手法
有意差の判定には、プールした 2 標本の比率の z 検定を使っています。これは 2 群の場合、連続性補正なしのカイ二乗検定と同等です。絶対差の信頼区間にはプールしない標準誤差を使い、相対改善率の区間には率の比の対数にデルタ法を適用しているので、率が小さくても妥当な結果になります。
サンプルサイズには、Evan Miller の計算ツールと同じ公式 n = (z₁₋α/₂ √(2p(1 − p)) + z₁₋β √(p₁(1 − p₁) + p₂(1 − p₂)))² ÷ δ² を使っています。正規分布の関数は倍精度の精度をフルに使って実装しているので、裾の p 値もゼロに丸められず正確です。
z 検定は正規近似に基づいています。いずれかの群のコンバージョン数が約 30 件未満の場合は、近似の信頼性が低くなるため、ツールが警告を表示します。