A/B テストでは区間推定を使おう

点推定と区間推定

統計学の分野のひとつに推測統計学 (または推計統計学) というものがあります。さらにその中でよく対比されるものに点推定区間推定があります。その名の通り、一点で推定するのか、幅を持たせて推定するのかの違いがあります。

コインを何回か投げて表の出た回数を集計し、コインの表の出る確率を推定するケースを考えます。推定方法ごとの結論はそれぞれ以下のようなものになります。

  • 点推定:このコインの表の出る確率は 0.5 だろう。
  • 区間推定:このコインの表の出る確率は 0.4 から 0.6 だろう。

区間推定のメリットは、推定値にどれほどの自信があるのかを、区間の幅をもって示せる点にあります。以下のように表にしてみると一目瞭然です。サンプルサイズが大きくなればなるほど、その結果に対する信憑性が上がる様子が見て取れます。

データ点推定区間推定
10 回中 5 回表が出た0.5[0.19, 0.81]
100 回中 50 回表が出た0.5[0.40, 0.60]
200 回中 100 回表が出た0.5[0.43, 0.57]
500 回中 250 回表が出た0.5[0.46, 0.54]

信頼区間と信頼度

区間推定により得られた区間を信頼区間といいます。上の表の [0.19,0.81][0.19, 0.81] などが信頼区間です。

またこの例では信頼度を 95% として計算しました。別の信頼度でも信頼区間を計算してみましょう。

データ90% 信頼区間90% 信頼区間99% 信頼区間
10 回中 5 回表が出た[0.22, 0.78][0.19, 0.81][0.13, 0.87]
100 回中 50 回表が出た[0.41, 0.59][0.40, 0.60][0.37, 0.63]
200 回中 100 回表が出た[0.44, 0.56][0.43, 0.57][0.41, 0.59]
500 回中 250 回表が出た[0.46, 0.54][0.46, 0.54][0.44, 0.56]

信頼度が上がると、区間の幅は大きくなり、より保守的な推定となります。よく使われる信頼度は 90%、95%、99% のいずれかですが、迷ったら 95% にしておくと良いと思います。

ちなみにこの信頼度は、真の値は 95% の確率で信頼区間の中に存在する、という意味ではないことに注意してください。

厳密な定義は以下の通りですが、実務上覚えておく必要はありません。

以下は同値です。

  • rr が信頼度 1α1 - \alpha の信頼区間の中にある。
  • 有意水準 α\alpha のもとで、表の出る確率が rr であるという仮説が棄却されない。

区間推定の使い方

基本

A/B テストの評価に区間推定を使ってみましょう。とあるボタンのクリック率を向上するための施策を考えているとします。既存パターン (original) と施策パターン (test) それぞれに 1000 サンプルを割り当て、以下のような結果が得られました。

パターンサンプルサイズクリック数クリック率
original10002000.2
test10002500.25

20% のクリック率が 25% まで向上したから施策を採用する、というのがよくある結論の出し方です。これはある意味点推定を使った考え方ですね。しかし上でも見たように、どれほどこの値を信頼していいのかが不明瞭です。

そこで区間推定を行い、その結果を図示してみることにしました。

2 つの信頼区間

区間同士に重複している部分がほんの少しあるだけで、はっきりとした差があることが見てとれます。この結果をもとに、施策の採用を判断することができます。図示することで、他のステークホルダーへも説明しやすくなるでしょう。

ビジネス判断

上の例では、既存パターンと施策パターンの区間の重複部分は少しだけでした。ではその重複が大きい場合はどのように判断したら良いでしょうか。実はそこは統計学の管轄外です。はっきりとした統計学的な差が無い場合に、施策を採用すべきかどうかは、あくまでビジネス判断によるものです。

例えば施策のコストが大きいということであれば撤退判断になるでしょうし、evil な仕様を取り除きたいということであれば、採用したいと考えることでしょう。

これは統計的に差がある場合も同様です。統計的に差があったとしても、ビジネス的に差が無いのであれば、採用しないという判断もありえます。

ビジネスの現場で統計学を実践する場合は、統計的判断とビジネス的判断のバランスを取ることが重要です。