実験ワークフロー:実験のトラフィックを割り当てる

  • 更新

 

この記事のテーマ:

  • バリアントの各トラフィック割合を設定する
  • ユーザーセグメントに基づいて実験露出を制限する

実験ワークフローの次のステップは、各バリアントが受け取るトラフィックを判断し、各バリアントを誰に表示するかを指定することです。[設定]タブのAllocation(割り当て)パネルで行います。ここでは、実験を表示するユーザーセグメントを定義し、実験に露出するユーザーの割合を指定し、各バリアントの相対的分布の重みを設定できます。

個人ユーザーをターゲットにする

Amplitude Experimentでは、実験で個々のユーザーまたはデバイスIDをターゲットにできます。これは主にQA目的で使用されます。詳細についてはロールアウト前の実験のQAに関するヘルプセンターの記事を参照してください

ユーザーセグメントを定義する

ユーザーセグメントを定義すると、特定の場所、または特定の人口統計グループに属するユーザー、プロダクトで特定の使用しきい値を満たすユーザー(パワーユーザー)への実験露出を制限する場合に役立ちます。

「この実験の対象者」の下で、ユーザーセグメントを定義するには[ターゲットユーザー]を選択し、[セグメント1]をクリックします。次に、Amplitude Analyticsでユーザーセグメントを構築するのと同じステップに従ってください

  • コホートに基づいて実験をターゲットにする場合は[コホート]選びAmplitude Analyticsで以前に作成したコホートを選択します。コホートメンバーシップは、1時間に1回評価され、更新されます。
  • Amplitude Analyticsからユーザープロパティに基づいてターゲットを絞るには、対象とするユーザープロパティを選択して、適切な値を入力します。ユーザープロパティは、Amplitude Analyticsが維持するエンドユーザープロファイルから提供されます。また、アナリティクス計測に基づいて更新されます。(リアルタイムでユーザープロパティを評価する必要がある場合は、SDKまたはREST APIに渡すコンテキストにユーザープロパティの値を追加します。)
  • カスタムユーザープロパティ(Amplitudeに存在しないプロパティ)に基づいてターゲットを決めるにはユーザープロパティ名をドロップダウンに入力し、プロパティに一致する値を入力します。(カスタムユーザープロパティを含むルールは、SDKまたはREST APIに渡されたコンテキストで明示的に定義された値に対してのみ評価できます。これは、Amplitudeがそうしたプロパティを知らないためです。)

[+セグメントを追加]をクリックして、セグメントを追加します

ルールベースのユーザーセグメントの一部としてバリアントを割り当てられていない人、および個別にターゲットにされていない人は、他のすべてのユーザーセクション(下記ステップ4で説明)の構成に基づいてバリアントが割り当てられます。

Amplitudeのユーザープロパティとコホートは、ユーザーセグメントを定義するのに使用できます。注:ルールベースのユーザーセグメントに含まれるユーザープロパティの値は、Amplitudeが受け取った最新の値になります。ここに含めることができるユーザーセグメントの数に制限はありません。実験の1つ以上のセグメントに属するユーザーは、最初に一致するセグメントに割り当てられます。

注意:キャッシュの有効期限は、ユーザーセグメントを定義するのに使用するプロパティによって異なります。すべてのユーザープロパティには、プロダクトが送信した最新の値が含まれます。また、Amplitudeがプロダクトのデータを受け取っていない場合には、最新の値にデフォルトされます。コホートは1時間ごとに同期されます。

層別サンプリングと実験バイアス

まれに、トラフィックの割り当てを次のようにユーザーセグメントごとに変えて、実験をしたい場合があります。

  • セグメント1:国=米国||80%の処置、20%のコントロール
  • セグメント2:国=カナダ||50%の処置、50%のコントロール

ただし、これは実験結果にバイアスをもたらす可能性があります。そのため、実験ではすべてのユーザーセグメントで、同様の割り当て比率に従うことが推奨されます。

多くの場合、実験中にユーザーがロールアウトとバリアントを変更すると、不均一な割り当て比が発生してしまいます。

Amplitude Experimentでは、必要に応じて層別サンプリング(不均一な割り当て比)を使用するオプションがあります。[セグメントごとのロールアウト制御を許可]トグルを[オン]に切り替えます。(このオプションは、[すべてのユーザー]ではなく[ターゲットユーザー]を選択した場合にのみ表示されます。)

allow_rollout_controls.png

このスイッチは実験でのみ表示され、機能フラグには表示されません実験がアクティブである間は無効です。

ロールアウトパーセント

次にこの実験のロールアウトパーセントを設定します。これは、実験に参加するユーザーセグメントに含まれるユーザーの割合です。

実験

その後、バリアントを配布する方法をAmplitude Experimentに伝える必要があります。これで、実験に露出したユーザーに各バリアントを表示する数を決定します。

次に、ステップ3で作成したセグメントでカバーされていない全員に個別のルールを設定できます例えば、先にターゲットにした特定のコホートに実験をロールアウトしたい場合は、[他のすべてのユーザー]セクションでロールアウトパーセンテージをゼロに設定します。

Amplitude Experimentが、ルールベースのユーザーセグメントに含まれるユーザーを、ユーザーセグメントに含まれないユーザーよりも前に評価することに注意してください。ただし、それらよりも前に個々のユーザーまたはデバイスIDを評価します。詳細については、Amplitude開発者センターのこちらの記事を参照してください

[サマリー]セクションで、すべてのユーザー全体のバリアントの合計効果分布を確認できます

バリアントに内部ユーザーを割り当てる

内部ユーザーを実験の処置に割り当てながら、その内部ユーザーが顧客ベースを代表していないために実験データを歪めたくない場合は、次の2つのオプションがあります。

  1. 少数の内部ユーザーのみを含める場合は、個別に含めることができます。ただし、割り当てられるユーザー数が多い場合、これはスケーラブルではありません。

  2. 個別のフラグとして、1つは内部ユーザー用、もう1つは実験用のものを作成できます。これで、各ユーザーを評価する際に、ORステートメントを介してつなげられます。

  3. 実験のターゲットである内部ユーザーを含めますが、分析を実行する時は削除します。これを行うには、[分析]タブに移動し、[アナリティクスで開く]をクリックします。ユーザーセグメントでフィルタリングする両方の実験バリアントで、Eメールアドレスに「amplitude」が含まれていないという条件を追加します。

  4. 最後に、3番目のバリアントを作成し、すべての内部ユーザーをそのバリアントに送信すると、分析からシンプルに除外できます。ただし、この分析の目的から、3番目のバリアントが実際には正当なバリアントではないため、独自のボンフェローニ補正の実行が必要になる場合があります。

次に、実験をユーザーにロールアウトします