A/Bテストのサンプルサイズの計算式は、コンバージョン率の差に意味が生じるまでに各バリアントに何人の訪問者が必要かを示します。信頼度95%、検出力80%の標準的な両側検定では、バリアントあたりおよそ n = (1.96 + 0.84)² × (p1(1−p1) + p2(1−p2)) / (p2 − p1)² 人の訪問者が必要です。p1はベースラインの率、p2は検出したい率です。
その公式に実際のB2Bの数値を当てはめると、気まずい結果になります。コンバージョン率3%のページで相対20%の改善を確実に検出するには、バリエーションごとに約14,000人の訪問者が必要です。多くのB2Bページは、1四半期でもそれほどの訪問者を集められません。以下では、公式の入力値を1つずつ解説し、さまざまなベースライン率についての計算表、特定のトラフィック水準でテストにかかる期間、そして答えが「8か月」だった場合の対処法を紹介します。
私たちの見解:ほとんどのB2BのA/Bテストは検出力不足
まずは、数学が裏付ける見解から。私たちは、B2BのA/Bテストの大半は十分なデータが集まるずっと前に止められており、そこから生まれる「勝ちパターン」の多くはノイズだと考えています。よくあるのはこんな流れです。3週間のテストで、バリエーションが25%リードし、緑のバッジが付き、変更がリリースされ、半年後にはパイプラインに目に見える改善がない、というものです。
検出力不足のテストは実際の効果を見逃し、テスト枠を無駄にします。さらに悪いことに、検出力不足のテストが有意水準を超えた場合、計測された改善幅は過大評価になりがちです。基準を超えられるのは運の良い結果だけだからです。統計学者はこれを大きさの誤り(タイプMエラー)と呼びます。チームは何の効果もないかもしれない変更をリリースし、CROレポートには水増しされた数字を記録してしまいます。開始前にサンプルサイズを算出することが、最も安上がりな防止策です。
A/B テストのサンプルサイズの計算式
2つのコンバージョン率を比較する標準的な式(2つの比率のz検定)は次のとおりです。
バリアントあたりのn = [ zα/2 × √(2 × p̄ × (1 − p̄)) + zβ × √(p1(1 − p1) + p2(1 − p2)) ]² / (p2 − p1)²
各入力値の意味は次のとおりです。
- p1(ベースラインのコンバージョン率):テストするページと目標の現在のコンバージョン率。サイト全体の平均ではなく、直近4〜8週間の、対象となるコンバージョンイベントとページそのものの率を使います。
- p2(目標の率):ベースラインに(1 + MDE)を掛けたもの。ベースライン3%、相対 MDE 20%なら、p2 = 3.6%。
- MDE(最小検出効果):検出したい最小の相対改善率。これは統計上の判断ではなく、ビジネス上の判断です。差(p2 − p1)が分母で2乗されるため、MDEを小さくすると必要なトラフィックは劇的に増えます。MDEを半分にすると、サンプルはおよそ4倍になります。
- p̄(プールした率):p1とp2の平均です。実際には差がないという前提のもとでのノイズを表します。
- zα/2 = 1.96:偽陽性率5%(アルファ0.05)に対応します。バリエーションは良くも悪くもなり得るため、両側に分割します。
- zβ = 0.8416:検出力80%に相当します。つまり、真の改善率がMDEと等しい場合、テストは80%の確率でそれを検出します。残りの20%では、本当の勝者を見逃します。
多くの計算ツールは、最初の段落で示した簡略化された非プール版を使っています。B2Bのコンバージョン率では、両者の差はわずか数人の訪問者にすぎません。当社のA/Bテスト計算ツールは上記のプール版の式を使い、テスト期間も推定します。
計算例をステップごとに
例(説明用の数値):デモ依頼ページのコンバージョン率が3%です。相対20%の改善を検出したいとします。
- 率を設定します:p1 = 0.030、p2 = 0.030 × 1.2 = 0.036。絶対差は0.006です。
- プールした率:p̄ = (0.030 + 0.036) / 2 = 0.033。
- 第1項:√(2 × 0.033 × 0.967) = √0.06382 = 0.2526。これに1.96を掛けると0.4951。
- 第2項:p1(1−p1) = 0.0291、p2(1−p2) = 0.0347。√(0.0638) = 0.2526。これに0.8416を掛けると0.2126。
- 足して2乗します:(0.4951 + 0.2126)² = 0.7077² = 0.5009。
- 差の2乗で割ります:0.5009 / 0.006² = 0.5009 / 0.000036 = バリアントあたり13,914人。
つまり、結果を読む前に、合計約27,800人の訪問者と、コントロール群だけで約417件のコンバージョン(13,914 × 3%)が必要です。検算として、簡略化した非プール型の式ではバリアントあたり13,911人、アークサイン(Cohenのh)近似では約13,890人になります。3つの方法の差は0.2%以内です。
B2Bのコンバージョン率別サンプルサイズ表
下の表は、上記のプール型の公式(有意水準0.05・両側、検出力0.8)を、ベースラインのコンバージョン率1%(例:アクセスの多いページの全訪問者に占めるデモ依頼の割合)から10%(例:CTAクリックのようなマイクロコンバージョン)までに適用したものです。ご自身のベースラインを使ってください。各行は参考値にすぎません。値はバリアントあたりの訪問者数で、Node.jsで計算し切り上げています。
| ベースラインのコンバージョン率 | 相対MDE 10% | 相対MDE 20% | 相対 MDE 30% | 相対MDE 50% |
|---|---|---|---|---|
| 1% | 163,095 | 42,693 | 19,827 | 7,750 |
| 2% | 80,682 | 21,109 | 9,798 | 3,826 |
| 3% | 53,211 | 13,914 | 6,455 | 2,518 |
| 5% | 31,234 | 8,158 | 3,780 | 1,471 |
| 10% | 14,751 | 3,841 | 1,774 | 686 |
MDEを10%から50%にすると、必要なサンプルは約20分の1になります。ベースラインの転換率が2倍になれば、必要なサンプルはおよそ半分になります。トラフィックはすぐには変えられませんが、テストする変更の大きさと測定するコンバージョンは選べます。小規模なサイトでは、この2つが重要なレバーです。
テストにはどのくらいの期間がかかるか?
期間は、必要な訪問者の総数(両バリエーション合計)を、テスト対象のページに実際に到達する月間訪問者数で割ったものです。表は、3つのトラフィック水準で50/50に分割した場合の月数を示しています。
| ページの月間訪問者数 | ベースライン | MDE 10% | MDE 20% | MDE 30% | MDE 50% |
|---|---|---|---|---|---|
| 2,000 | 2% | 80.7 | 21.1 | 9.8 | 3.8 |
| 2,000 | 3% | 53.2 | 13.9 | 6.5 | 2.5 |
| 2,000 | 5% | 31.2 | 8.2 | 3.8 | 1.5 |
| 5,000 | 2% | 32.3 | 8.4 | 3.9 | 1.5 |
| 5,000 | 3% | 21.3 | 5.6 | 2.6 | 1.0 |
| 5,000 | 5% | 12.5 | 3.3 | 1.5 | 0.6 |
| 20,000 | 2% | 8.1 | 2.1 | 1.0 | 0.4 |
| 20,000 | 3% | 5.3 | 1.4 | 0.6 | 0.3 |
| 20,000 | 5% | 3.1 | 0.8 | 0.4 | 0.1 |
表の数値がどうであれ、すべてのテストは最低2週間フルに実施し、平日と週末の行動やキャンペーンによる急増が両方のグループに反映されるようにしてください。また、3か月を超えるテストは、現在の形では実施すべきでない可能性が高いと考えましょう。その期間にページ内容、キャンペーン、トラフィック構成はすべて変化し、結果はもはや存在しないサイトを表すことになります。
月間訪問者5,000人、ベースライン3%の場合、50%の改善は約1か月で判断できますが、10%の改善には2年近くかかります。2年間ページを変えずにおく人はいないので、2つ目のテストは途中で止められ、意味があるかのように解釈されてしまいます。

