私は、A / Bテストシステムに取り組んでいるソフトウェア開発者です。安定した統計情報の背景はありませんが、過去数か月にわたって知識を集めてきました。
一般的なテストシナリオでは、Webサイト上の2つのURLを比較します。訪問者が訪問LANDING_URL
し、URL_CONTROL
またはのいずれかにランダムに転送されますURL_EXPERIMENTAL
。訪問者はサンプルを構成し、訪問者がそのサイトで望ましいアクションを実行すると勝利条件が達成されます。これはコンバージョンを構成し、コンバージョン率はコンバージョン率です(通常はパーセンテージで表されます)。特定のURLの一般的なコンバージョン率は、0.01%から0.08%の範囲です。テストを実行して、新しいURLと古いURLを比較する方法を決定します。場合はURL_EXPERIMENTAL
アウトパフォームに表示されURL_CONTROL
、我々は交換してくださいURL_CONTROL
とURL_EXPERIMENTAL
。
単純な仮説検定手法を使用したシステムを開発しました。このシステムを開発するために、ここで別のCrossValidatedの質問に対する回答を使用しました。
テストは次のように設定されます。
- のコンバージョン率の見積もり
CRE_CONTROL
は、URL_CONTROL
履歴データを使用して計算されます。 - 所望の目標転化率
CRE_EXPERIMENTAL
のがURL_EXPERIMENTAL
設定されています。 - 通常、有意水準0.95が使用されます。
- 通常、0.8の累乗が使用されます。
一緒に、これらの値はすべて、目的のサンプルサイズを計算するために使用されます。power.prop.test
このサンプルサイズを取得するためにR関数を使用しています。
すべてのサンプルが収集されるまでテストが実行されます。この時点で、の信頼区間 CR_CONTROL
とがCR_EXPERIMENTAL
計算されます。それらが重ならない場合、勝者は0.95の有意水準と0.8の検出力で宣言できます。
ただし、テストのユーザーには2つの大きな懸念があります。
1.テスト中のある時点で、明確な勝者を示すのに十分なサンプルが収集された場合、テストを停止できませんか?
2.テストの終了時に勝者が宣言されていない場合、勝者を見つけるのに十分なサンプルを収集できるかどうかを確認するためにテストをさらに実行できますか?
ユーザーが私たち自身のユーザーが望むことを正確に行えるようにする市販ツールが数多く存在することに注意してください。上記には多くの誤fallがあることを読みましたが、停止ルールのアイデアに出くわしたので、独自のシステムでそのようなルールを使用する可能性を調査したいと思います。
検討したい2つのアプローチを次に示します。
1.を使用power.prop.test
して、現在の測定変換率を現在のサンプル数と比較し、勝者を宣言するのに十分なサンプルが収集されているかどうかを確認します。
例:次の動作がシステムに存在するかどうかを確認するテストが設定されています。
CRE_CONTROL
:0.1CRE_EXPERIMENTAL
:0.1 * 1.3- これらのパラメーターでは、サンプルサイズ
N
は1774です。
ただし、テストが進んで325サンプルに達すると、CRM_CONTROL
(コントロールの測定された変換率)は0.08およびCRM_EXPERIMENTAL
0.15です。power.prop.test
これらの変換率で実行N
され、325であることがわかりました。正確CRM_EXPERIMENTAL
に、勝者であると宣言するために必要なサンプルの数です。この時点で、テストを終了できることを願っています。同様に、テストが1774サンプルに達しても勝者が見つからない場合、2122サンプルに達しCRM_CONTROL
、0.1 CRM_EXPERIMENTAL
の結果と0.128が勝者を宣言できる結果であることを示すのに十分です。
関連する質問のユーザ少ないサンプルを有し、またに対して脆弱であることを停止し、このようなテストは、早期奨励のためにあまり信憑性であることをお勧め推定バイアスとタイプIとタイプIIエラーの数が増加。この停止ルールを機能させる方法はありますか?これは、プログラミング時間の短縮を意味するため、推奨されるアプローチです。おそらく、この停止ルールは、テストを早期に停止する必要がある場合、テストの信頼性を測定する何らかの数値スコアを提供することで機能するでしょうか?
これらのテスト方法は、私たちが見つけた状況に合わせて設計されています。ユーザーがテストを開始し、テストで余分な時間を無駄にしないようにテストを終了するにはどうすればよいですか。テストの実行が長すぎるか、異なるパラメーターでテストをやり直す必要があります。
上記の2つの方法のうち、数学が少し理解しやすく、プログラミングが簡単なように見えるため、SPRTを好みます。ただし、このコンテキストで尤度関数を使用する方法がわかりません。誰かが尤度比、尤度比の累積和を計算する方法の例を構築し、モニタリングを続行する状況、帰無仮説と対立仮説を受け入れる状況を示す例を続けることができる場合、 SPRTが正しい方法であるかどうかを判断するのに役立ちます。