無料ツール

A/Bテスト有意差計算ツール

テストは終わった。でも本当にバリアントが勝ったのでしょうか。各バージョンの訪問者数とコンバージョン数を入力すると、p値、信頼区間、そして平易な言葉での判定が表示されます。すべて入力しながらブラウザ内で計算されます。

+20.0%

バリアントがコントロールに勝っています — この差は統計的に有意です。

p = 0.0283(信頼水準 95%)

コントロールの率
5.00%
バリアントの率
6.00%
p値
0.0283
差の範囲
+0.1% … +1.9%

計算の中身

A/B テストの統計的有意性の計算方法

この計算ツールは、2 つのコンバージョン率を比較する標準的な検定である、2 標本比率の z 検定を行います。

  • コンバージョン率:p₁ = A のコンバージョン数 ÷ A の訪問者数、p₂ = B のコンバージョン数 ÷ B の訪問者数。
  • 統合率(A と B が同じだとひとまず仮定した値):p = (A のコンバージョン数 + B のコンバージョン数) ÷ (A の訪問者数 + B の訪問者数)。
  • 差の標準誤差:SE = √[p(1 − p) × (1/n₁ + 1/n₂)]。
  • 検定統計量:z = (p₂ − p₁) ÷ SE。p 値は、本当の差がないとしたときに、少なくともこれだけゼロから離れた z が得られる確率です。

計算例:デフォルトの入力値

  • A:訪問者 5,000 人中 250 コンバージョン = 5.00%。B:5,000 人中 300 = 6.00%。相対リフトは 20% です。
  • 統合率:550 ÷ 10,000 = 0.055。
  • SE = √(0.055 × 0.945 × (1/5,000 + 1/5,000)) ≈ 0.00456。
  • z = 0.01 ÷ 0.00456 ≈ 2.19 となり、両側 p 値は 0.0283 です。

0.0283 は 0.05 より小さいので、信頼度 95% では B は有意な勝者です。信頼度 99% ではそうではありません。そのためには p が 0.01 未満である必要があります。

結果の読み方

p 値、リフト、信頼区間がそれぞれ示すこと

  • p 値。A と B が本当に同じだとしたら、この差がどれほど意外かを示します。効果の大きさについては何も語りません。トラフィックが十分あれば、ごく小さく役に立たないリフトでも、ごく小さな p 値になりえます。
  • リフト。A から B への相対的な変化で、例では (6.00% − 5.00%) ÷ 5.00% = +20% です。単一の推定値としては最良ですが、ノイズを含みます。
  • 信頼区間。データと整合する本当の差の範囲を、パーセントポイントで示したものです。例の 95% 信頼区間はおよそ +0.1〜+1.9 ポイントです。B のほうが良いものの、本当の改善幅はほぼゼロから測定値のほぼ 2 倍までのどこかにありえます。変更が本物かどうかだけでなく、リリースする価値があるかの判断に使ってください。

区間がゼロをまたぐ場合、その信頼水準では結果は有意ではありません。99% では例の区間は −0.2〜+2.2 ポイントとなり、まさにそれが 99% で有意にならない理由です。

サンプルサイズ

同じリフトでも有意になったりならなかったりする理由

同じ 5% → 6%(20% のリフト)という結果を、各バリアントの訪問者数を変えて見たものです。

バリアントあたりの訪問者数zp 値(両側)95% 区間(ポイント)
1,0000.980.327−1.0〜+3.0
2,5001.550.121−0.3〜+2.3
5,0002.190.028+0.1〜+1.9
10,0003.100.002+0.4〜+1.6
20,0004.39< 0.0001+0.6〜+1.4

訪問者 1,000 人で「有意でない」という結果は、B に効果がなかったという意味ではありません。テストが小さすぎて判断できなかったという意味です。開始前にサンプルサイズ計算ツールで必要なトラフィックを算出してください。ベースライン 5% で 20% のリフトなら、信頼度 95%、検出力 80% でバリアントあたり 8,156 人が必要です。

リリースの前に

有意な結果を信じる前に確認すること

  • 予定したサンプルに達している。p が初めて 0.05 を下回った時点で止めると、偽陽性は 5% をはるかに超えて膨らみます。事前に決めたサンプルサイズで、一度だけ結果を読んでください。
  • 配分が設定どおりになっている。50/50 のテストで 5,000 対 4,700 人は、偶然にしては偏りすぎです(カイ二乗 p ≈ 0.002)。サンプル比率の不一致は、たいていリダイレクト、ボットフィルター、トラッキングのバグなどで片方のバリアントの訪問者が抜け落ちていることを意味し、コンバージョン率は信頼できません。
  • 週単位で実施した。平日と週末ではコンバージョンのしかたが違います。週の途中で終わったテストは一部の曜日に偏ります。
  • リフトに価値がある。区間の下限を見てください。ありうる最小の改善で変更のコストをまかなえないなら、有意な結果はリリースする理由になりません。
  • 探し回って見つけたものではない。差の出なかったテストをデバイス、国、流入元で切り分け、どこかのセグメントが有意になるまで続けるのは、偽陽性を見つける確実な方法です。セグメントの検定は、事前に計画していた場合だけにしてください。

