Menu

A/Bテスト計算ツール

各バリエーションの訪問者数とコンバージョン数を入力してください。結論を一文で、p値をその計算過程つきで、信頼区間、Bが優れている確率(ベイズ)、トラフィック配分が壊れていないかのチェック、そしてこのテストがそもそも検出できた最小の改善率まで表示します。

著者 Nethanel Bar, Co-founder & CEO

最終更新

本気でプログラミングを学びませんか?

Coddyはブラウザ上で実際にコードを書きながら学ぶサービスです。インタラクティブなレッスン、即時フィードバック、行き詰まったときのAIサポート付き。

他の計算ツールが教えてくれないこと

A/Bテストの計算ツールはどれもp値を表示します。しかしほとんどはそこで止まり、だから創業者は「信頼度87%」の画面を眺めて、これが何を意味するのか考え込むことになります。このツールは、次に何をすべきかを実際に決める問いに答えます。差は偶然で生まれる範囲より大きいのか? 本当の改善率は、最悪と最良でどのくらいか? 「有意差なし」と出たなら、このサンプルサイズでそもそも何かを検出できたのか? そしてトラフィックの配分自体は健全か、それとも最初から等しくなかった2つのグループを比べているのか?

計算には標準的な2標本の比率のz検定を使います。Optimizelyの旧エンジン、VWOの頻度論モード、そしてあらゆる統計の教科書と同じ方法で、算術の各行を表示します: プールした率、標準誤差、zスコア、裾の面積。その横にベイズ的な答え、つまりBの真の率がAを上回る確率を並べます。「Bが優れている確率は91%」こそ、多くの人がp値に期待していた一文であり、しかもそれはp値とは別の数字だからです。

このツールは、自社のダッシュボードを見直したことから生まれました。Coddyでは名前のついた実験を20件ほど行い、そのうち10件は少量のトラフィックで走らせた国別の価格テストでした。社内ツールは信頼度が95%を下回るあいだ「続行してください」と信頼度バーの下に表示していました。それは優しい顔をした「任意停止」です。横に並ぶ3つのタブ(サンプルサイズ、現実チェック、途中確認シミュレーター)があるのは、有意差だけを報告する計算ツールは自分をより速く騙すための道具になってしまうからです。

数字を信じる前に知っておくこと

  • 「有意差なし」は「差がない」ではありません。データからは判断できない、という意味です。「このテストで検出できた最小の改善率」のタイルが正直な読み方です: 観測した改善率がそれを下回るなら、このテストは最初から答えを出せませんでした。
  • p値はあなたが間違っている確率ではありません。2つのバリエーションが同一だった場合に、これほどの差が出る確率です。勝者が本物である可能性は、あなたのアイデアがどれくらいの頻度で当たるかにも依存し、現実チェックのタブがそれを数字にします。
  • バーが緑になった初日に止めるのは、A/Bテストで最も高くつく習慣です。毎日確認して早期に止めると、5%の偽陽性率は20%以上に膨らみます。途中確認シミュレーターは、それがあなたのトラフィックで起きる様子を見せます。
  • 壊れた配分はすべてを台無しにします。50/50の予定が46/54になっていたら、テストに到達する前にユーザーを振り分けている何かがあります: キャッシュ層、ボットフィルター、リダイレクト。このツールはそのチェックを最初に走らせ、通らないあいだは結論を出しません。
  • 1群あたりコンバージョンが25件を下回ると、z検定の背後にある正規近似は測定ではなくスケッチです。このツールは偽の精度で小数点以下3桁を表示するかわりに、そのことをはっきり伝えます。

A/Bテスト計算ツールの使い方

  1. AとBの訪問者数とコンバージョン数を入力する

    訪問者数はそのバリエーションに振り分けられた人数であって、ページビューではありません。コンバージョンは測定対象の行動(登録、購入、クリック)をした人数です。どちらも両群で同じ方法で数える必要があります。

  2. 信頼水準と仮説を選ぶ

    95%の両側検定がデフォルトで、Bが良くも悪くもなり得るときの正直な選択です。片側検定は、Bが悪化した場合を「変化なし」とまったく同じように扱うときだけに使いますが、そのケースは思われているより稀です。

  3. 結論を読み、次に区間を読む

    バナーはデータが何を支持しているかを示します。相対改善率のタイルには区間が表示されます: 本当の効果はその範囲のどこかにあり、計画に使うべき数字は点推定値ではなく下限です。

  4. 2つの警告を確認する

    配分に警告が出たら、他の何かを読む前にテストを直してください。検出可能な最小の改善率が観測した改善率より大きければ、テストの検出力が不足しています: サンプルサイズのタブで、何人の訪問者が必要かを確認しましょう。

  5. 結果またはリンクをコピーする

    「結果をコピー」はメッセージや文書に貼れる要約を作ります。「リンクをコピー」は4つの数字をURLに入れるので、開いた人は誰でも同じ計算を見られます。

