A/Bテストに必要なサンプルサイズは、「現在のCV率」と「検出したい最小の改善率」の2つでほぼ決まります。感覚で「2週間くらい回そう」と決めると、多くの場合は人数が足りず、何も判断できないまま終わります。この記事では、必要人数の求め方と早見表、それを実施期間に換算する手順、そして足りないまま判定してしまったときに何が起きるかを説明します。

まず結論:先に人数を決めてから始める

サンプルサイズの計算は、テストが終わってからやるものではありません。開始前に必要人数を出し、それに達するまで判定しないと決めるためのものです。手順は3ステップです。

  1. 現在のCV率を調べる(直近1〜3か月の実績)
  2. 「これだけ改善するなら実装する価値がある」という最小の改善率を決める
  3. 必要人数を計算し、1日あたりの流入で割って期間に換算する

3で出た期間が現実的でなければ、テストの設計自体を見直します。統計じょうずの「必要数を計算」タブに数値を入れると、この計算結果をその場で確認できます。

必要サンプル数の早見表

信頼水準95%・検出力80%・両側検定・50:50配分での、各パターンに必要な人数です。合計はこの2倍になります。

現在のCV率 +5%改善を検出 +10%改善を検出 +20%改善を検出 +30%改善を検出
1% 637,010人 163,095人 42,693人 19,827人
2% 315,206人 80,682人 21,109人 9,798人
3% 207,938人 53,211人 13,914人 6,455人
5% 122,124人 31,234人 8,158人 3,780人
10% 57,763人 14,751人 3,841人 1,774人
20% 25,583人 6,510人 1,683人 772人

この表から読み取れることは2つあります。

元のCV率が低いほど、必要人数は跳ね上がります。 CV率1%と10%では、同じ改善率を検出するのに10倍以上の差があります。CV率の低い施策ほどテストの難易度が高いということです。

検出したい改善率を半分にすると、必要人数はおよそ4倍になります。 表の「+10%改善」と「+20%改善」を比べると、どの行でもおよそ4倍の関係です。「小さな改善も見逃したくない」という要求は、そのまま桁違いの人数の要求になります。

現在のCV率5%のとき、各パターンに必要な人数 3,780 +30% 8,158 +20% 31,234 +10% 122,124 +5% 検出したい 改善率が 小さいほど 急増する
検出したい改善率を +10% から +5% に下げるだけで、必要人数はおよそ4倍になる。

4つの入力値が何を意味するか

計算には4つの値を使います。それぞれが何を決めているかを押さえておくと、期間が現実的でなかったときにどこを動かせばよいか判断できます。

入力値 意味 動かすと
現在のCV率 改善前の基準値 実績値なので動かせない
最小検出改善率 これ以上なら実装する価値がある幅 大きくすると必要人数が大幅に減る
有意水準 差がないのに「ある」と誤る確率の上限 緩めると必要人数は減るが誤検出は増える
検出力 差があるときに見逃さない確率 下げると必要人数は減るが見逃しが増える

現実的に調整できるのは最小検出改善率です。有意水準と検出力は95%・80%が広く使われる標準値で、人数を減らしたいという理由だけで動かすと、結果の信頼性そのものが下がります。

最小検出改善率の決め方は、統計ではなく事業判断です。「CV率が3%から3.15%(+5%)に上がるだけなら、実装と運用のコストに見合わない」と言えるなら、+5%を検出する必要はありません。検出する必要のない小さな差を追わないことが、テストを現実的な期間に収める最大のポイントです。

人数を実施期間に換算する

必要人数が出たら、次の式で期間を出します。

必要日数 = 各パターンの必要人数 × 2 ÷ 1日あたりの対象流入数

たとえば現在のCV率が3%、+20%の改善を検出したい場合、各パターン13,914人なので合計27,828人が必要です。対象ページの流入が1日2,000人なら約14日、1日500人なら約56日かかります。自分の条件での必要人数は統計じょうずで算出できます。

期間が長くなりすぎたときの現実的な対処は次のとおりです。

なお、2か月を超えるテストは別のリスクが出てきます。季節要因やキャンペーンの影響が混ざり、Cookieの削除で同一ユーザーが別パターンに再割り当てされる可能性も上がります。長すぎる設計は、統計以前に条件が揺らぎます。

「足りないまま見てしまう」ことの実害

必要数を決めずに始めると、ほぼ確実に「毎日結果を見て、有意になったら止める」運用になります。これが最も避けたい状態です。

差が本当にない場合でも、繰り返し覗いていればどこかのタイミングで偶然p値が0.05を下回ります。覗く回数が増えるほど、誤って「勝った」と結論する確率は上がっていきます。有意水準5%は「1回だけ判定する」前提の値であって、何度も判定してよい保証ではありません。

もう一つの実害は、サンプル不足のまま「有意差なし」と読んでしまうことです。人数が足りなければ、実際に効果のある施策でも有意差は出ません。これを「効果がなかった」と記録してしまうと、良い施策を捨てたうえに、その学びが社内に誤って蓄積されます。

必要数に達していない段階で言えるのは「まだ判断できない」だけです。判定は必要数に達してから、1回だけ行ってください。判定時に何を見ればよいかはA/Bテストの有意差とは|p値と信頼区間の読み方で解説しています。

よくある質問

Q. 途中経過を見ること自体が禁止ですか。

異常検知のために見るのは問題ありません。振り分け比率が想定どおりか、計測が動いているか、致命的な不具合が出ていないかの確認は、むしろ早い段階でやるべきです。禁止したいのは「勝敗の判定」を繰り返すことです。目的を分けて運用してください。

Q. 50:50以外の配分でもよいですか。

可能ですが、同じ検出力を得るのに必要な合計人数は増えます。50:50が最も効率的です。新パターンのリスクを抑えたい場合など、意図があれば80:20などにする理由はあります。その場合は想定した配分を記録しておき、実際の人数がその比率からずれていないか(サンプル比率不一致)を確認してください。

Q. 期間の途中で流入が急増しました。早く終わってよいですか。

必要人数に達していれば人数の条件は満たします。ただし曜日の影響を避けるため、最低でも1週間の倍数で回すことをおすすめします。平日と週末でユーザー層が違うサービスでは、期間の切り方だけで結果が変わります。

Q. CV率が事前の想定と大きく違いました。計算し直すべきですか。

実測のCV率で計算し直すと、必要人数の見積もりは更新されます。ただしその値を見てから最小検出改善率を都合よく緩めるのは避けてください。判定基準を結果に合わせて動かすことになり、テストの意味がなくなります。基準を変えるなら、次のテストからにしてください。