勝者なし

結果が有意でないときにすること

  • テストが効果を検出できたかを確認する。サンプルサイズ計算ツールが示す人数より訪問者が少なかったなら、テストは検出力不足で、正直な判定は「差がない」ではなく「不明」です。
  • 区間を読む。−0.3〜+2.3 ポイントの区間は大きな損失を否定しますが、価値のある改善の可能性は残します。テスト結果としてではなく判断として、リスクの低い変更をリリースする根拠にはなりえます。
  • テストをだらだら延長しない。有意になるまでトラフィックを足し続けるのは、手間を増やしただけの途中確認です。代わりに、より大きな変更か、より訪問の多いページで新しいテストを計画してください。
  • なぜ何も動かなかったのかを調べる。各バリアントの訪問者のセッションリプレイを見て、ファネルのどこで離脱しているかを確認してください。誰にも気づかれなかったバリアントと、気づかれたのに無視されたバリアントは、別の問題です。

よくある質問

統計的有意性について

統計的有意性とは実際には何を意味しますか?

測定した差が偶然である可能性が低いということです。p値0.03は、2つのバージョンが本当に同じだった場合でも、これほど大きな差が約3%の確率で現れることを意味します。何かが変わったという証拠であり、証明ではなく、変化の大きさを表すものでもありません。

どのp値なら勝ちと言えますか?

慣例では0.05未満、つまり信頼水準95%に相当します。展開コストが高い変更や元に戻しにくい変更では99%に基準を上げ、リスクの低い文言調整では90%でも構いません。ゆっくり確実であるより、素早くおおむね正しいほうが価値がある場面です。

有意になった時点でテストを止めてよいですか?

いけません。何度も確認して最初に有意になった時点で止める「のぞき見(peeking)」は、偽陽性を大きく増やします。開始前にサンプルサイズを決め、そこまで回し切り、結果を一度だけ読むことです。その数値はサンプルサイズ計算ツールで求められます。

この計算ツールはデータをどこかに送信しますか?

いいえ。検定はすべて素のJavaScriptでブラウザ内で実行されます。入力内容はアップロードも記録も保存もされず、一度読み込めばオフラインでも動作します。

A/B テストの統計的有意性はどう計算しますか?

2 標本比率の z 検定を使います。各コンバージョン率、両バリアントを合わせた統合率、標準誤差 √[p(1 − p)(1/n₁ + 1/n₂)] を計算します。率の差を標準誤差で割って z を求め、z を p 値に変換します。250/5,000 と 300/5,000 では z ≈ 2.19、両側 p 値は 0.028 となり、95% で有意です。

A/B テストにおける p 値とは何ですか?

2 つのバージョンの成果が実際には同じだったとした場合に、測定した差と同じかそれ以上の差が見られる確率です。p 値 0.03 は、これだけの差が偶然だけで約 3% の確率で現れることを意味します。B のほうが良い確率ではなく、効果の大きさを測るものでもありません。

B のほうがコンバージョンが良かったのに、なぜ有意にならないのですか?

たいていは、差の大きさに対してサンプルが小さすぎるためです。5% → 6% という結果は、バリアントあたり 2,500 人では有意ではありません(p = 0.12)が、5,000 人なら有意です(p = 0.028)。差の出ない結果を「効果なし」と読む前に、予定していたサンプルサイズを確認してください。

片側検定と両側検定のどちらを使うべきですか?

両側検定です。ただし、損失と変化なしが同じ判断につながることをテスト前に決めていた場合は別です。片側検定は B がリードしているとき p 値を半分にします(デフォルトの例では 0.028 が 0.014 になります)。データを見てから片側検定に切り替えるのが正当でないのはこのためです。

3 つ以上のバリアントにもこの計算ツールを使えますか?

はい。各バリアントを個別にコントロールと比較してください。比較が増えるたびに偽の勝者が出る確率が上がるため、比較ごとにより厳しい基準を使います。コントロールに対して 2 つのバリアントを比べるなら、それぞれを 95% ではなく信頼度 97.5% で検定してください。

関連

PulsePanda の関連情報

勝った理由まで確かめる

p値は「何かが変わった」ことしか教えてくれません。PulsePandaのセッションリプレイ、ヒートマップ、ファネルが、実際にユーザーが何をしたのかを教えます。

無料で始める