一文搞懂 AB Testing 的分层分流

一、定义

在网络分析中,A / B测试(桶测试或分流测试)是一个随机实验,通常有两个辩题,A和B。利用控制变量法保持有单一变量的前提下,将A、B数据进行对比,得出实验结论。

二、简述

通常网站会利用分层和分流的机制保证本站的流量高可用,原因有以下几点:

(1)网站的流量是有限的

(2)实验的对象是多层的或同一层内互不干扰的

多层:例如网站不仅仅有UI层(界面),通常还有算法层等。
同一层内互不干扰:

(3)AB tests的需求是大量的

AB 是一种科学的利用数据证明方案可行性的手段,一般在网站中广泛使用。如果流量不进行分层、分流可能会导致流量饥饿,即实验一在进行中占用了全站的80%的流量,实验二就只能使用20%的流量。

因此良好的分层、分流规则可以充分使用网站的流量。

三、分层规则1. 正交、互斥

在介绍分层规则之前,先介绍一下正交和互斥的概念。

(1)正交
一文搞懂 AB Testing 的分层分流_第1张图片
如何理解正交?

例如:我们有100个兵乓球,随机拿出来50个染成蓝色,50个染成白色,则我们有蓝色、白色兵乓球各50个,现在我们把这100个兵乓球重新放在袋子中摇匀,随机拿出50个兵乓球,那么这50个兵乓球颜色蓝色和白色各25。

当然举这个例子并不是非常的恰当,因为样本太少了,此处举例只为说明正交的意义。

正交实验:每个独立实验为一层,层与层之间流量是正交的,一份流量穿越每层实验时,都会再次随机打散,且随机效果离散。

(2)互斥
一文搞懂 AB Testing 的分层分流_第2张图片
如何理解互斥?

例如:我们有100个兵乓球,每25个为一组,分别染成蓝、白、橘、绿。若X实验拿的是蓝色、白色则Y实验只能拿橘色和绿色,我们说X实验的和Y实验是互斥的。

互斥实验:实验在同一层拆分流量,且不论如何拆分,不同组的流量是不重叠的。

2. 分层、分流规则

基于Goolge论文:《Overlapping Experiment Infrastructure:More, Better, Faster Experimentation》

流量从上往下流过分流模型:
一文搞懂 AB Testing 的分层分流_第3张图片

(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的原文。

常见的分层策略

自上而依次是:

  • 召回层
  • 精排层
  • 重排层

  [1].一文搞懂AB Testing的分层分流 :Softmax With Temperature

你可能感兴趣的:(ab,ab,test)