Web サイトで n 個の分割テストを実行しています。均等に分散された整数のユーザー ID を n 個のバケットの 1 つに割り当て、決定論的に同じユーザーが常に同じテストを受けるようにしたいと考えています。
この時点で、ユーザー ID を n で変更することにより、分割テストのリストからインデックスを選択できます。特定のテストに重みを付けたい場合はどうすればよいですか?
たとえば、バケット #1/21 は 90% の確率で割り当てられ、残りの 20 個のテストは 0.5% の確率で割り当てられます。
どういうわけかリストのサイズを拡大し、これを達成するために mod テクニックを使用できるように感じますが、潜在的に巨大な一時的なリストをメモリに保持するのはエレガントではないようです。