一般的な方法論

この記事の内容:

オプティマイズによるテスト結果の測定方法で、他のツールと違うところはどこですか?

他の多くのテストツールで採用されている方法(テスト期間の全体を対象とした頻度論に基づく結果分析)と比べると、オプティマイズのアプローチは 2 つの重要な点で異なります。

まず、統計の生成にはベイズ推定を使用します。ベイズ推定は高度な統計分析の手法であり、データの蓄積に合わせてテスト結果の精度を継続的に高めることが可能です。計算が複雑で処理能力も必要ですが、ベイズ推定には従来のアプローチと比べて、次のような多くのメリットがあります。

  • 仮説検定に基づくアプローチのように何度もテストを重ねることなく、あるパターンが総合的に最善である確率を示すことができます。
  • ベイズ法では確率を直接計算し、マーケティング担当者が実際に抱えている疑問に対してより適切な回答を示すことができます(p 値を提示しても、ほとんどの人は正確には理解できません)。詳しくは p 値についてをご覧ください。

以上のようなメリットもありますが、ベイズ推定を使用する最大のメリットの 1 つは、A/B テストや多変量テストの結果を分析する際により高度なモデルを使用できることです(オプティマイズが他のアプローチと異なる 2 つ目の大きなポイント)。従来のテスト方法では、「万能型」のアプローチを適用し、多くの推測に基づいてテスト結果が分析されます。しかし、ベイズ推定では、テストごとに異なるモデルを使用することが可能です。Google では新しいモデルの評価を重ね、テストの実施者ができるだけ早く正確な結果を得られるよう支援しています。たとえば、次のようなモデルを使用しています。

  • 階層モデルでは、時間の経過に左右されずにパターンのコンバージョン率を一貫性を持ってモデル化できます。時間とともに薄れてしまう「新しさ」の影響が大きいテストの場合は、階層モデルを使うことにより効果的にその影響を相殺することが可能で、特定のパターンが将来的にどのようなパフォーマンスを発揮するか正確に表すことができます。
  • コンテキスト モデルでは、テストやユーザーの状況に関する情報を取り込むことができます。新規ユーザーの行動パターンがリピーターと異なる場合は、その情報を考慮して全体的な結果を評価し、より正確な最終結果を得ることができます。
  • 持続的変化モデルでは、すべてのパターンに影響する全体的なパフォーマンスの傾向を排除し、各パターンの変化の影響を個別に明らかにします。週末のコンバージョン率が平日のコンバージョン率と大きく異なる場合は、その影響を均等化することで、相違を明確にすることができます。

より複雑なモデルを使えるベイズ推定を使用することで、テスト結果に影響を与えるすべての要素をより正確にモデル化できるようになります。現実の世界では、ユーザーが必ずしもパターンを 1 回だけ見て、そのままコンバージョンに至るわけではありません。特定のパターンを何度も見るユーザーもいれば、1 回しか見ないユーザーもいます。特売日にアクセスするユーザーもいれば、その他の日にアクセスするユーザーもいます。お客様のデジタル プロパティを何年も前から利用しているユーザーもいれば、新しいユーザーもいます。Google が採用したモデルはテスト結果に影響を与えるそうした要素を考慮しますが、従来のアプローチでは無視されます。以下にメリットをいくつかご紹介します。

  • テスト結果に影響を与えるその他の複雑な要素を考慮に入れて、特定のパターンでどの程度のパフォーマンスを見込めるか、より正確な情報を提供することができます。
  • サンプルサイズの最小要件がなく、他の角度から結果を評価できるため、トラフィックの少ないテストでは、たいていの場合で結果を早期に提示することができます。
  • 多変量テストを迅速に実施し、包括的に分析することができます。

A/B テストの測定に関して、オプティマイズが解決しようとしている課題は何ですか?

