在网络分析中,A/ B测试(桶测试或分流测试)是一个随机实验,通常有两个辩题,A和B。如果你还对这个测试不是很明白,那就来文中看看~
一、定义
在网络分析中,A/ B测试(桶测试或分流测试)是一个随机实验,通常有两个辩题,A和B。利用控制变量法保持有单一变量的前提下,将A、B数据进行对比,得出实验结论。
二、简述
通常网站会利用分层和分流的机制保证本站的流量高可用,原因有以下几点:
(1)网站的流量是有限的
(2)实验的对象是多层的或同一层内互不干扰的
- 多层:例如网站不仅仅有U层(界面),通常还有算法层等。
- 同一层内互不干扰:
(3) AB tests的需求是大量的
AB 是一种科学的利用数据证明方案可行性的手段,一般在网站中广泛使用。如果流量不进行分层、分流可能会导致流量饥饿,即实验一在进行中占用了全站的80%的流量,实验二就只能使用20%的流量。
因此良好的分层、分流规则可以充分使用网站的流量。
三、分层规则
1.正交、互斥
在介绍分层规则之前,先介绍一下正交和互斥的概念。
(1) 正交
如何理解正交?
例如:我们有100个兵乓球,随机拿出来50个染成蓝色,50个染成白色,则我们有蓝色、白色兵乓球各50个,现在我们把这100个兵乓球重新放在袋子中摇匀,随机拿出50个兵乓球,那么这50个兵乓球颜色蓝色和白色各25。
当然举这个例子并不是非常的恰当,因为样本太少了,此处举例只为说明正交的意义。正交实验:
每个独立实验为一层,层与层之间流量是正交的,一份流量穿越每层实验时,都会再次随机打散,且随机效果离散。
#####(2)互斥
如何理解互斥?
例如:我们有100个兵乓球,每25个为一组,分别染成蓝、白、橘、绿。若X实验拿的是蓝色、白色则Y实验只能拿橘色和绿色,我们说X实验的和Y实验是互斥的。
互斥实验:实验在同一层拆分流量,且不论如何拆分,不同组的流量是不重叠的。
2. 分层、分流规则
基于Goolge论文:《Overlapping ExperimentInfrastructure:More, Better, Faster Experimentation»
流量从上往下流过分流模型:
(1)规则详述:
- 域1和域2拆分流量,此时域1和域2是互斥的。
- 流量流过域2中的B1层、B2层、B3层时,B1层、B2层、B3层的流量都是与域2的流量相等。此时B1层、B2层、B3层的流量是正交的。
- 扩展:流量流过域2中的B1层时,又把B1层分为了B1-1,B1-2,B1-3,此时B1-1,B1-2,B1-3之间又是互斥的。
根据以上规则我们可以不断的在此模型中增加域、层,并且可以互相嵌套。这要与实际的业务相匹配,拆分过多的结构可能会把简单的业务复杂化,拆分过少的结构又可能不满足实际业务。
#####(2) 使用场景
例1:B1层、B2层、B3层可能分别为:UI层、搜索结果层、广告结果层,这几层基本上是没有任何的业务关联度的,即使共用相同的流量(流量正交)也不会对实际的业务造成结果。
但是如果不同层之间所进行的试验互相关联,如B1层是修改的一个页面的按钮文字颜色,B2层是修改的按钮的颜色,当按钮文字颜色和按钮颜色一样时,该按钮已经是不可用的了。因此建议同一类型的实验在同一层内进行,并且需要考虑到不同实验互相的依赖。
例2:域1的此种分流的意义在于,当我们做一个实验,并且希望其他任何实验都不能对我实验进行干扰,保证最后实验的可信度。