
ABテストのための統計的検定理論というタイトルで、株式会社ユーザベースさんとの共同開催テックイベント「ABテストの理論と実践」に登壇しました
Posted on
株式会社プレイドのCore Platform という部署でデータサイエンスしている近藤です。
ちょっと前になりますが、去る2023年7月10日にNewsPicksさんと共催で実施した「【PLAID×NewsPicks共同開催】ABテストの理論と実践〜成果にコミットするプロダクト開発〜」というタイトルのテックイベントに登壇しました。
今回は、その内容の振り返りや補足、当日説明できなかったことなども含めて記事にしようと思います。
当日の様子は以下のyoutube リンクをご覧ください。
NewsPicksの皆様によるABテストに関する取り組みなども伺えて、非常にためになる内容になっています。また、NewsPicksの皆様にはこのような機会をいただきまして、この場をお借りして感謝申し上げます。
【PLAID×NewsPicks共同開催】ABテストの理論と実践〜成果にコミットするプロダクト開発〜 - UB Tech Vol.10
さて、当日お話したABテストで重要な視点として
- ABテストも分析であるということを意識しよう
- 統計的仮説検定にこだわらずに意味のある結果を抽出することを考えよう
というポイントをお伝えしました。こちらの記事では、ABテストを例として分析が統計的仮説検定につながるように補足の説明していこうと思います。
また最後には、テックイベント当日に出た質問にも改めて回答をつけていますので、よろしければご参考にしてください。
ABテストとは
まずこの記事のテーマであるABテストとはどのようなものかを紹介しておきます。テックイベントでも言及したものですが後の説明の土台となるので、繰り返しになりますがご容赦ください。
まずECサイトのセールなど、対象となる特定のユーザーに対して、特典が発生する施策を考えます。特典と呼びましたが、セール・クーポンなどのインセンティブだけではなく、新機能の公開や告知などの様々な事例が考えられます。この記事では、それらを総称して「特典」と呼びます。このときに、以下の条件で施策を実施するときに、ABテストと呼んでいます。
- 施策の対象ユーザーをいくつかの群に分けて、群ごとにユーザーが受け取る特典を変える。
- ユーザーはいずれかの群にランダムに割り当てられる。
- ユーザーが一つの群に割り当てられた後には、他の別の群には割り当てられることはない。
- すべての群に対して、施策が同時に実施されている。
以上が大きな条件ですが、細かいものとして以下のものなどもあります。
- すべてのユーザーは自身がどの群に割り当てられたか知ることはできない(盲検化)
- 群同士で結果を比較できるように客観的な結果指標が設定されている。
こうして実施されるABテストは、ユーザーが各群にランダムに割り当てられることによって、ABテストには施策の実施有無以外の条件は群の間で平等となるので、群による特典の違いのみが結果指標に現れるようになる、という特徴があります。ABテストのこの特徴によって、どの特典がユーザーにとって、また実施企業にとってメリットがあるかを判別することができ、実施企業がどの特典を今後実施するか、または実施しないかなどを判断する材料にすることができます。
また逆に、ユーザーをランダムに群に割り当てられない場合は、うまく比較する事ができなくなってしまう点に注意する必要があります。他の分析手法では、特典のみを比較するということをなかなか実現できないので、ABテストの大きな強みになっています。
以上がABテストとは、とその前提条件になりますが、ABテストの目的に照らすと、その実施結果をどう分析し、解釈し、次の行動につなげるか、ということが重要になってくることがわかると思います。この記事でのテーマの中心はABテストの実施結果の分析が大きな主題になってきます。
ABテストの結果の分析
ここからはABテストの結果の分析方法を深掘っていき、統計的考え方の必要性と統計的仮説検定の使い方を説明していきたいと思います。以降では説明を簡潔にするために、A群とB群の2つの群に分けてABテストを行った事例を考え、購入などのサイトに設定されたゴールに到達したかどうか(CV)を判定することにします。
ABテストの結果は下表のようにまとめることができます。
A群 | B群 | |
---|---|---|
CV | 15 | 16 |
NOT CV | 85 | 84 |
A群とB群でどちらの方が良いかは、各群のユーザー数(度数と言います)ではなく、CVR(CVした人の割合)で比較することになります。CVRの比較をわかりやすくするために、グラフで表現することもできます。イベントでは棒グラフでの表現をしましたが、この記事では省略します。
CVRの比較をするとなったときに、実は大きさの比較はそのままではできないことがわかります。理由は、どこまでなら差が小さいか、または大きいか、ということはCVRの値だけでは評価することができないからです。これを以下の例で説明します。A群でCVRが15.0%、B群でCVRが16.0%となる以下の2つのケースを考えます。
- ケース1: A群は150人がCVし、850人がCVしなかった(CVRは15%)。B群は160人がCVし、840人がCVしなかった。
- ケース2: A群は15人がCVし、85人がCVしなかった。B群は16人がCVし、84人がCVしなかった。
各ケースでA群とB群のCVRに1.0%の開きがありますが、その1.0%の差が大きいか小さいかを評価することを考えます。
まずケース1についてです。A群で150人に追加して、もう一人CVしたら、151人がCVすることになります。このときA群のCVRは15.1%に増えますが、B群のそれが16.0%となっていて、依然としてCVRに差があると判定できそうです。
同じことをケース2で考えます。A群の15人に追加でもう一人CVしたとすると16人になり、こちらではCVした人は16.0%になります。これはB群のCVR 16.0%と一致し、CVRに差があるとは言えなくなってしまいます。
この例からわかるのは、同じ1.0%の差であっても、各群のサンプルサイズが小さいほどCVRの振れ幅が大きくなるため、CVRの差が大きいと評価することが難しくなる、ということです。
統計学では、このような特徴を踏まえてCVRの大小を比較するために、CVRがどのような値をとりえるかというモデル化を行うことになります。それをCVRの値ごとの「起こりやすさ」を表す確率分布というものを決めておく、ということになります。具体的には、A群とB群のCVRそれぞれがなんらかの確率分布に従うと考えます。以下のようなイメージになります。
釣り鐘状のグラフが、CVRの値に応じた起こりやすさを表すグラフになります(正確には確率密度関数といいいます。)。
正規分布という名前でよく言及されるので、ご存じの方も多いと思います。
このグラフの特徴は、ある値(平均)を中心にその付近の値は起こりやすく、それから離れると起こりにくくなるという特徴があります。
A群とB群のそれぞれでCVRがどんな確率分布となるかは異なりますが、それを並べると以下のようなグラフになります。
2つのグラフが近ければCVRの差が小さい、離れていればCVRの差が大きいと判断できそうです。CVRの値そのものを比較するときと比べてみてください。その時と比べると、「起こりやすさ」という要素が加わったことが、比較の判断に使えるようになっている事がわかるかと思います。
しかし残念なことに、これでも「これだけはなれていれば明確に異なる」という判断基準が得られたことにはなりません。
その考え方を考察するために、次に具体的にA群とB群の比較方法を説明します。
確率分布を使った比較の方法
先程のA群とB群のCVRの確率分布を比較する図は、よくABテストの結果の分析図で用いられるものですが、この図を用いてA群とB群の大小比較をすることは難しいです。
理由は、A群とB群のCVRが離れていたとして、それが起こりやすいのか起こりにくいのかが判定することが難しいためです。
実は、A群とB群がそれぞれ別の確率分布に従っているときに同じ数直線上で表すのではなく、A群とB群のペアが起こりやすいかどうかを考えることでこれを解決することができます。
A群とB群のペアの起こりやすさを表す確率分布は同時分布と呼ばれます。
これを3次元のグラフで表すと下図のようになります。
底面の2次元グラフがA群とB群のペアを表しています。
底面のペアに対して、そのペアの起こりやすさを縦軸の高さで表しているのがグリッドで表示した3次元のグラフです。
A群とB群のペアごとに値が高い方が起こりやすく、値が低い方が起こりにくいことを表しています。
この3次元グラフに色をつけていますので、赤い領域にあるペアほど起こりやすく、色が薄くなるほど起こりくいことを表しています。
先程同じ数直線上で並べていた2つの確率分布は、グラフの奥に見えています(周辺確率分布と呼ばれます)。
A群のグラフであれば、B群のCVRのどの値が起ころうが関係なく、A群だけの起こりやすさを表現したグラフになっています。
これだと情報量が多すぎて逆にわかりにくいので、地図と同じように等高線で同時分布である3次元のグラフを表し直します。上図の中で、起こりやすさが同じペアをグレーの円で表しています。
これをいくつか取ってきて2次元で表し直したものが下図になります。
等高線が前図の3次元グラフの等高線に対応していて、起こりやすさが同じA群とB群のペアを表しています。この等高線の半径が短いペアほど起こりやすく、長いペアほど起こりにくいものとなっています。アスタリスク(*)は分布の中心を表していて、この点が最も起こりやすく、この点から離れていくペアほど起こりにくくなっていきます。
A群とB群それぞれの起こりやすさはグラフには現れませんが、どの点が起こりやすいかによる比較は、こちらの図の方がしやすくなります。
この図で大事なところは、起こりやすさよりも図内の45度線で表したA群とB群のペアで、この線上のCVRのペアは同じ値を取っています。分布の中心(*)がこの直線上にある分布からCVRのペアが発生していたら、A群とB群で完全に差がないと評価できそうです。逆に分布の中心がこの直線から離れていればいるほど、A群とB群の差がより大きいと評価できることになります。
このように、CVRの値そのものではなく、どのような分布から値が得られたか、ということに目線を移すことが、確率分布を使った大小関係の比較の重要な考え方になります。
もちろん実際に得られたCVRの値がこの直線に近い値となっているか、または直線から離れた値となっているかも重要です。しかし、この考え方は前述したCVRの値自体の比較となっており、確率分布の考えなしに、その差の大小に基準を設けることができないということには注意が必要です。
もう少し、考察を続けるためにグラフを追加します。
先程の図に加えて、CVRの差がありそうな青色のグラフを追加しました。
また、実際に施策を実施した結果、オレンジの星に位置するCVRのペアが得られたとしましょう。この場合多くの方は、得られた結果(オレンジの星)は、その起こりやすさは灰色の点線で表されるのではなく、星が中心に近い青色のグラフによって表されると考えるのではないでしょうか。そして青色のグラフの方がCVRに差があるのだからA群とB群に差があると言って良いのではないか、と考えることができます。
以上のような考え方によって、差の大小を評価するのが統計学を用いた比較の方法の一例になります(一例と書いたのはベイジアンの方々が現れるためです.)。2群に差があるかどうかは、絶対的な値の差ではなく、どのくらい離れている確率分布から出てきていそうか、と考えることが重要になってくることが少しでもお伝えできていれば幸いです。
また、2群の比較をする上では、統計的仮説検定を用いる前に、そもそもあるA群とB群のペアを中心とした確率分布を想定して得られた結果は起こり得るのか、ということを分析として考えることが大事だと考えています。
統計的仮説検定
では、統計的仮説検定を行う場合、どのようなロジックになるのか説明します。
次のようなロジックでA群とB群の差があるかどうかを見出すのが、統計的仮説検定の考え方になります。
ポイントは2つあります。
先程のグラフでは、等高線の半径が大きい領域にあるペアが発生していたら起こりにくいと思っていたことが起きている、ということでした。
1つ目のポイントは、このことを逆に使って、実際にサンプルを取って値のペアを計算したところ、起こりにくいと思っていたことが起きているのであれば、元々このグラフで想定した確率分布が間違っている、と考えるのが統計的仮説検定になります。
もう1つのポイントは、想定するグラフとして、A群とB群のCVRが一致してる、すなわち斜め45度線上に同時分布の中心があるものしか考えない、ということになります。
この「A群とB群のCVRが一致してる」というパラメータの設定を、帰無仮説と言います。
実際の判定手順としては、始めに「起こりにくいと思っていた」ことの基準を何%の確率で発生するものなのか、ということを予め決めておきます。
これを有意水準と言い、典型的には5%や1%といった確率が選ばれることが多いです。
その次に、施策を実施してサンプルを取ってCVRを計算し、どの程度の差があるのかを見ます。
統計的仮説検定の実際としては、A群とB群のCVRを直接比較するのではなく、その差を基準化したものを検定統計量と呼び、これを計算します。
その値が先程決めた有意水準という確率と比較して、それより稀に起きるような計算結果が得られた場合、「A群とB群のCVRが一致してる」という想定が誤りであったとして、「A群とB群のCVRは一致していない」という結論を出します。
具体的に何をしているかということをグラフで説明します。
先程の図にいくつかの要素を加えました。事前に指定した有意水準によって、ある水準以上のA群とB群のCVRに差が出るのはその有意水準以下の確率となる領域が決まります。それを統計学の言葉では棄却域と呼びますが、その領域を赤色で記載しました。
計算されたCVRのペアが青色の星だった場合とオレンジ色の星だった場合の2とおりを考えます。
青色の星だった場合は棄却域の中に入っていて、仮定した確率分布からすると稀な事が起きているので、「A群とB群でCVRは一致している」という仮説を棄却します。一方でオレンジ色の星だった場合は、棄却域に入っていない、つまり仮定した確率分布からすると十分起こり得る結果だったため、「A群とB群でCVRは一致している」ことは否定出来ない、という結論になります。
ここまで統計的仮説検定のあらましなのですが、ここで注意すべき大事なことがあります。上記で述べたとおり、統計的仮説検定では稀な事象が起こったということを拠り所に、「A群とB群でCVRは一致している」という仮説を否定する事ができます。しかし、実際に成り立っている仮説、については何も言っていません。分布の中心が斜め45度線の近くにあるのか、十分に離れているのかと言う情報には関心がないのです。
ここで元々の施策の実施結果の分析という視点に立ち返ってみます。私たちが施策を実施した結果嬉しいのは、実施した結果が良かったときです。どれくらいの効果であったかは保証していないのです。したがって、私たちが分析をして見出すしかないのです。前の項に戻ってどんな分布だったらありえそうかということを分析することが大事とお伝えしていたのはこうしたことに依っていたのです。
以上で統計的仮説検定についての簡単な説明だったのですが、いかがだったでしょうか?技術的に実現可能な手法、という意味では非常に強力であることに疑いはありません。しかしこの手法に依存しすぎて、本当に見るべきもの・分析すべきものを見失ってはいけないと考えています。
ちなみに、こちらは登壇時のタイトルにもありましたように〜序論〜となっています。もしかしたら次は〜続論〜を執筆するかもしれません。
We are hiring!
CX(顧客体験)プラットフォーム「KARTE」を運営するPLAIDでは、今回ご紹介したような、WEBサイトなどのABテストで効果を発揮できるプロダクトを開発したいという方を募集しています!詳しくは弊社採用ページまたはWantedlyをご覧ください。