出力の読み方

各タイルの意味を一行で。

タイル何を表すか読み方
相対改善率(Bの率 − Aの率) ÷ Aの率見出しの数字。横の区間は、本当の改善率がおそらく収まる範囲です。
p値AとBが同一だった場合に、これほどの差が出る確率信頼水準95%なら0.05未満で有意。結果が間違っている確率ではありません。
信頼度1 − p をパーセントで表したもの多くのツールが表示する数字。87%は「ほぼ95%」ではなく、線の向こう側です。
Bが優れている確率Bの真の率がAを上回るベイズ確率みんなが欲しい一文。91%は「Bがおそらく優れている」であって、「Bが91%優れている」ではありません。
このテストで検出できた最小の改善率この群サイズで検出力80%のときに検出できる相対改善率観測した改善率がこれを下回るなら、「有意差なし」は「判断できなかった」という意味です。
トラフィック配分各群の訪問者の観測割合と計画の比較偶然で説明できる以上に配分がずれていると警告。結果を読む前にテストを直してください。

3つのテスト、3つの教訓

定番の「あと一歩」

A: 訪問者10,000人、コンバージョン500件(5.00%)。B: 訪問者10,000人、コンバージョン560件(5.60%)。相対改善率+12%、p = 0.058。

95%では有意ではなく、区間はおよそ−0.4%から+24%まで広がります。正直な読み方は「おそらく小さなプラス、ゼロの可能性もあり」です。このテストで検出できる最小の改善率は約17%なので、12%の効果は最初からグレーゾーンに落ちる運命でした。必要なのは、もう1週間祈ることではなく、およそ2倍のトラフィックです。

壊れた配分

A: 訪問者5,000人、コンバージョン100件。B: 訪問者4,300人、コンバージョン120件。計画した配分は50/50。

Bは+40%の明らかな勝者に見えます。しかしこのツールはそう言うことを拒みます: 50/50の設定で5,000対4,300の配分が偶然に起きる確率は100万分の1未満です。カウントされる前にBのユーザーを取り除いている何かがあります。特定のブラウザで失敗するリダイレクトや、バリエーションを別扱いするボットフィルターがよくある原因です。原因が何であれ、2つのグループは比較できず、改善率には意味がありません。

小さなサイト

A: 訪問者400人、コンバージョン12件(3.0%)。B: 訪問者400人、コンバージョン19件(4.75%)。相対改善率+58%、p = 0.20。

58%の改善は途方もなく聞こえますが、p値は約0.19です。コンバージョンが12件と19件では、ツールはデータ不足の警告を出します: この規模では登録が1件増えるだけで率が0.25ポイント動くほど数字が揺れます。このトラフィックでは、1か月で確認できる最小の改善率は100%を超えます。これはもっと長く走らせる理由ではなく、現実チェックのタブを読む理由です。

このツールが捕まえるように作られたミス

  • 信頼度90%を「まあ大丈夫」と読むこと。95%で始めたなら線は95%です。それを下回る数字は、自分で決めた基準をデータが越えなかったという意味で、間違いは数字ではなく、見てから基準を動かすことです。
  • 有意でないテストを「引き分け」と呼ぶこと。引き分けとはゼロの周りの狭い区間のことです。区間が広い有意でないテストは未回答の問いであり、サンプルサイズのタブがそれに答えるコストを示します。
  • バーが緑になった最初の朝に勝者を宣言すること。途中確認シミュレーターは何も変えていない2,000件のテストを走らせ、毎日確認する人がそのうち何件を「出荷」していたかを見せます。
  • 5つのバリエーションをテストして、最良のものを95%で報告すること。5%の比較を5回行えば、偽の勝者が出る確率は23%です。サンプルサイズのタブはバリエーションを追加するとアルファを分割してくれます。
  • ページビューとユニークユーザーを比べたり、訪問者と異なる期間でコンバージョンを数えたりすること。z検定は各訪問者を独立した1回の試行とみなします。それ以外は信頼度を水増しします。
  • 配分を無視すること。訪問者100,000人での48/52の配分は偶然ではなく、バグです。その下流にある結果はすべて信用できません。

