どのA/Bテスト基盤を使っていても、いずれ「有意」の定義を決めなければならない場面が来る。p値が0.05を下回ったことを指すのか、それとも事後確率が95%を超えたことを指すのか。この2つのフレームワークは、どちらの変化案が勝っているかについては一致することが多いものの、答えている問いそのものが異なり、ピーキング(早期の覗き見)に対する壊れ方も違い、ベンチマークと自分の結果を比較する際に必要な注意点も異なる。ここを取り違えると、単に振り返りミーティングが混乱するだけでなく、これからリリースしようとしている数値をどれだけ信用してよいかという判断そのものが狂ってしまう。

似ているようで違う、2つの問い

この混乱は、数学以前に言葉の使い方から生まれている。

  • 頻度主義統計が問うのは、「もし変化案の間に本当に差がないとしたら、これほど極端なデータが観測される確率はどれくらい驚くべきものか」ということだ。p値はその「驚きの度合い」であり、固定された帰無仮説の下で計算され、実験を無限回繰り返すという仮想的な設定によって定義される検定統計量の分布に基づいている。
  • ベイズA/Bテストが問うのは、「観測されたデータと事前に持っていた知識を踏まえると、BがAより優れている確率はどれくらいで、どの程度優れているのか」ということだ。出力されるのは事後確率であり、これは仮説そのものについての直接的な主張であって、仮想的な反復サンプリングについての主張ではない。

p値0.03は「Bが優れている確率が97%」という意味ではない。これはグロースチームで最もよくある誤読であり、カテゴリーエラーそのものだ。p値はデータが帰無仮説とどれだけ整合するかを表すものであり、いずれかの仮説が真である確率を表すものではない。一方、「B>A」に対するベイズの事後確率97%は、ミーティングで多くの関係者が実際に知りたがっている問いへの直接的な答えになる。

実務でそれぞれが破綻するポイント

どちらの手法もデフォルトのままでは安全とは言えず、実際のダッシュボード運用で顕在化する固有の失敗モードを持っている。

頻度主義:ピーキング問題

古典的な有意性検定は、サンプルサイズ(あるいは停止ルール)を事前に固定し、一度だけ結果を確認することを前提としている。ダッシュボードを毎日チェックし、p<0.05になった瞬間に止めてしまうと、偽陽性率は5%をはるかに超えて膨れ上がる。覗き見の頻度によっては20〜30%を超えることもある。p-hackingを防ぐ方法で早期停止を副次的なリスクではなく主要なリスクとして扱っているのはこのためだ。逐次検定の補正手法(アルファ消費法、常に有効なp値など)はこの問題を解決できるが、素朴なt検定やカイ二乗検定を繰り返しチェックする運用では解決されない。

ベイズ統計:事前分布問題

ベイズ手法は継続的なモニタリングにより適しており、事後分布はデータが増えるたびに素直に更新され、頻度主義のような形での事前確定の停止ルールを必ずしも必要としない。しかしその代わりに、リスクは事前分布の設定へと移動する。「効果なし」に強く引き寄せる情報事前分布は本物のリフトを過小評価してしまい、トラフィックの少ないテストにフラットで無情報な事前分布を使うと、ノイズの多い初期結果が実際以上に決定的に見えてしまうことがある。ピーキングのペナルティから逃れるためにベイズのダッシュボードへ移行したチームが、結局は同じ楽観バイアスを事前分布の選び方に持ち込んでしまうケースも珍しくない。特に、事前分布が「前四半期のテストが良く見えるように」こっそり調整されている場合はなおさらだ。

同じ効果を2通りに読む

問い 頻度主義の答え ベイズ統計の答え
「これは本物の効果か?」 p = 0.02(α=0.05で帰無仮説を棄却) P(B > A) = 96%
「どれくらいの大きさか?」 点推定値 + 95%信頼区間 事後平均 + 95%確信区間
「早期に止めてよいか?」 事前に規定した逐次デザインがある場合のみ 事前分布が妥当であれば、どの時点でも事後分布は有効
「もう一度実験したらどうなるか?」 繰り返し実験を行った場合、真の効果を95%の頻度で区間がカバーする モデルが正しければ、真の効果がこの区間に含まれる確率は95%

