ベイジアンA/Bテストの紹介

A/Bテストについて聞いたことがある方も多いと思います。A/Bテストとは、AとBの2つのグループを作成し、各グループのパフォーマンスを測定して、どちらがよりパフォーマンスが優れているかをテストすることです。

そこで、このノートではA/Bテストの時に使える「ベイジアンA/Bテスト」について紹介します。

ベイジアンA/Bテストは、ベイズ推定を使用してAがBよりも優れている(または劣っている)「確率」を示します。

この方法の利点は、統計学の知識がなくても、結果を直感的に理解できることです。これは、ビジネスの担当者とのコミュニケーションがしやすくなることを意味します。

もう1つの利点は、結果を評価するときにデータの量についてあまり心配する必要がないことです。AとBでどちらかが優れている確率を読み取ることで、初日(または最初の1時間)からテスト結果を評価していくことができます。

もちろん、十分なデータサイズがある方がいいですが、「まだ十分なデータがない」よりも「AはBよりも60%の確率で優れている」と言える方が意思決定が必要なビジネスで役に立ちます。

使用するデータ

今回はサンプルデータとして、Webサイトのランディングページのデータを使用します。

このデータはWebサイトのランディングページで2つのバージョンでテストしたデータで、各ページで日ごとのページビュー数、サインアップ数がデータとしてあります。

ベイジアンA/Bテスト用のデータの加工方法については、こちらのノートをご参照ください。

ベイジアンA/Bテストを実行する

アナリティクスビューから、タイプに「A/Bテスト - ベイジアン」を選択します。

次に、下記に列を割り当てる必要があります。

  • 目的変数
  • 説明変数

目的変数は、私たちが見たい結果の列を割り当てます。今回の場合、ユーザーがサインアップしたかどうかをみたいため、is_signupを選択します。

説明変数は、テスト対象のAとBを表す列を割り当てます。今回は、landingPagePathを選択します。

値は、AまたはBごとの各結果(サインアップかどうか)に対するサインアップ数を割り当てます。今回の場合は、valueを選択します。

実行すると、ベイジアンA/Bテストの結果が表示されます。

結果の解釈

サマリ

「サマリ」タブでは、ベイジアンA/Bテストを実行した結果、グループのAとBでどちらが優れているのかを知ることができます。このサマリ情報で最も重要な部分は、「改善する確率」の列です。この場合、Aの確率がBよりも優れているのは8%(0.08)であり、Bの確率がAよりも優れているのは92%(0.92)であることがわかります。

「期待される改善率」の列には、AがBよりどれだけ優れているかが示されています。この場合、数値は負であるため、ページAに進むと、コンバージョンが2%ほど悪化すると解釈できます。つまり、Bはパフォーマンスが2%ほど向上します。

改善率

改善率のタブに移動すると、改善する確率の確率分布を確認できます。

X軸は、以下のような計算で、AがBよりどれだけ優れているかを表します。

(A-B) / B * 100

また、各バーはパフォーマンス改善率の確率として読み取ることができます。

例えば、矢印が指しているオレンジ色のバーを解釈するには、「AはBより1.75%(X軸)パフォーマンスが悪く、その確率は10.9%です」と言うことができます。

そして、全てに対するオレンジ色の領域全体の比率(およびすべてに対する青色の比率)は、サマリタブの「改善する確率」の列の下に表示される数値です。

事前情報の追加

上記評価は、事前情報を明示的に設定せずに行いました。事前情報を追加しない場合は、分布に関する事前知識がないと想定し、一様分布を事前情報として使用します。これは十分なデータサイズがあれば問題ありません。しかし、最初の数日間しかデータがない場合は、そうではない可能性があります。

事前情報を提供するには、過去のコンバージョン率の平均と標準偏差を提供して、Exploratoryが事前情報を内部で計算できるようにします。

なお、「予想されるCRの平均」や「予想されるCRの標準偏差」は、コンバージョン率(Conversion Rate)を表しています。

平均と標準偏差(SD)を取得する方法は?

過去のデータをインポートすることで、コンバージョン率の平均と標準偏差をExploratoryで簡単に計算することができます。

下記が過去のユーザーのコンバージョンのデータであるとします。(先ほど使用したデータと同じものを使用しています。)

最初にコンバージョン率を計算する必要があります。

列ヘッダーメニューから「計算の作成」を選択します。

以下のように入力してコンバージョン率を計算します。

signUpCount / uniquePageView

これが、日毎の各ページのコンバージョン率です。

この列を作成したら、サマリビューに移動して、コンバージョン率の平均値と標準偏差を確認できます。

コンバージョン率の平均値は0.09(9.8%)、標準偏差は0.009(0.9%)であることがわかります。次に、これらの数値をベイジアンA/Bテストに指定します。

参考資料

A/BテストやベイジアンA/Bテストについて詳しく知りたい方は、こちらのノートをご覧ください。

また、それ以外にもベイジアンA/Bテストに関する参考資料がありますのでご活用ください。

  • A/Bテストのデータ分析 - リンク
  • 信頼区間 & A/Bテストを使ったマーケティング施策の評価 - リンク
  • 仮説検定 - カイ二乗検定 - リンク
Export Chart Image
Output Format
PNG SVG
Background
Set background transparent
Size
Width (Pixel)
Height (Pixel)
Pixel Ratio