Evidently の結果算出方法 - Amazon CloudWatch

Evidently の結果算出方法

Amazon CloudWatch Evidently の A/B テストを、データドリブンな意思決定のツールとして使用できます。A/B テストでは、ユーザーはコントロールグループ (デフォルトのバリエーションとも呼ばれる) と処理グループ (テストされたバリエーションとも呼ばれる) のいずれかにランダムに割り当てられます。例えば、コントロールグループのユーザーは、実験開始前と同じようにウェブサイト、サービス、またはアプリケーションを体験する可能性があります。一方、処理グループのユーザーもこの変化を体験する可能性があります。

CloudWatch Evidently では、1 つの実験で最大 5 つの異なるバリエーションがサポートされています。Evidently がこれらのバリエーションにトラフィックをランダムに割り当てます。これにより、各グループのビジネスメトリクス (収益など) やパフォーマンスメトリクス (レイテンシーなど) を追跡できます。Evidently は以下の操作を行います。

  • コントロールグループと処理グループを比較します。(例えば、新しいチェックアウトプロセスで収益が増加するか減少するかを比較します。)

  • 処理グループとコントロールグループで観察された差が有意であるかどうかを示します。これについて、Evidently には頻度論的有意水準およびベイズ確率という 2 つのアプローチがあります。

頻度論的アプローチとベイズアプローチを使用する理由

処理グループをコントロールグループと比較しても効果がない場合や、処理グループがコントロールグループと同一である場合を考えてみましょう (A/A テスト)。それでも、処理グループとコントロールグループとの間にわずかなデータの差が見られます。これは、テスト参加者がウェブサイト、サービス、またはアプリケーションの全ユーザーのごく一部を占める限定されたユーザーサンプルで構成されているためです。頻度論的有意水準とベイズ確率を使用することで、観測された差が有意であるか、それとも偶然によるものなのかを知ることができます。

Evidently は次の点を考慮して、観測された差が有意であるかどうかを判断します。

  • 差はどの程度か

  • テストに含まれるサンプル数

  • データの配布方法

Evidently での頻度論的分析

Evidently は逐次テストを使用するため、頻度論的統計の一般的な落とし穴であるピーキングの問題を回避することができます。ピーキングとは、進行中の A/B テストの結果をチェックして、テストを停止し、観察された結果に基づいて意思決定を行うことです。逐次テストの詳細については、Howard (共著) の「Time-uniform, nonparametric, nonasymptotic confidence sequences」(時間一様、非パラメトリック、非漸近信頼系列) (Ann. Statist. 49 (2) 1055 - 1080, 2021)を参照してください。

Evidently の結果は常に有効 (常に有効な結果) であるため、実験中に結果を覗いたとしても、確かな結論を導き出すことができます。そのため、結果に既に有意な意味がある場合は、予定時間前に実験を中止することができるため、実験にかかるコストの一部を削減することができます。

Evidently は、ターゲットメトリクスのテストされたバリエーションとデフォルトのバリエーションとの差について、常に有効な有意水準と常に有効な 95% 信頼区間を生成します。実験の [Result] (結果) の列には、テストされたバリエーションのパフォーマンスが表示され、次のいずれかになります。

  • 非決定的 - 有意水準が 95% 未満である

  • 良い - 有意水準が 95% 以上であり、次のいずれかに該当する

    • 95% 信頼区間の下限が 0 より大きく、メトリクスが増加する

    • 95% 信頼区間の上限が 0 より低く、メトリクスが減少する

  • 悪い — 有意水準が 95% 以上で、次のいずれかに該当する

    • 95% 信頼区間の上限が 0 より大きく、メトリクスが増加する

    • 95% 信頼区間の下限は 0 より低く、メトリクスが減少する

  • 最良 — 実験には、デフォルトのバリエーションに加えて 2 つ以上のテスト済みのバリエーションがあり、次の条件が満たされています。

    • このバリエーションは「良い」に該当します

    • 以下のいずれかに該当します:

      • 95% 信頼区間の下限は、他のすべてのバリエーションの 95% 信頼区間の上限よりも高く、メトリクスは増加します

      • 95% 信頼区間の上限は、他のすべてのバリエーションの 95% 信頼区間の下限よりも低く、メトリクスは減少します

Evidently でのベイズ分析

ベイズ分析では、テスト済みのバリエーションの平均がデフォルトのバリエーションの平均よりも大きいか小さいかの確率を計算することができます。Evidently は、共役事前分布を用いてターゲットメトリクスの平均値に対してベイズ推定を行います。共役事前分布を使用すると、Evidenly はベイズ分析に必要な事後分布をより効率的に推測できます。

Evidently は実験終了日まで待機してから、ベイズ分析の結果を計算します。結果ページには次の情報が表示されます。

  • 増加確率 - テスト済みのバリエーションにおけるメトリクスの平均が、デフォルトのバリエーションの平均よりも少なくとも 3% 大きい確率

  • 減少確率 — テスト済みのバリエーションにおけるメトリクスの平均が、デフォルトのバリエーションの平均よりも少なくとも 3% 小さい確率

  • 変化がない確率 — テスト済みのバリエーションにおけるメトリクスの平均がデフォルトのバリエーションの平均の ±3% 以内にある確率

[Result] (結果) の列には、バリエーションのパフォーマンスが示され、次のいずれかに該当します。

  • 良い — 増加確率が 90% 以上でメトリクスが増加するか、または減少確率が 90% 以上でメトリクスが減少する

  • 悪い — 減少確率が 90% 以上でメトリクスが増加するか、または増加確率が 90% 以上でメトリクスが減少する