早期的互斥分流方法正面临流量瓶颈,而一种能让一个用户样本在不同实验中反复使用的‘正交分流’设计应运而生。
随着并行A/B测试实验越来越多,流量不够用的‘饥渴’问题该如何解决?
互斥实验 vs 正交实验
早期的 A/B 系统往往采用互斥的方法分流——把流量样本分成 100 组或其他固定数量,产品经理各自申请若干组流量,组与组之间不重合。但随着并行实验增多,出现了“流量饥渴”——流量不够用了。
如何解决流量饥渴?思路和开源节流类似。节流不可行(样本量太小结论不置信),只能开源——能不能让一个样本在多个实验里反复使用?基于这个想法,最早设计 A/B 测试系统的公司提出了「正交分流」。
互斥分流:
在同一层对流量分桶,每组独占流量。把相互影响的特性不放到同一用户身上。优点是简单稳定,缺点是不分层会导致流量饥渴。

互斥分流
正交分流:
在不同层对流量分桶,层间影响可以互相抵消——黄色组和绿色组的圆形/三角形特性分布相同,影响互相抵消。一人分饰两角,实现流量复用。优点是可复用流量,缺点是比较复杂、层间可能存在干扰。

正交分流
互斥分流与正交分流对比
互斥分流正交分流对象相互影响的特性相互独立的特性优点简单、稳定复用流量缺点流量饥渴复杂,组间存在干扰选择恰当的实验层
不同层的特性尽量不要有密切关联,比如一个特性在首页生效,另一个在「我的」Tab 生效,关联不大就可以正交。但如果两个特性都在用户解锁手机后触发(一个弹引导安装、一个弹清理推送),就必须用互斥——否则会出现同一个用户同时看到弹窗和推送的尴尬情况。