現在の市場の状況と、ウェブテストや Google ウェブサイト オプティマイザーでこれまでに得たデータから、Google ではいくつかの主要な課題に気付きました。

  • テストの実施者は、テストの結果が正しいのかどうかを確認したいと思っています。また、パターンの結果が総合的に最善である可能性がどのくらいなのかも知りたいと思っています。そして彼らは、結果の有意性も知りたがっています。p 値と仮説検定ではそうした内容は確認できません。ほとんどのテスト実施者は、p 値の意味している内容がわからず、結果的に間違った結論に達してしまいます。p 値の解釈については科学者でも苦労するほとです。
  • テストの実施者はテストの状況を何度も頻繁に確認する傾向があり、それが問題となります。頻度論的アプローチで早い段階からデータを参照し、それに基づいて判断すると、間違った結論になることがあります。
  • テストの実施者は結果を迅速に入手したいと思っていますが、正確であることも望んでいます。画一的なテスト手法は、結果は時間の影響を受けないという前提に立っていますが、ほとんどのテストはユーザーが新しいコンテンツに反応したり、途中で行動パターンを変えたりすることから影響を受けます。このため、テストの実施者の多くは、勝者が確定した後でもテスト結果は変わり得ることに気付いています。また、平日と週末での行動の違いなど周期的な変化も結果に影響を与えることが多く、そうしたサイクルを無視すると正しい結論には辿り着きません。
  • 単純化した多変量テストでは、期間を非常に長く設定するか、組み合わせを限定してデータの質を犠牲にするか、多くの場合で二者択一を迫れることになります。

利用できる「高度なモデル」の例を挙げてください。

オプティマイズでは目的に応じてさまざまなモデルを使用しますが、よく使用する階層モデルでは、各パターンの 1 日のコンバージョン率をモデルの入力として使用できます(もっと一般的なアプローチでは、テスト期間全体における未処理のコンバージョン数と試行回数が合計され、単純な頻度論的計算の入力として使用されます)。この違いは重要なことで、階層モデルなら、将来の見込みのコンバージョン率をより正確に把握できるということです。また、コンバージョン率が一定で推移している場合はより迅速に結果を得ることができ、コンバージョン率の変動が激しい場合はより正確な結果を得ることができるということでもあります。

次の簡単な例を考えてみましょう。

  • オリジナル x 1、パターン x 1
  • それぞれ 1 日あたり 1,000 回の試行
  • 長期的に見たパターンの実際のコンバージョン率(CvR): 1%
  • オリジナル(定数)の CvR: 3%
  • パターンの「新しさ」の影響: 新しいものはユーザーがクリックしやすい(たとえば、テストの開始時にコンバージョン率が 10% でも、数日かけて徐々に低下する)

グラフで見ると、パフォーマンスは次のように推移します。

Chart: average conversion rate

平均コンバージョン率(赤)はほとんどのツールで表示されます。平均コンバージョン率が実際のコンバージョン率 1% に近づくまでには、非常に長い時間がかかります。パターンは 8 日目あたりまでは勝者として示されています。

一方、階層モデルでの計算の結果は、1 日の CvR の曲線(青)のようになります。コンバージョン率の動きの一貫性が気になりますが、実際には非常に大きく変動していることがわかります。結果として、最初はパターンが勝者ですが、3 日目になると、平均 CvR が示しているよりはるかに結果が不透明であることがはっきりします。

ベイズ推定とは何ですか?

ベイズ推定は、既存のデータを使って、今後のデータがどうなるかより正確に推測する手法です。蓄積されるデータを使って「モデル」の精度を高めれば、より正確な結果を得ることができます。

では、具体的に説明しましょう。

自宅でスマートフォンをどこに置いたかわからなくなりましたが、5 つある部屋の 1 つから呼び出し音が聞こえてくるとします。普段の置き場所は、たいていは寝室と決まっています。

頻度論的アプローチでは、立ち止まって呼び出し音に耳を傾けることしかできません。その場から一歩も動かず、どの部屋にスマートフォンがあるか十分な確信を持って言い当てることが求められます。なお、スマートフォンの普段の置き場所に関する知識は活用することができません。

