选择用户进行A / B测试

时间:2015-10-08 20:28:22

标签: c# .net

我有一个包含userid' s(int increment)的表,大约有4M条记录。

我想仅向25%的用户展示新功能。

选择这些25%用户的最佳方式是什么?

3 个答案:

答案 0 :(得分:2)

您可以使用某种Fisher Yates随机播放算法随机选择“第一个' 25%的用户ID。

即,选择1到4M之间的随机数。这是您的第一个用户,将其添加到某个地方的集合中。重复,直到您的收藏中有1M(25%)个用户。

一旦拥有了所有用户,请在表格中以某种方式标记它们。

答案 1 :(得分:0)

这个怎么样?

if (user.Id <= (maxId * 0.25))
{
    // Show a new feature
}

答案 2 :(得分:0)

另一个想法是你可以设置一个浏览器cookie,它是'myAwesomeFeature = A'或'myAwesomeFeature = B'。如果尚未设置cookie,如果0-100之间的随机数为25或更小,则将其设置为“B”。否则,'A'。如果已经设置了cookie,只需使用它。

具有易于测试的额外好处,因为您可以轻松地强迫自己在任何您想要的组中。它只适用于多个功能,因为您只需要更改cookie名称。只要cookie没有过期,同一个用户就会获得相同的组。

相关问题