为了保证分流的公平,A/B测试必须遵守两个铁律:功能组与对照组的用户特征要同质,实验的开启与结束要同时。
A/B实验就像从两个桶里舀水,如果舀出来的水各项特征必须一致,这个特质就叫‘同质性’,而验证它的秘密武器,竟然是另一场看似无用的AA实验。
AB 实验的分流方式
A/B 实验又常被叫做「桶实验」,分流又常被叫做「分桶」。桶顾名思义里面装的是水,从桶里面舀水,舀出来的水不管是颜色、温度、味道都是一样的。对应到 A/B 实验里——分桶出来的用户,各项特征必须一致,这个特质叫做「同质性」。

A/B 分流要满足两个条件:
同质性:功能组和对照组的流量,各种特质占比要相同——渠道、品牌、用户画像、男女比例等。假设有一个分流算法,分完之后功能组都是一、二线城市的用户,而对照组都是三、四线城市的用户,那么无论什么实验数据都是不可信的。
同时性:功能组和对照组要同时开启、同时结束。古希腊哲学家赫拉克利特说过「人不能两次踏入同一条河流」——一个月前的这条河跟一个月后一定是不一样的。在 A/B 测试里,一个月前圈定的流量不可能跟一个月后的流量一致。
同时性非常容易检查:看启动时间和结束时间是否一致。
那同质性怎么验证呢?答案是通过 AA 实验。
AA 实验:验证同质性
一个 A/B 系统在交付时,都会先验证分流算法分出来的用户是否同质。一般通过两组没有任何功能差异的“空白”流量——很多公司叫 AA 实验。实际中常见的 AA 实验有三种方式:

AA实验常见的做法
方式一:分段验证。将实验周期分成两段,前一段先分流两组 AA,验证同质后,再把其中一组 A 换成 B,继续实验。缺点是耗时较久。
方式二:并行验证。在每个实验里设置两个对照组,在 A/B 实验的同时并行一个 AA 验证。缺点是多占一个对照组的流量。
方式三:定期验证。比如每隔两个月进行一次 AA 验证,只要此次认定同质,就默认接下来两个月分流算法稳定,直接做 A/B。
跟选择过这几种方案的公司同事都聊过,其实谁也说服不了谁哪种方案最优。我觉得要结合实际业务:发版周期长可以选第一种,流量多可以选第二种,都不满足就选第三种。