こんにちは。CPO室の林です。
普段はデータアナリストとして、プロダクト戦略の策定から、既存機能の改善まで、主に定量データの観点からプロダクトの意思決定に係わっています。 そのうちの一つに、新規機能や施策の効果検証がありますが、その際に重要な方法論の一つとして「A/Bテスト」があります。
おそらくプロダクト開発やマーケティングに係わっている方は、聞いたことがある、あるいは実施しているという方も多いのではないでしょうか。 このA/Bテスト、あまりに聞きなじんでいるため、よくあるプロダクト改善方法の一つくらいに考えているかもしれませんが、ほんとはすごいやつなんです。 普段なにげなく行っているA/Bテストがどんなやつで、何を行っているのか、その真の姿に迫ってみたいと思います*1。
どちらがいいか? それだけじゃない!
A/Bテストとはなんでしょうか。
プロダクトに変更を加える場合、加える施策に効果はあるのだろうか? やってみなければわからないので、施策を行うか行わないかをランダムに割付けた複数ユーザグループを用意し、同時期に実施したグループ間の結果を比較することで最適化が行える、そんな説明を見かけたことがあるかと思います。
どちらがいいかを検証する方法、もちろん間違いではないのですが、ほんとうはもっとすごいことを行っているのです。
A/Bテストで何ができるのか
実はA/Bテストでは単に良かった悪かったを検証しているだけではなく、施策と結果に「因果関係」があったのかどうか、これを検証しているのです*2。 単なる言いかえに聞こえるという方もいるかもしれませんが、この違いを意識することは大切です。 ビジネスでは収益を上げる、ユーザを増やす等、何かしらの目標(指標)の達成を目指しており、特定の行動でその数値を改善することができる、つまり因果関係が明らかになることは、 非常に大切であり、データ分析においても重要な目的の一つであるといえます。 たんに良かった悪かったを繰り返しただけでは、結果としての蓄積は残りますが、再現可能*3な知識の積み重ねにはなりません。 テスト前にしっかり仮説を立て、何を検証するのか、そして何が検証できたのか、これをしっかり積み重ねていくことが大切です*4。
もう一つ、A/Bテストにはすごいところがあります。データから因果関係を推定する方法はいろいろ考えられていますが、実は特殊な状況下*5以外で自信をもって因果関係があったといえる有力な方法は現在他に知られていないのです。 次に説明するように、施策を行った後、過去のデータを見ただけでは、一見因果関係があるようで、ほんとうに原因と結果になっているかを証明するのは実は難しい問題なのです。
前後比較で大丈夫?
因果関係を知ることができてうれしいのはわかるけど、A/Bテストを行わなくても、施策を実施する前より実施後のほうが指標が改善されていれば施策の成否がわかるんじゃないの? と思われるかもしれません。 確かに誰が見ても施策の影響としか思えないような大きな効果があれば前後比較でもあまり間違うことはないでしょう。しかし、実際は以下のような状況のため、なんとも言えない…となってしまいがちなのです。ここでは、A/Bテストで肝になる、比較対象の設定や、施策をランダムに割付けていないために起こってしまう問題を見てみましょう*6。
季節性や経時的な変化
通常改善したい指標は時間に対して一定ではなく、トレンドや季節性など周期的な変化をしていることがあります。 繁忙期にさらに売り上げを伸ばす施策を行ったとして、最終的な売り上げ増に施策は貢献していたのでしょうか? 何もしなくても売り上げが増える時期なので、施策の効果分があったのかなかったのか。なんとも言えません…。
平均への回帰
経時的な変化に似ていますが、季節性などの理由がなくても、通常指標は平均的な値を中心に上下しているものです。すなわち、一時的に指標が悪い値になっていたとしても、下降トレンドでなければ、また平均に戻っていくのです。 この戻っていくタイミングにたまたま施策を実施していたらどうでしょう。ほんとうは効果の無い施策も効果があるように見えてしまいます。 スポーツ選手でもかならず好不調の波というのはあるもので、不調のあとは復調する可能性が高いわけですが、コーチが不調時に毎回厳しく指導していたらどうでしょう。その後、選手が復調した場合、自分の指導で改善したと感じるかもしれません。 なにもしなくても復調したのに!*7
選択バイアス
前後比較で起こる問題は、同時に比較できるグループを用意することである程度対処することができますが、施策のランダムな割付によって用意したグループでない場合、問題が起こる可能性があります*8。 就職支援のため、失業中の希望者に職業訓練の施策を行ったとしましょう。このとき職業訓練を受けていない失業者より、訓練を受けた失業者のほうが就職率が高かったとします。 やった! 施策の効果があった! そう考えていいのでしょうか? 実は訓練には大した効果はなく、訓練参加を希望する人ほど就職活動への熱意が高かったため就職率が高かった、こんなこともあるのです。
施策後のデータからこれらの問題を回避する方法もいろいろ考えられてはいます。しかし、追加のデータが必要だったり、そもそも対処したくてもできない場合もあるのです。それどころか、対処すべきなのに、気づくことができなかったということもあるでしょう。これはより本質的な問題ですが、どこまで考え抜いたとしても全て対処できたかは原理的にわからず、善処はしたがどこかに問題があるかもしれないという結論しか施策後のデータからはだせないのです。これら複数の問題をいちいち考えることなく(気づかなかった問題すら自動的に対処してくれる!)、因果関係の効果を検証できる*9のがA/Bテストなのです。
まとめ
- ビジネスにおいて因果関係は大切。
- 施策を実施した後にデータから因果関係を検証するのは難しい。
- A/Bテストを行えば因果関係を検証することができる。
- というか、なんのケチもなく因果関係の効果を検証できるのは実はA/Bテストだけ。すごい!
みなさん、コストが見合う限りはA/Bテストを行いましょう。
*1:企画職向けに多少正確性は犠牲にして説明しています。
*2:ここでは介入(施策)の有無の比較について述べていますが、A/Bテストという言い方だと二つの施策を比較する場合を指すことが多いかもしれません。その場合は相対的な効果の大きさの比較を行っていることになります。
*3:著しく外的妥当性が損なわれない範囲で。
*4:機械学習モデルの自動選択や、ボタンの色を変えるなど局所最適を目指している場合は選抜のみを目的にすることもあります。とはいえ、施策を思いついた時はその裏に何か仮説を持っていることが多いと思いますので、一度立ち返ってみるのがいいでしょう。
*5:回帰不連続デザイン等。
*6:観察データから因果推論という意味では交絡の問題など他にも考えなければならない問題があります。
*7:一人の選手についての話のように書いていますが、正確には平均への回帰は統計的な効果なので、極端な例を集めてくれば、その平均値は次の測定時には改善される可能性が高いということです。集団内ではさらに悪化する例というのもあるでしょう。また、長期に不調だった選手が指導後に復調した場合など、指導効果と考えられる場合もあるでしょう。あくまで前後比較だけでは介入の効果を明らかにするのが難しいという話です。
*8:選択バイアス以外の問題にもランダム割付けは重要です。
*9:正しく実施できれば。正しく実施するのはそれはそれで難しさや落とし穴もあります。また、偶然の不均衡は避けられないので複数テスト結果を統合した系統的レビューの方がより正確です。