区間の言葉遣いこそ、チームが最も躓きやすいポイントだ。95%信頼区間は「その手続き」の長期的なカバー率についての主張であり、「この特定の区間」が真の効果を95%の確率で含むという意味ではない。95%確信区間はまさにその後者の意味そのものだ。OKPy Data Analysisのベンチマークカードに信頼度ラベルとともに効果範囲が示されている場合、その範囲は複数の研究における典型的な結果を記述したものとして扱い、単一のテストから得られたいずれの種類の区間とも同一視しない、という点に注意して引用する必要がある。

意思決定に合わせてフレームワークを選ぶ

どちらの手法も万能ではなく、正しい選択はそのテストが何のために行われるかによって決まる。

  • 一発勝負の高リスクなリリース(価格変更、決済フローの刷新など)には、事前登録された停止ルールを伴う頻度主義的な厳密さが向いている。偽陽性のコストが高く、関係者が防御可能で標準化された閾値を求めるためだ。
  • 高速に反復する施策(見出しコピー、ボタンの色、オンボーディングの細かい文言など)にはベイズによるモニタリングが向いている。固定サンプルサイズに達するのを待たずに継続的なリリース/中止の判断を下す必要があり、1回あたりの誤判断のコストが低いためだ。
  • トラフィックの少ない実験(B2B、エンタープライズ、ニッチなセグメントなど)は、控えめで正直に文書化された事前分布を用いたベイズ手法が概ね適している。小さなサンプルに対する頻度主義の検定は、有意水準に到達しないか、実務上非現実的な期間の実験を必要とするためだ。
  • チーム間・企業間の比較(OKPy Data Analysisのベンチマークと自分の結果を照らし合わせる場合を含む)は、頻度主義の枠組みで行う方が容易だ。公開されている効果量やベンチマークカードのsample_contextフィールドの多くは、事後分布ではなく古典的なA/Bテストから報告されているためだ。

どちらのフレームワークでもベンチマークを活用する

結果の妥当性を確認するためにベンチマークカードを開いたとき、confidenceラベルはその効果範囲がどのような種類の証拠から生成されたかを示している。OKPy Data Analysisに掲載されているA/Bテストのエントリの多くは頻度主義由来のものだ。したがって、観測された効果が範囲の下限付近にあり、ベイズの事後確率が90%をわずかに超える程度である場合、それは矛盾ではなく、控えめな証拠を2つの視点から見ているに過ぎない。ベンチマークデータに対して両フレームワークを正しく使うには、次の2つの習慣が役立つ。

  1. 意思決定だけでなく、効果の大きさを比較する。 p<0.05や事後確率>95%という結果は、方向性がありそうだということしか教えてくれない。点推定値または事後平均をベンチマークカードの効果範囲と照らし合わせ、そのリフトが典型的な範囲なのか、異例に大きいのか、実務上無視できるほど小さいのかを判断する。
  2. いずれの区間を信用する前にもsample_contextを確認する。 狭いユーザーセグメントで実施されたテストから得られた、幅の狭い頻度主義の信頼区間や集中したベイズの事後分布は、区間が精密に見えるからといって別のプロダクト面にそのまま適用できるわけではない。精密さと関連性は別の問題だ。

実務上の運用メモ

  • 実験基盤が両方に対応しているなら、社内のGo/No-Go判断にはベイズの事後確率トラッキングを使い、チーム外に出す資料では頻度主義のp値を報告するとよい。外部のレビュアーや引用される文献の多くは、いまだにその言葉づかいをデフォルトとしているためだ。
  • テスト開始前に、事前分布(またはp値の有意水準)を文書化しておく。これはp-hackingを防ぐガイドで述べられている事前登録の考え方と同じ精神だ。初期結果を見てから選ばれた事前分布は、初期のp値を見てから選ばれた停止ルールと同じくらい不誠実になり得る。
  • 点推定値には必ず区間を添え、どちらの種類の区間かを明記する。「95%信頼区間」と「95%確信区間」は、資料の中でしばしば同じもののように書かれがちだが、決して互換性のある表現ではない。

OKPy Data Analysisの関連リソース: