作者:livan
来源:数据python与算法
简介
前文介绍了一下AB的定义,下面我们用两篇文章从简到繁的了解一下AB-test的试验思路,这一思路有两个方面的用途,其一:可以协助数据分析师在进行AB试验时有一个稳定的思路,知道哪一步可以进行什么样的操作;其二:可以协助数据产品进行AB-test平台的构建,通过对AB测试流程的抽象化,整理出AB-test的功能模块,方便系统构建。
AB-test流程
假设一个客户来到我们的APP,其在AB-test中的数据访问可以如下图描述:
看图听故事如下:
1)一个客户进入到我们的APP时,会在客群的部分做一次筛选,即试验是否是有划分客群,如果有客群划分,则需要判断新来的客户是否命中我们的试验客群;
2)第二步我们要判断需要进行什么类型的试验,正交还是互斥?以及此次试验需要切分多少流量,5%还是10%?
3)经过了客群识别和流量切分后,我们的客户来到了试验分组部分,系统采集客户访问的cookie/session信息计算出唯一hash值,并对这一hash值做mod处理;
4)mod处理之后的数据会被分到t个桶中的某一个,然后再根据一定的比例和算法将t个桶中的数据分成三组,即:A组、A组和B组,假设分流比例为:1/3,1/3,1/3;
5)A-A组即为旧版本对照组,用来检验分流是否有效,如果A-A组不显著,说明数据不受系统性因子影响,分流是有效的;A-B组即为新旧版本的对照组,其中B组为新版本;
6)A-A-B组的数据比较即为试验数据分析,分析人员借此完成试验的效果检验,确定试验是否显著;
看完上面这一串介绍,有没有一种原来如此的感觉?
AB-test的基本流程可以是上图的样式,但是充其量只能作为一个简图,接下来我们一点点的抽丝剥茧,还原AB-test产品的真相:
正交试验VS互斥试验?
正交试验:每个独立试验为一层,为保证各层之间不相互影响,一份流量穿越每层试验时,会再次随机打散,且随机效果离散,这一过程叫正交,这样的试验叫正交试验。
正交试验能最大化的保证各层试验相互独立,确保各个试验不会相互影响。
我们用图形来表示正交,如下图:
X层的全部流量随机打散,然后进入到Y层,看到的结果即为Y层的流量为X层流量重组之后的再分配,两层之间相互独立。
互斥试验:即为在同一层中拆分流量,且不论如何拆分,不同的流量是不重叠的。
互斥试验是在流量足够的情况下进行的分流策略,各个试验之间也不会相互影响。
我们同样用图形来表示互斥,如下图:
X层的流量会各自独立的分到Y层,相互之间不受影响。
多个试验同时发生时如何分层?
前面我们讲解了正交和互斥两个原则,接下来我们介绍一下在正交和互斥的原则下该如何设计试验分层?
正交、互斥两种试验的引用是为了能够更充分、更高效的使用流量,实际试验中往往是多组试验同时存在,既有正交,又有互斥,如下图:
上图中的分组情况可以看出:域1和域2互斥拆分流量,域2中的流量串过1-1层、1-2层、1-3层,进入到2层和3层,1-1层、1-2层、1-3层是互斥的,1层、2层、3层是正交的,上层的流量大于等于下层。
从使用场景上看,1层、2层、3层可能分别为UI层、搜索结果层、广告结果层,这几个层级基本上没有任何的业务关联度,即使共用相同的流量,也不会对实际的业务造成影响。但是如果不同层之间所进行的试验相互关联,就需要进行互斥试验,例如:1-1层是修改页面按钮上文字的颜色,1-2层是修改按钮颜色,如果按钮和文字颜色一致,估计按钮就不可用了,试验的基本原则是控制变量,即尽可能的保证每次试验只有一个变量,不要让一个变量的试验动态影响另一个变量试验,否则试验就会失去公正性。另外,如果我们觉得一个试验可能会对新老客户产生完全不同的影响,那么就应该对新客户和老客户分别展开定向试验,观察结论。
无论从层级上还是单层的分流上都被充分应用,流量的使用效率很高,但是,随着试验越来越多,对试验的管理也会显得越来越重要,往往后期会需要专门的人员进行管理。
欢迎大家关注公众号:
◆ ◆ ◆ ◆ ◆
麟哥新书已经在京东上架了,我写了本书:《拿下Offer-数据分析师求职面试指南》,目前京东正在举行100-50活动,大家可以用相当于原价5折的预购价格购买,还是非常划算的:
点击下方小程序即可进入购买页面:
数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里交流关于数据分析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。
管理员二维码:
猜你喜欢
● 麟哥拼了!!!亲自出镜推荐自己新书《数据分析师求职面试指南》
● 厉害了!麟哥新书登顶京东销量排行榜!
● 笑死人不偿命的知乎沙雕问题排行榜
● 用Python扒出B站那些“惊为天人”的阿婆主!
● 你相信逛B站也能学编程吗
点击阅读原文,即可参与京东100-50购书活动