多くのチームが陥る間違い
- 所要期間の見積もりにサイト全体のトラフィックを使ってしまうこと。カウントすべきなのは、テスト対象の要素に到達した訪問者だけです。月間2万訪問のサイトでも、料金ページのテストの対象になる訪問者は月2,000人程度かもしれません。
- テストの後にMDEを決める。ローンチ前にMDEを30%に設定し、テストで12%という結果が出た場合、12%の勝者が得られたわけではありません。結論の出ないテストになったということです。
- 途中経過を覗き見して、最初に有意を示した時点で止めてしまうこと。Evan Millerの分析How Not To Run an A/B Testは、有意差検定を繰り返すと必ず偽陽性率が上がることを示しています。彼の例(ベースライン50%、効果のない変更、5%の有意水準に達した時点か150件の観測後に停止)では、偽陽性率は名目上の5%ではなく26.1%になります。
数字が「数か月かかる」と示すとき:7つの選択肢
1. より大きな変更をテストする
サンプルサイズを減らす最も安上がりな方法は、MDEを正当な形で引き上げることです。つまり、それだけの効果を生み得る大きな変更をテストすることです。新しい価値提案、異なるオファー(問い合わせフォームではなく即時予約)、汎用ページではなく特定業界向けに作り込んだページなどです。B2Bコンバージョン率最適化ガイドでは、想定される効果の大きさでテスト案に優先順位を付ける方法を解説しています。
2. トラフィックの多いページでテストする
ホームページ、人気のブログ記事、トラフィックの多いランディングページは、月あたりの訪問者が多くなります(どのページが決定段階のトラフィックを最も多く集めやすいかは、B2Bランディングページ最適化に関するメモをご覧ください)。多くのページで共有されるテンプレート(すべてのソリューションページ、すべてのブログ記事)でテストすると、それらのトラフィックを1つの実験にまとめられます。
3. マイクロコンバージョンは慎重に使う
CTAのクリックやフォームの入力開始といったマイクロコンバージョンはベースラインが高いため、表の2%の行ではなく10%の行が当てはまります。ただし落とし穴があります。バリアントがクリックを増やしながら、有望なデモ申し込みを減らすことがあります。マイクロコンバージョンを判断の指標にするのは、それがマクロの目標と連動している根拠がある場合だけにし、必ずマクロコンバージョンもガードレールとして併せて報告しましょう。
4. セグメントをまとめておき、後で分割する
セグメントごとに別々のテストを実施すると、トラフィックが分割されます。セグメントをまたいで1つのテストを実施し、セグメント別の結果は方向性を示すものとしてのみ見ましょう。セグメント固有の答えが必要な場合は、そのセグメントのトラフィックだけでテストの規模を設計する必要があります。各テストに十分なトラフィックが集まるようセグメント別テストの順序を組む方法は、90日間のパーソナライゼーションテストロードマップで紹介しています。
5. 逐次検定を使う
逐次検定のデザイン(事前に計画した中間解析を伴う群逐次検定や、一部のテストツールに組み込まれた常時有効な手法)を使えば、偽陽性を増やすことなく、テスト中に結果を確認し、効果が大きい場合は早期に終了できます。代わりに、テストを最後まで実施した場合の最大サンプルサイズがやや大きくなります。これが正当な「途中確認」の方法です。テストに数か月かかりそうなら、まずセッション録画やフォーム分析などの診断用のCROツールに予算を使いましょう。
6. 期待値を明確にしたうえで、ベイズ的アプローチを検討する
ベイズ統計による A/B テストは、B が A に勝つ確率と、間違ったほうを選んだ場合の期待損失を報告します。これは p 値より行動に移しやすく、「優れている確率が90%を超え、期待損失が0.1ポイント未満ならリリースする」といった明示的な判断ができます。元に戻せる変更なら、そのリスクを受け入れるのは多くの場合合理的です。
ベイズ法が情報を生み出すわけではありません。弱い事前分布では、20%の改善に確信を持つために必要なデータは、頻度論の表とほぼ同じです。小さなサンプルでの「勝つ確率90%」は依然として脆く、停止ルールを設けて毎日確認すれば、実際にはエラー率が上がります。ベイズ流のテストは、不確実性の表現方法と意思決定の仕方を変えるものであって、不確実性を小さくするものではありません。
7. 途中で結果を覗かない、または覗くタイミングを計画しておく
サンプルサイズは公開前に確定し、テストブリーフに記載し、その数に達するまでテストの結論を出さないでください。関係者が途中経過を必要とするなら、場当たり的に確認するのではなく、最初から逐次検定のデザインを使いましょう。実験計画テンプレートには、これらの判断それぞれに対応する項目があります。
ローンチ前のチェックリスト
- 対象となるページとコンバージョンについて、ベースラインの率と月間の対象訪問者数を取得します(過去4〜8週間)。
- MDE は変更の大きさに基づいて選び、記録しておきましょう。
- 計算式または上の表でパターンごとの n を求め、次に期間を求めます。
- 期間が約3か月を超える場合は、テストを設計し直しましょう(変更を大きくする、トラフィックの多いページを使う、ガードレール付きでベースラインの高い指標を使うなど)。
- 停止ルールを決めます。固定サンプルにするか、事前に計画した中間確認を伴う逐次検定にするかです。
B2Bチームにとって最も大きな効果は、1つのページを全員向けに磨き上げることよりも、訪問者ごとに異なるコンテンツを見せることから生まれるのが普通です。1つのセグメント向けに書いたメッセージは、新しいボタンの色よりも大きな変化だからです。シンプルなスプリットテストと、複数のバリエーションや要因を含むテストのどちらにするかで迷っているなら、同じサンプルサイズの計算をA/B/nや多変量の設計に適用しているA/Bテストと多変量テストの比較記事をお読みください。
セグメント別の体験のテストを実施する準備ができたら、Markettailor のパーソナライズしたページの A/B テストで、各セグメントをコントロール群と分けてセグメントごとの結果を追跡できます。計画したサンプルサイズどおりのサンプルが得られます。
よくある質問
A/Bテストのサンプルサイズの計算式は?
2つのコンバージョン率の場合、n per variant = [1.96 × √(2p̄(1−p̄)) + 0.8416 × √(p1(1−p1) + p2(1−p2))]² / (p2 − p1)² です。p1 はベースライン、p2 は目標の率、p̄ は両者の平均です。これは信頼度95%(両側)、検出力80%を前提としています。
コンバージョン率2%の場合、A/Bテストには何人の訪問者が必要ですか?
信頼度95%、検出力80%で、相対リフト20%を検出するにはバリアントあたり約21,100人、30%なら約9,800人、50%なら約3,800人の訪問者が必要です。テスト全体のトラフィックはこの2倍です。
ベイズ型A/Bテストはサンプルサイズが小さくて済みますか?
強力で根拠のある事前分布がない限り、大きな違いはありません。ベイズ型のテストは直感的にわかりやすい出力(コントロールを上回る確率、期待損失)を返し、リスクに基づく意思決定にも向いていますが、ある改善幅を確信するために必要なデータ量は頻度論の計算とほぼ同じです。
B2Bサイトでは、最小検出効果をどのくらいに設定すべきですか?
MDE は願望ではなく、トラフィックから決めましょう。ページのトラフィックで6〜8週間のうちに検出できる効果を計算し、その改善を生み出しうるほど大きな変更だけをテストします。上の期間表では、月間訪問者5,000人、ベースライン3%のページが3か月以内に読み取れるのは約30%以上の改善だけです。
すでに有意になっていれば、A/Bテストを早めに終了してもよいですか?
標準的な固定サンプルのテストではできません。何度も途中確認すると偽陽性が増えるからです。早期に停止する選択肢が必要なら、ローンチ前に中間分析を計画した逐次検定のデザインを使ってください。