我想将我的用户分成几个组来运行 A/B 测试。
通常的方法是将每个用户随机分配到一个变体并存储关系直到 A/B 测试结束。但这将迫使我将该关联存储在某个地方,我想避免它。
由于用户已经在我的应用程序中注册,我希望有一个功能可以在我的测试中均匀地分布用户,这样我就可以在我的 A/B 测试中获得不偏斜的结果。
我应该使用哪种哈希函数?
我想将我的用户分成几个组来运行 A/B 测试。
通常的方法是将每个用户随机分配到一个变体并存储关系直到 A/B 测试结束。但这将迫使我将该关联存储在某个地方,我想避免它。
由于用户已经在我的应用程序中注册,我希望有一个功能可以在我的测试中均匀地分布用户,这样我就可以在我的 A/B 测试中获得不偏斜的结果。
我应该使用哪种哈希函数?
这篇 ACM 的论文解释说 md5 是一个很好的散列函数,可以得到均匀分布和实验之间没有相关性:
我们发现只有密码散列函数 MD5 在实验之间没有产生相关性。SHA256(另一个加密哈希)接近,需要五向交互来产生相关性。.NET 字符串散列函数甚至未能通过双向交互测试。