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.
Amplitude 実験でのランダム化の仕組み
Amplitude 実験は、バリエーションの決定論的ランダム化を使用しています。このランダム化では、UIで選択されたバケットキーとフラグのバケットソルトが使用されます。ほとんどの場合、Amplitude 実験はAmplitude IDをバケットキーとして使用します。
このランダム化モデルは2次元です。Amplitude 実験はmurmur3ハッシュ"bucketingSalt/amplitude_id"を実行し、そのハッシュを使用して、特定のユーザーにバリアントを割り当てるかどうかと、どのバリアントを割り当てるかという2つの事項を決定します。
この記事では、/はバックスラッシュ文字を示しています。数学の割り算を意味するものではありません。
最初の段階(初期割り当て)では、実験はmod(murmur3_x86_32("bucketingSalt/id", 100).の値に基づいてユーザーを100個のバケットに分割します。返されたバケットがロールアウトの割合よりも少ない場合、実験はユーザーを実験にバケットとして割り当て、バリアントを割り当てます。実験がユーザーを実験にバケットとして割り当てない場合、ユーザーには代わりにフォールバックバリアントが表示されます。
2番目の段階(バリアントの割り当て)では、実験は実験にバケット化されたすべてのユーザーを対象にし、floor(murmur3_x86_32("bucketingSalt/id"), 100).の値に従って各ユーザーにバリアントを割り当てます。
Amplitudeは、バリアントをその重みに基づいて0~42949672の間の値に関連付けます。たとえば、2つのバリアントがある実験の場合、バリアントAの重みが1で、バリアントBの重みが1である場合(各バリアントが実験のトラフィックの50%を受け取ります)、ハッシュ値が0~21474835の間にある場合、実験はユーザーをバリアントAに割り当てます。実験では、その値が21474836~42949672の間にある場合、ユーザーにバリアントBを割り当てます。
これは役に立ちましたか?