Skip to main content
この記事は、ベイズフレームワークを紹介し、テスト結果を分析するための直感的な「Chance to beat」指標に到達した第 1 部の内容に基づいています。Merlin AI を使用した動的ユーザー配分とは何かを理解するために、その記事を読むことをお勧めします。

静的 A/B テスト

ユーザーの割り当てはテストの開始時に固定されます 従来の A/B テストでは、固定数のバリエーションを作成し、一定の静的な割合のユーザーをそれらにランダムに割り当てていました。このような設定では、次の点を考慮してください。
  1. コンバージョンやクリック率の点で、パフォーマンスの良いバリエーションもあれば、悪いバリエーションもあります。しかし、割合はテスト期間中固定されているため、かなりの数のユーザーがパフォーマンスの低いバリエーションを受け取る可能性があります。
  2. どのタイプのバリエーションのパフォーマンスが高いかを推測し、再び最適化されたキャンペーンを作成するために、マーケターが随時手動で確認する必要があります。
  3. さらに、イベントトリガー型キャンペーンや定期キャンペーンは長期間、場合によっては数か月にわたって実行されます。このような手動での操作を随時行うことは不可能な場合があります。
  4. A/B テストは、統計的有意性と仮説検定に重点を置いた厳密な実験を目的としています。一方で私たちが求めているのは、より高い平均コンバージョン率/クリック率の維持に重点を置いた継続的な最適化です。

多腕バンディット

ここでは、カジノのスロットマシンに由来する名前を持つ、多腕バンディット(Multi-arm Bandits) と呼ばれる人工知能アルゴリズムのクラスを紹介します。まず、A/B テストとスロットマシンの類似点を理解しましょう。 あなたはカジノにいて、それぞれレバーの付いたさまざまなスロットマシン(バンディット)がたくさんあります。これらの各マシンの配当の基本的な頻度はわかりません。チャンスの回数は限られており、目標は報酬を最大化することです。どのマシンが最良の配当をもたらすかをどのように学習すればよいでしょうか? 同様に、テストやキャンペーンでも、複数のバリエーションがあり、その中から最良のものを学習する必要があります。サンプルサイズには限りがあります。報酬とは、より高いクリック率/コンバージョン率のことです。 Screen_Shot_2017-03-06_at_6.19.55_PM.png

探索と活用

最良のバリエーション、つまり最良のスロットマシンを見つけることは、探索と活用のジレンマをもたらします。 静的 A/B テストでは、最初に各バリエーションへの割り当てを単純にハードコードします。このテストを開始すると、探索フェーズが始まります。手動での介入後、マーケターはどのバリエーションのパフォーマンスが優れているかを推測し、最適化されたパラメーターでキャンペーンを再作成できます。この新しい最適化されたキャンペーンが活用フェーズになります。このように、A/B テストは完全な探索の後に完全な活用を行うものです。探索から活用へのこの不連続な移行が欠点です。探索にどれだけの時間を費やし、活用にどれだけの時間を費やすべきでしょうか? ジレンマは残ります。 バンディット系のアルゴリズムは、これらの問題に対する答えです。純粋な探索と純粋な活用という 2 つの異なる期間を設ける代わりに、バンディットテストは適応的であり、探索と活用を同時に行います。要するに、すべてのバンディット系アルゴリズムは、探索(学習)と活用(現時点で最良の情報に基づいて選択すること)のバランスを最適に取ろうとしているだけです。私たちの探索と活用の戦略の実装は、ベイズバンディットに基づいています。

ベイズバンディットアルゴリズム

第 1 部をまとめると、CTR/CVR をベータ分布と呼ばれる確率分布の観点から捉えるベイズフレームワークを紹介しました。ベータ分布は、サンプルサイズに基づく私たちの信念を表します。テストの各バリエーションをベータ分布でモデル化することで、Chance of beating に到達しました。任意の時点で、特定のバリエーションが他のすべてのバリエーションの中で最良である確率を常に把握できます。 私たちのバンディットアルゴリズムはこれを基盤とし、この「Chance of beating」に基づいて探索と活用を行います。3 つのバリエーション(A、B、C)の例を見てみましょう。 テストの開始時には情報がなく、真の基本的なクリック率はわかりません。そのため、すべてのバリエーションが勝つ確率は等しくなります。 A: Chance of beating all 33% B: Chance of beating all 33% C: Chance of beating all 33% キャンペーンが進行するにつれて、各バリエーションのインプレッションとクリックが観測され始め、Chance of beating all が再計算されます。 A: インプレッション 100 クリック 15 CTR 15% Chance of beating all 3% B: インプレッション 100 クリック 20 CTR 20% Chance of beating all 19% C: インプレッション 100 クリック 25 CTR 25% Chance of beating all 78% この時点で、得られた新しい割合でキャンペーンを続行します。C が勝者のように見えるため、78% が割り当てられます。これが活用です。しかし、残りの 22% は A と B に割り当てられ、これが探索です。このようにして、Chance to beat を再計算し続け、割り当ては継続的に変化し続けます。

