统计学(4):AB测试—实验流程
The following article is from 人人都是数据分析师 Author ZZ数据分析
在之前的两篇文章里,我们详细介绍了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)均值类
均值类假设检验形式通常为:
故对应的样本量计算公式为:
其中,两组样本量之比为
统计功效的计算公式为:
(2)比例类
均值类假设检验形式通常为:
故对应的样本量计算公式为:
统计功效的计算公式为:
4实验有效天数
实验的有效天数的确定需要考虑两个因素:
(1)试验进行多少天能达到流量的最小样本量
(2)同时还要考虑到用户的行为周期和适应期
用户的行为周期
部分行业用行为存在周期性,例如电商用户购买行为,周末与工作日有显著差异。故实验有效天数应覆盖一个完整的用户行为周期。
用户适应期
如果进行的样式改版一类的实验,新版本上线用户会因为新奇效应而存在一定得适应期。故应考虑适应期在实验有效天数内,然后再分析实验结果。适应期的长短通常以足量用户流量参与试验后的2到3天为宜。
5实验结果分析
此部分内容我们在上一篇文章中有了非常详尽的叙述,有兴趣的可以参考:
- EOF -
看完本文有收获?请转发分享给更多人
推荐关注「数据分析与开发」,提升数据技能
点赞和在看就是最大的支持❤️