前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >统计学(4)|AB测试—实验流程

统计学(4)|AB测试—实验流程

作者头像
用户8612862
发布2021-05-13 17:18:34
1.1K0
发布2021-05-13 17:18:34
举报

点击上方"蓝字"

关注我们吧!

在之前的两篇文章里,我们详细介绍了AB测试的理论基础,以及如何科学全面地对AB测试的结果进行分析。有了这些基础之后,我们来看一下实际工作如何进行AB测试。

1AB测试的流程

工作中进行完整的AB测试流程包括以下几个步骤:

  • 分析现状:针对当前产品情况,根据业务数据,提出优化方案(一般由数据分析师和产品经理确定)。
  • 确定评估指标:确定衡量优化效果的指标(如:CTR,停留时长等)。
  • 设计与开发:确定优化版本的设计原型,并完成技术实现(通常与数据分析师无关)。
  • 分配流量:确定实验分层分流方案,以及实验需要切分多少流量,一般根据最小样本量确定。
  • 确定实验有效天数:实验的有效天数即为实验进行多少天能达到流量的最小样本量。
  • 采集并分析数据:提取实验数据,对实验结果进行分析。
  • 根据试验结果,确定是否推广到全量或者是调整之后继续实验。

了解了整体的流程之后,我们对其中一些比较关键的地方做进一步的阐述。

2分配流量

通常由于流量有限,以及同时进行的AB实验量比较大,为了保证流量高效使用需要利用分层和分流的流量分配机制。

根据不同的实验共享流量的情况下,不同的实验之间是否会产生干扰,将实验类型分为正交实验和互斥实验。

2.1 正交实验

正交是指用户进入所有的实验之间没有必然关系。比如进入X层的用户再进入Y层也是均匀分布的,而不是集中在某一块区间内。

2.2 互斥实验

指两个实验流量独立,用户只能进入其中一个实验。比如进入X实验的用户就不能进入Y实验。

2.3 分层、分流规则

为了更充分、更高效的使用流量,实际往往是多组试验同时存在,既有正交,又有互斥。

(1)规则描述

  • 域1和域2瓜分流量,域1和域2是互斥的。
  • 域2中,B1层、B2层、B3层的流量相等,此时B1层、B2层、B3层的流量是正交的。
  • B1层中的B1-1,B1-2,B1-3之间又是互斥的。

根据以上规则我们可以不断的在此模型中增加域、层,并且可以互相嵌套。这要与实际的业务来相结合来确定。

(2)使用场景

B1层、B2层、B3层应分别设置为互不干扰的实验(正交实验),比如UI层、搜索结果层、广告结果层,这样不会对实际业务产生影响。

同一类型的实验(互斥实验)应该在同一层内进行,并且需要考虑到不同实验互相的依赖,比如按照B1层切分。

域1的此种分流的意义在于,当我们做一个实验,并且希望其他任何实验都不能对实验进行干扰,保证最后实验的可信度。

2.4 分流算法

对于庞大的用户群体,也就是我们所说的流量。我们如何实现正交和互斥实验的随机均匀分流呢?通常我们用的是Hash算法,具体算法原理这里就不多做介绍了,我们主要了解下在不同实验组成的流量层内、以及同一实验不用版本之间如何利用哈希算法分流:

(1)流量层内分流

流量层内分流的hash因子包括设备 id、流量层 id,每一个设备id代表一个用户。当请求流经一个流量层时,只会命中层内一个实验,即同一个用户同一个请求每层最多只会命中一个实验。

通过murmurhash2 算法,可以使hash因子通过微小的变化而结果差异巨大。然后对 100 求余之后+1,最终得到 1 到 100 之间的数值。

(2)实验内版本分流

实验的 hash 因子有设备 id、策略 id、流量层 id。通过策略id与版本进行匹配。规则如下:

3最小样本量

从理论上讲,样本量越多越好:

因为当样本数量很少的时候,实验容易被新的样本点带偏,造成了实验结果不稳定,难以得出确信的结论。

相反的,样本数量变多,实验说服性也更强。

但是在现实操作中,样本量应该越少越好,这是因为:

  • 流量有限:公司流量有限,不合理分配流量,产品迭代速度会大大降低。
  • 试错成本大:如果使用50%的流量进行实验,一周后结果表明实验组的总收入下降了20%。算下来,实验在一周内给整个公司带来了10%的损失。试错成本太高。

因此需要计算满足实验要求的最小样本量,最小样本量是根据统计功效进行计算的,主要分两类:绝对值类(例如:UV)和比率类(例如:点击率):

(1)均值类

均值类假设检验形式通常为:

H_0:\mu_A-\mu_B=0
H_1:\mu_A-\mu_B\neq0

故对应的样本量计算公式为:

n_A=\kappa n_B \;\text{ and }\; n_B=\left(1+\frac{1}{\kappa}\right) \left(\sigma\frac{z_{1-\alpha/2}+z_{1-\beta}}{\mu_A-\mu_B}\right)^2\\

其中,两组样本量之比为

\kappa=\frac{n_A}{n_B}\\

统计功效的计算公式为:

1-\beta= \Phi\left(z-z_{1-\alpha/2}\right)+\Phi\left(-z-z_{1-\alpha/2}\right) \quad ,\quad z=\frac{\mu_A-\mu_B}{\sigma\sqrt{\frac{1}{n_A}+\frac{1}{n_B}}}\

(2)比例类

均值类假设检验形式通常为:

H_0:p_A-p_B=0\\
H_1:p_A-p_B\neq0

故对应的样本量计算公式为:

n_A=\kappa n_B \;\text{ and }\; n_B=\left(\frac{p_A(1-p_A)}{\kappa}+p_B(1-p_B)\right) \left(\frac{z_{1-\alpha/2}+z_{1-\beta}}{p_A-p_B}\right)^2\\

统计功效的计算公式为:

1-\beta= \Phi\left(z-z_{1-\alpha/2}\right)+\Phi\left(-z-z_{1-\alpha/2}\right) \quad ,\quad z=\frac{p_A-p_B}{\sqrt{\frac{p_A(1-p_A)}{n_A}+\frac{p_B(1-p_B)}{n_B}}}\\

4实验有效天数

实验的有效天数的确定需要考虑两个因素:

(1)试验进行多少天能达到流量的最小样本量

(2)同时还要考虑到用户的行为周期和适应期

  • 用户的行为周期 部分行业用行为存在周期性,例如电商用户购买行为,周末与工作日有显著差异。故实验有效天数应覆盖一个完整的用户行为周期。
  • 用户适应期 如果进行的样式改版一类的实验,新版本上线用户会因为新奇效应而存在一定得适应期。故应考虑适应期在实验有效天数内,然后再分析实验结果。适应期的长短通常以足量用户流量参与试验后的2到3天为宜。

5实验结果分析

此部分内容我们在上一篇文章中有了非常详尽的叙述,有兴趣的可以参考:

统计学(3)|AB测试—实验结果分析

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 人人都是数据分析师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档