一文搞懂AB Testing的分层分流
在网络分析中,A / B测试(桶测试或分流测试)是一个随机实验,通常有两个辩题,A和B。如果你还对这个测试不是很明白,那就来文中看看~
一、定义
在网络分析中,A / B测试(桶测试或分流测试)是一个随机实验,通常有两个变体,A和B。利用控制变量法保持有单一变量的前提下,将A、B数据进行对比,得出实验结论。
二、简述
通常网站会利用分层和分流的机制保证本站的流量高可用,原因有以下几点:
(1)网站的流量是有限的
(2)实验的对象是多层的或同一层内互不干扰的
- 多层:例如网站不仅仅有UI层(界面),通常还有算法层等。
- 同一层内互不干扰:例如网站的推荐位有多个(首页推荐位、商详页推荐位)。
(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 Experiment Infrastructure: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的此种分流的意义在于,当我们做一个实验,并且希望其他任何实验都不能对我实验进行干扰,保证最后实验的可信度。
有兴趣的朋友可以去看一下Goolge的原文。
本文由 @ 任秀明 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自Unsplash,基于CC0协议
点赞,图文都很生动形象。
那如果B1层、与B2、B3层流量相同,那么当B2层同样存在B2-1,B2-2,B2-3,B1-1,那么如何判断到底是B1-1影响了指标的变化,还是B1-1和B2-1共同影响了指标的变化?还是说,当B2、B3同样存在-1、-2、-3时,B1+B2+B3=域2流量?
每个实验都会产生结果,B1层的实验在B1层就会出结果。不影响B2层的实验。
请问B1-1,B1-2,B1-3是AB实验的不同组吗?比如 T组、C组
求更新这个系列呀!呜呜呜,国内的相关资料太少太少啦!
请问下Google的原文是什么标题
所以还是存在一定的管理成本
求更新
想认识你啊
正交要怎么理解和应用呢,是说相同的流量经过独立无关联的实验吗
当实验比较多时会用到,可以尽量从数据分析上保证可信度。
我想知道是根据什么把流量分开的呢,依据啥啊
下一篇文章专门介绍随机抽样 😳
好呀
大佬,已订阅 😯
你才是大佬,已互订。
大佬怎么不更新AB test了
有千言万语想和你说啊
看得一脸懵逼 😥
慢慢来 💡