For AI agents: a documentation index is available at /docs/llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.
累積露出グラフ:発散線
この記事では、類似した傾きを持つ発散線と、傾きが異なる発散線を比較しています。 乖離線は共通点から始まり、時間の経過とともに乖離していきます。
類似した傾きを持つ発散線
累積露出グラフが同じような傾きを持つ異なる線を示すことがあります。 これは、すべてのバリアントが準備される前に実験が開始された場合に発生します。
| 日付 | バリアントA | バリアントB |
|---|---|---|
| 2026年2月20日 | 0 | 0 |
| 2026年2月21日 | 0 | 0 |
| 2026年2月22日 | 0 | 0 |
| 2026年2月23日 | 90 | 0 |
| 2026年2月24日 | 212 | 0 |
| 2026年2月25日 | 318 | 0 |
| 2026年2月26日 | 397 | 0 |
| 2026年2月27日 | 512 | 0 |
| 2026年2月28日 | 606 | 108 |
| 2026年3月1日 | 692 | 197 |
| 2026年3月2日 | 753 | 280 |
| 2026年3月3日 | 871 | 402 |
| 2026年3月4日 | 988 | 519 |
| 2026年3月5日 | 1,085 | 618 |
| 2026年3月6日 | 1,207 | 744 |
| 2026年3月7日 | 1,306 | 884 |
| 2026年3月8日 | 1,396 | 963 |
| 2026年3月9日 | 1,479 | 1,044 |
| 2026年3月10日 | 1,609 | 1,173 |
| 2026年3月11日 | 1,736 | 1,255 |
| 2026年3月12日 | 1,821 | 1,367 |
| 2026年3月13日 | 1,929 | 1,478 |
| 2026年3月14日 | 2,042 | 1,586 |
| 2026年3月15日 | 2,160 | 1,677 |
| 2026年3月16日 | 2,243 | 1,778 |
| 2026年3月17日 | 2,353 | 1,885 |
| 2026年3月18日 | 2,479 | 2,007 |
| 2026年3月19日 | 2,587 | 2,112 |
| 2026年3月20日 | 2,705 | 2,228 |
| 2026年3月21日 | 2,820 | 2,337 |
この例では、2つのバリアントが2月23日と2月28日という別々の日にトラフィックを受信し始め、グラフ上に一対のずらされた線が生成されました。
すべてのバリアントがトラフィックを受信する準備が整うまで実験を開始しないでください。 実験の開始後に新しいバリアントを追加すると、各バリアントが同じ期間にわたって同じ条件にさらされないため、結果が誤解を招く形で示されます。
新規性効果
もう一つの潜在的な問題は新規性効果です:トリートメントの新規性は実験結果に影響を与える可能性があります。上記の例では、バリアントAに露出したユーザーのほうが、新しい体験に順応する時間が長くありました。また、バリアントAにさらされたユーザーは、プライマリメトリクスをトリガーする機会も多くなりました。特にそれが時間制限のないメトリックである場合には、バリアント間の比較が不平等でした。
実験の中核となる要件は、トリートメント群とコントロール群の間の唯一の違いをテスト対象の機能にすることです。このようにして、発見した差異は相関関係ではなく因果関係の結果であることを知ることができます。
異なる傾斜を持つ発散線
累積露出グラフでは、いくつかの理由により、傾きの異なる乖離線が表示されることがあります。カスタム露出イベントを使用している場合、ユーザーは割り当てイベントをトリガーせずに露出イベントをトリガーし続けると、キャッシュされた古い実験のバリアントを受け取ることができます。
たとえば、Amplitudeは、露出イベントをトリガーすることなくユーザーをコントロールバリアントに割り当てることができます。後からコントロールバリアントのトラフィック割り当てを0%に設定した場合、そのユーザーは新しい割り当てイベントをトリガーすることなく、露出イベントをトリガーできます。Amplitudeはそのユーザーをコントロールエクスポージャーとしてカウントします。
この考え方は、スティッキーバケット化をオンにした実験にも当てはまります。
| 日付 | コントロール | オン |
|---|---|---|
| 2026年3月10日 | 4,150 | 4,090 |
| 2026年3月11日 | 6,176 | 6,240 |
| 2026年3月12日 | 7,483 | 7,569 |
| 2026年3月13日 | 8,143 | 8,275 |
| 2026年3月14日 | 8,551 | 8,684 |
| 2026年3月15日 | 9,000 | 9,158 |
| 2026年3月16日 | 11,175 | 10,405 |
| 2026年3月17日 | 14,116 | 11,396 |
| 2026年3月18日 | 16,984 | 12,320 |
| 2026年3月19日 | 19,355 | 12,879 |
| 2026年3月20日 | 21,451 | 13,424 |
| 2026年3月21日 | 23,401 | 13,764 |
この例では、3 月 15 日にユーザーはコントロールバリアントについて実験を 100% にロールアウトしました。 この実験ではスティッキーバケット化が使用されているため、ユーザーがトラフィック割り当てを0%に設定したあとも、グラフでは「オン」のユーザー数が増え続けて表示されます。これは、SDK または API がリクエストしたときにAmplitudeがバリアントを割り当てるため、ユーザーがバリアントを受信しなかった場合でもバリアントはユーザーに固定されます。
スティッキ バケット化とトラフィック割り当て
スティッキーバケット化を選択してトラフィック割り当てを変更しても、ターゲットトラフィック割り当ては得られません。その代わり、2つの割り当ての間の加重平均値が得られます。これは、すでにバケットを持っているユーザーは自分のバケットにとどまるためです。ターゲット トラフィック割り当てに近づくまで待機する必要があります。
実験でスティッキ バケット設定が有効になっており、実験終了後にバリアントをロールアウトする予定がある場合は、コード内の適切な分岐を削除し、フィーチャーフラグを削除してください。コードのデプロイを行いたくない場合は、スティッキ バケット設定をオフにすることもできます。
これは役に立ちましたか?