A/Bテスト計算ツールのよくある質問

A/Bテストに統計的有意差があるかどうか、どう判断すればいいですか?
各バリエーションの訪問者数とコンバージョン数を入力し、信頼水準(95%が標準)を選んで、結論を読んでください。p値が「1 − 信頼水準」を下回れば有意、つまり95%なら0.05未満です。このページはさらに、本当の改善率の区間と、いま見ている効果をこのテストが検出できたのかどうかも示します。p値だけではわからないことです。
テストのp値が0.08というのはどういう意味ですか?
AとBが本当に同じ率でコンバージョンしていたとしても、これ以上の差が偶然に約8%の頻度で現れる、という意味です。結果が間違っている確率ではなく、「Bが優れている信頼度が92%」でもありません。信頼水準95%では基準を越えていないということなので、検出可能な最小の改善率のタイルを見て、そもそも越えられたのかを確認してください。
信頼度90%で十分ですか?
テストを始める前に90%と決め、10回に1回の偽陽性率を受け入れるなら、十分な場合もあります。決して十分でないのは、95%で走らせて91%を見てから「本当は90%が基準だった」と決めることです。信頼水準は、どのくらいの頻度で騙されてもよいかについての約束であり、見てから変えれば約束は壊れます。
バリエーションごとに何件のコンバージョンが必要ですか?
魔法の数字はありませんが、1群あたり約25件を下回るとz検定は粗いスケッチにすぎず、実際のテストの多くは数百件を必要とします。重要なのは検出したい改善率です: ベースライン5%で、10%の相対改善を信頼水準95%・検出力80%で見るには、バリエーションあたり約31,000人の訪問者、つまりそれぞれ約1,550件のコンバージョンが必要です。サンプルサイズのタブがあなたの率で計算します。
頻度論のp値と、ベイズの「Bが優れている確率」の違いは何ですか?
p値は「何も変わっていないとしたら、この差はどれくらい意外か?」と問い、閾値でイエスかノーを返します。ベイズの数字は「観測したものを踏まえて、Bの真の率がAを上回る可能性はどれくらいか?」と問い、確率を返します。同じデータなら方向はたいてい一致します: 両側検定でpが0.05なら、Bが優れている確率は97%前後です。このページが両方を表示するのは、人が「信頼度」と言うときに意味しているのはベイズの一文で、ツールが表示するのはp値だからです。
配分がずれているとき、なぜ結論を出してくれないのですか?
サンプル比率の不一致(SRM)は、2つのグループがランダムに割り当てられていないことを意味し、ランダム化こそA/Bテストが機能する理由そのものだからです。50/50の計画に対して、観測された配分が偶然に起きる確率が1,000分の1未満なら、誰をどちらの群に入れるかを何らかの仕組みが決めており、それがコンバージョンと相関している可能性があります。見えている改善率は、あなたの変更ではなくその仕組みかもしれません。
訪問者あたりの売上や平均注文額にもこのツールを使えますか?
使えません。このページは比率を検定します: 各訪問者はコンバージョンしたかしなかったかのどちらかです。訪問者あたりの売上は連続的で強く歪んだ指標なので、ユーザーごとの金額に対するt検定かブートストラップが必要で、4つの合計値ではなく生データが要ります。ユーザーごとの値が手元にあれば、Coddyの数学計算ツールにあるt検定計算ツールが平均の比較を扱います。
検出可能な最小の改善率はどこから来るのですか?
サンプルサイズ計算ツールと同じ公式を逆向きに走らせたものです。群のサイズとAの率から、この規模のテストの80%があなたの信頼水準で捕まえられる相対改善率を求めます。観測した改善率がそれを下回るなら、その効果に対してテストの検出力は不足しており、「有意差なし」は変更が効いたかどうかについてほとんど何も語りません。

その他の開発者ツール

Coddyのプログラミング言語のイラスト

Coddyでコードを学ぼう

始める