Merlin AI によるコンテンツ最適化

UserDistribution.png MoEngage は、キャンペーンの配信を自動化し、最適化できるソリューションの構築に一貫して注力してきました。静的な多変量テストの欠点を解決し、キャンペーンのエンゲージメントをその場で最大化するために、Content Optimization をリリースしました。この機能では、インタラクションの可能性が最も高いメッセージバリエーションがその場でインテリジェントに予測され、エンゲージメントを最大化するためにユーザーに送信されます。 多変量キャンペーンを作成する際、配分を手動で設定するか、Merlin AI(当社の機械学習アシスタント)に任せるかを選択できます。Merlin AI は、キャンペーンの CTR を最大化するために、バリエーションの配分を動的に最適化します。 UserDistribution_Options.png

Push キャンペーン

Merlin AI はアクティブなプッシュキャンペーンで最も効果を発揮しますが、一般プッシュキャンペーンにも大きな価値をもたらします。
効率的な探索を確保するため、コンテンツ最適化を使用して作成されたすべてのプッシュキャンペーンは、60 分または選択したスロットリング期間のいずれか長い方の期間にわたって送信されます。スロットリングの詳細については、キャンペーンのスロットリングを参照してください。

Email キャンペーン

Merlin AI による A/B テストは、Flows のメールキャンペーンでは利用できません。
Merlin AI で最適化されたキャンペーン分析を提供するには、基準となる指標を定義する必要があります。次のいずれかの指標を選択します。
  1. 開封率 - メールテンプレートにリンクがあまりなく、主に件名でテストを実行している場合に最適なオプションです。
  2. クリック率 - リンクやボタンが多いテンプレートに適しており、ユーザーベースの大部分が iOS 15 を使用している場合など、開封率がユースケースに最適な指標ではないと考えられる場合に適したオプションです。
  3. 開封率とクリック率の両方 - 件名とメール本文の両方をテストするユースケースに適したオプションです。Merlin AI は両方の指標を分析し、それに応じて配分を最適化します。
Merlin AI で最適化されたメールキャンペーンには、2 時間と 4 時間の 2 つのスロットリング期間オプションのみがあります。このオプションは、一般メールキャンペーンと定期メールキャンペーンでのみ利用できます。MoEngage では 4 時間をお勧めしていますが、2 つのオプションのいずれかを選択できます。

キャンペーンの分析

Merlin AI による動的 A/B テストを使用して作成されたキャンペーンでは、マーケターは次の追加指標を確認できます。 1. Projected CTR: ユーザーがバリエーション間で均等に分割された(例: 2 つのバリエーションの場合は 50:50、3 つのバリエーションの場合は 33:33:33)と仮定した場合の、メッセージバリエーションの平均 CTR として計算されます。
定期メールキャンペーンでは表示されません。
2. Final CTR: バリエーション全体の合計クリック数と合計インプレッション数の比率として計算されます。キャンペーン CTR と同じです。 3. CTR Improvement: Merlin AI によるコンテンツ最適化の使用によって得られた CTR の改善で、次のように計算されます。 CodeCogsEqn__2_.png 4. CG Uplift: CG アップリフトは、コントロールグループ(グローバルおよびキャンペーン)と比較した、バリアントのコンバージョン率の改善です。CG Uplift には、コンバージョン率に影響を与えたバリアントが表示されます。
CG アップリフトは次のように計算されます。
CG uplift = (Cumulative CVR of all the variants combined/ Cumulative CVR of CGs combined - 1) * 100
参考として、キャンペーン指標のサンプルスナップショットを示します。このキャンペーンでは、探索フェーズでバリエーション 2 の CTR が高かったため、バリエーション 2 にはユーザーの 82% が割り当てられ、バリエーション 1 にはわずか 18% しか割り当てられませんでした。この機会を活用して、Merlin AI は CTR を 21.21% から 25.70% に改善しました。つまり、21.17%、すなわち 4.5 ポイントの改善です。 Screen_Shot_2017-05-16_at_7.00.19_PM.png *CTR はクリック率(Click Through Rate)です

どのように実現しているのか?

コンテンツ最適化では、ベイズバンディットアルゴリズムを使用しています。ベイズバンディットは、テストの終了時に「最終的な答え」を待つことを強いるのではなく、トラフィックを勝者バリエーションに徐々に移行させるため、配信に効率性をもたらします。明らかに劣るバリエーションに割り当てられていたはずのサンプルを、勝者となる可能性のあるバリエーションに割り当てられるため、より迅速になります。パフォーマンスの高いバリエーションで収集された追加データは、「良い」アームと「最良の」アームをより迅速に区別するのに役立ちます。バンディット手法では、パフォーマンスの低いオプションを選択する可能性を常にいくらか残しているため、そのオプションの有効性を「再検討」する機会が与えられます。これにより、パフォーマンスの低いオプションを新しいオプションに入れ替えるための実用的なフレームワークが、継続的なプロセスとして提供されます。 以前は Sherpa AI と呼ばれていたすべての MoEngage AI 製品は、現在 Merlin AI という名称になっています。