中亚商品交易中心 AB实验分流是怎样产生的?

2022-06-27 14:26:35
中亚商品交易中心 AB实验分流是怎样产生的?
 

做AB实验的时候需要将用户分成A桶和B桶,也是我们说的实验桶和对照桶。

实验桶里的用户使用的是实验策略。对照桶里面则是使用正常的策略的用户。

一般来说,我们会将所有的用户分为多个桶,例如20个桶和30个桶,每个桶内的流量占比从1%-20%不等。

这样我们每次做实验的时候,可以直接取其中的一个桶或者两个桶来做。对不同的桶配置不同的实验策略。在实验放量的时候只需要将实验放到更多的桶中即可。

那么问题来了,如果我们知道我们今天的总的用户数,可以直接使用用户的id对用户随机划分桶号。

但是实际上,我们是无法明确今天或者明天的用户有哪些?有多少?

因为昨天来了的用户,今天不一定会来,昨天来了100w个用户,今天不一定还有100w,可能只有30w,也可能有300w,那我们怎么样能保证未来一段时间的用户都能随机分到所有桶里面呢?

这里就要用到Session分流,Session分流的原理如下图所示。

假如今天会有N个用户,我们把今天的用户分成十个实验桶。可以使用用户的唯一编码,例如DeviceId或者是UserId,对其进行hash处理,一般是使用MD5进行hash计算。

这样做的好处是不会重复,便于随机分流。这样我们就能得到100w个不同的hash值。

接着就是最关键的一步,对处理后的hash值进行取模或或者是取余。有多少个桶就取多少的余数,然后不同的余数对应不同的桶。这样就能将这N个用户随机分配到不同的桶中了。

另外,由于同一个用户的UID或DeviceId是不会改变的,这样就能保证同一个用户即使多次使用产品时也能进入同一个桶。

这样就是AB实验最基本的分流过程了了。

相关阅读
copyright©www.gfquan.com
备案号:粤ICP备15022573号