推測統計●●●●●

A/Bテスト

A/B Testingえーびーてすと

RCTをWebサービスに応用し、施策の効果をユーザーの無作為割付で検証する手法

概要

A/Bテストは、Webサービスやアプリの施策の効果を確かめるために、ユーザーを無作為に2つのグループへ振り分け、一方には現行版(A)を、もう一方には新しい版(B)を見せて成果を比較する実験手法です。ボタンの文言、ページのレイアウト、レコメンドのアルゴリズム — 「変えたら良くなるはず」というアイデアを、思い込みではなくデータで検証するための仕組みです。

その正体は、医学で発展したランダム化比較試験(RCT)をオンラインの世界に移植したものです。ユーザーを無作為に割り付けるため、年齢・利用頻度・デバイスといったあらゆる属性が2群で平均的に釣り合い、成果の差を「施策そのものの効果」と解釈できます。しかもWebでは割付・配信・計測がすべて自動化でき、数十万人規模の実験を日常的に回せる — RCTの厳密さと圧倒的な実施コストの低さを両立させた点が、A/Bテストの革新でした。

現在ではGoogle、Amazon、Netflixといった大手サービスが常時数百〜数千の実験を並行して走らせており、「新機能はまずA/Bテストで検証してからリリースする」ことが、データドリブンなプロダクト開発の標準的な作法になっています。

なぜ生まれたか

Webサービスの改善は、長らく「声の大きい人の意見」や「デザイナーの経験と勘」で決まっていました。しかしリニューアルの前後で数字を比べるだけでは、季節要因やキャンペーン、ニュースでの言及など施策以外の変化が混ざり込み、効果を切り分けられません。これはまさに観察データにおける交絡の問題であり、因果推論の言葉でいえば「比較のための正しい反実仮想が手元にない」状態でした。

一方、Webにはこの問題を解く理想的な条件が揃っていました。ユーザーごとに表示内容を変えられ、行動がログとして自動的に記録され、割付をランダムにするのはコード1行で済みます。2000年代にGoogleが検索結果のリンク色を、Amazonがレコメンドの配置を実験で決めるようになり、「同じ期間に、無作為に分けた2群へ別バージョンを同時配信する」というオンライン実験の型が確立しました。前後比較の弱点だった時間的な変化は両群に等しくかかるため自動的に相殺され、残る差は施策の効果だけになる — RCTの論理がそのまま、日々のプロダクト改善の道具になったのです。

詳細

実験の流れ

A/Bテストは思いつきで走らせるものではなく、実験計画法の型に沿って設計します。典型的な流れは次のとおりです。

仮説を立てる
ボタン文言を変えれば登録率が上がるはず

評価指標と最小検出効果を決める

必要サンプルサイズを検出力分析で見積もる

ユーザーを無作為にA群とB群へ割付

両群へ同時に配信しログを収集

差を仮説検定で評価

採用・不採用を判断し次の仮説へ

要になるのは配信前の設計です。まず「何を改善したいのか」を1つの主要指標(登録率、購入率など)に落とし込み、「どれくらいの差があれば実務的に意味があるか」(最小検出効果)を決めます。そのうえで検出力分析を行い、その差を検出するのに必要なサンプルサイズと実験期間を見積もります。登録率のような割合の指標で数%の改善を検出するには、群あたり数万〜数十万ユーザーが必要になることも珍しくありません。

訪問ユーザー属性はさまざま無作為割付 50 : 50A群 — 現行版コントロールB群 — 新版トリートメント登録率 4.0%登録率 4.4%← 差は施策の効果 →
A/Bテストの構造 — 無作為割付が2群の背景を釣り合わせ、差を施策の効果と解釈できるようにする

結果の読み方

実験が終わったら、2群の指標の差を仮説検定で評価します。割合の比較なら比率のz検定やカイ二乗検定、連続量の比較ならt検定が定番です。ただしp値が小さいことと、その差にビジネス上の価値があることは別問題です。巨大なサンプルでは0.01%の差でも「有意」になり得るため、差の大きさを信頼区間効果量で示し、事前に決めた最小検出効果と照らして判断します。

典型的な落とし穴

もっとも有名な失敗が「のぞき見(peeking)」です。実験の途中経過を毎日眺め、有意になった瞬間に打ち切る — これをやると検定を何度も繰り返すのと同じことになり、多重比較の問題で偽陽性率が公称の5%を大きく超えてしまいます。対策は「事前に決めたサンプルサイズに達するまで判断しない」を徹底するか、途中判断を織り込んで設計された逐次検定・ベイズ的な手法を使うことです。同様に、多数の指標や多数のセグメント(国別・デバイス別など)を同時に眺めれば、どれかは偶然有意になります。主要指標は1つに絞り、探索的に見つけたセグメントの差は次の実験で確認する、という規律が必要です。

割付の質にも注意が必要です。同じユーザーが訪問のたびに別の群へ入ると体験が壊れ、効果も薄まるため、ユーザーIDに基づく安定した割付が基本です。またSNSのようにユーザー同士が影響し合うサービスでは、B群の変化がA群にも波及して差が過小評価される「干渉」が起き、独立性の仮定が崩れます。実験開始後に片群だけ離脱が偏れば、無作為化で消したはずの選択バイアスが復活することもあります。

A/Bテストで測れないもの

A/Bテストは強力ですが万能ではありません。測れるのは「無作為に割り付けられる施策」の「比較的短期の効果」に限られます。価格の大幅変更のように一部ユーザーだけに適用すると不公平になる施策、ブランドイメージのように効果が数年単位で現れるものは実験に向きません。また実験は「Bが良かった」と教えてくれますが「なぜ良かったか」は教えてくれないため、定性調査と組み合わせて仮説の質を上げることが重要です。無作為化できない場面で因果効果を推定したいときは、差の差法傾向スコアといった観察データの因果推論手法が次の武器になります。