一方、ベイズ推定のアプローチはもっと常識的なものです。まず、スマートフォンをいつも寝室に置いていることがわかっているので、寝室で見つけられる可能性が高く、その知識を使うことが認められています。次に、呼び出し音が鳴るたびに、スマートフォンがあると思われる場所へ少し近づいてみることが可能です。これなら、スマートフォンをすぐに見つけられる可能性がかなり高くなります。

ベイズ統計についてもっと詳しく説明してもらえませんか?

ここで説明するよりも、優れた統計学者による解説に目を通してもらった方が良いかもしれません。初心者向けの概要はこちらでご覧ください。

ベイズ推定や上記のような高度なモデルが使用されない場合があるのはなぜですか?

理由はいくつかあります。まず、ベイズ以外の手法の方が教えるのが簡単ということがあります。そのため、統計学の入門クラスでは長年にわたりベイズ以外の手法が教えられてきました。ベイズのモデル化では確率のことを深く理解する必要があり、ベイズ推定では膨大な量の計算が必要となります。パターンと目標の 1 つの組み合わせで結果を生成する場合は、マルコフ連鎖モンテカルロ法(MCMC)、つまり各パターンのパフォーマンスをモデル化するシミュレーションを数万回(またはそれ以上)にわたって繰り返す必要があります。これは実現できない時代が長く続き、現在でもそれだけの計算をするのは容易なことではありません。しかし、幸いにも、Google はそうした大規模な処理を得意としています。

ベイズの手法を使うと、高度なモデルも使用できるようになります。頻度論的アプローチでも一部のモデルは利用できるかもしれませんが、正確な結果を表示するための補正がかなり複雑になり、ベイズ推定なら提供されるメリットもいくつかは受けることができません。

各種の問題をオプティマイズはどのように解決するのですか?

解釈の問題: ベイズ統計では、「このパターンがオリジナルより優れている可能性はどのくらいあるか」、または「このパターンが総合的に最善である可能性はどのくらいあるか」という質問に答えることができます。計算は複雑になりますが、回答自体は人間の思考により近いものになります。

頻繁な確認(覗き見)の問題: 時間の経過とともに生じる結果の変化が考慮されるモデルを使用するため、結果の確認はいつでも行うことができます。データの蓄積に合わせて、確率が継続的に調整されるようになっています。

多重比較の問題: ベイズの手法では、パターンのパフォーマンスを 1 対 1 で比較するのではなく、すべてのパターンの相対的なパフォーマンスをまとめて計算するため、各パターンの将来的なパフォーマンスを把握するために何度も比較を繰り返す必要がありません。また、ベイズの手法では、データの部分部分を切り分けて確認するときに、高度な統計的補正を行う必要がありません。仮説検定を使う場合は、データをさまざまな角度から見るときに統計的補正が必要となりますが、ほとんどのツールはこれに対応していません。部分部分を集めて十分な量のデータを確認すれば、正しそうな結果が偶然に見えてくることもありますが、オプティマイズではそうしたことが起こる可能性を最小限に抑えるようにしています。

スピードと正確性: 総計に基づいて 1 対 1 の比較をするのではなく、時間の経過を考慮し、すべてのパターンのパフォーマンスをまとめてより正確にモデル化するため、「万能型」の頻度論的アプローチが適用されることはありません。このため、(特にトラフィックが少ない場合など)データが一定であれば、多くの場合で結果を迅速に得ることができ、データの変動が大きい場合はより正確な結果を得ることができます。

トラフィックの経時変化: テストの結果に時間が及ぼす影響を考慮した高度なモデルを使用します。そうした影響があるという前提で分析を行うことにより、時間が経過しても有効性を保つ最適な結果を得ることができます。

多変量テスト: オプティマイズのアプローチでは、組み合わせ単位のパフォーマンスと、さまざまな組み合わせでのパターンのパフォーマンスの両方を確認できます。このため、すべての組み合わせを試すことができますが、同等の A/B テストよりかなり早めに結果を確認することができます。

この記事は、オプティマイズの統計と方法論に関するよくある質問をまとめたものです。この件に関するよくある質問は、次の記事でもご覧いただけます。

この情報は役に立ちましたか?
改善できる点がありましたらお聞かせください。