(一)、AB test的目的

AB test 自2018开始,在互联网行业风生水起。为了保证每一次迭代、每一个方案,都能真正得到用户认可,我们就不得不认真谨慎对待每一次发版,先行量化验证功能的“好坏”,反复对比找到产品设计中的不足加以改进。

(二)、AB test的概念

  1. 所谓AB实验,是指单个变量具有两个版本的AB的随机实验,一个实验组,一个对照组,两组实验同时并行一段时间后,统计相关数据的“好坏”,从而帮助快速决策,通常一个实验只验证一个变量。<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/1201174/1585462994979-76eeceb3-1aca-4674-95be-1e374d0e3bec.png#align=left&display=inline&height=405&name=image.png&originHeight=405&originWidth=554&size=149357&status=done&style=none&width=554)

(三)、分流模型

  1. 通常网站会利用分域、分层、分桶的机制保证流量高可用以及分流的灵活性和科学性。

1、如何对用户进行分桶

  1. 做实验很重要的一点就是圈定用户群,要圈定两组完全随机且互斥的用户,一组分配给A,一组分配给B ,比较初期的一种做法是根据用户唯一tag(一般使用useriddeviceid,cookie等)对1000取模分成1000个桶,然后选择不同的桶分配给AB。<br /> 流量是有限的,实验数量可以无限的,如果我们选用了60%的流量做了实验一,那只剩下40%的流量做实验二,那实验三怎么办呢?

2、分层的概念

  1. 分层是为了将流量复用,即一个用户可以处在多个不同的层上,不同的层的流量完全打散,互不影响。具体来说,在上一层001桶的所有流量,理论上应该均匀地随机地分布在下一层的1000个桶中。常用做法是通过页面来分层。

所以在实验设计时:一般将不同页面的多个功能实验(一般互无影响),放在不同的层上; 而将同一页面的多个功能实验(一般互有影响),放在同一层上的不同实验;从而保持两个实验的流量完全独立;通过可重叠的分层分桶方法,一份流量可通过N层可以同时参与N个实验,而且实验之间互不干扰,显著提升流量利用率。
通常在做实验时我们会考虑一些先决条件,例如我只针对上海地区的用户做实验?此时该怎么控制呢?

3、什么是域

在正常的实验过程中,我们一般会从总体流量中按照一定的维度去划分一个个流量区域,来做实验,比如一部分实验针对北京用户,一部分针对上海用户。如此,就引出了另外一个概念,“域”。这里划分出的流量池就是一个域,在这个域里还可以进行分层实验,不同域之间流量隔离,所有的流量域加起来共享100%流量。

image.png

image.png

(三)、结果比较

转化率检验(卡方检验) eg:展现点击转化率,留存……
均值检验(T检验)
eg:人均使用时长……
实验周期一般是两周。