Q1:简述AB测试。
1.AB测试
-
为了评估模型/项目的效果,在App/PC端同时设计多个版本
-
在同一时间维度下,分别让组成成分相同(相似)的访客群组随机访问这些版本
-
收集各群组的用户体验数据和业务数据
-
最后分析评估出最好的版本正式采用
2.AB测试整体过程
-
试验分组
-
进行试验
-
分析结果
Q2:介绍常用的AB测试的分组方法。
1.基于设备号、用户唯一标识的尾号或者其他指标进行分组
2.基于唯一标识,通过一个固定的Hash函数对用户唯一标识进行Hash取模、分桶,将用户均匀地分配至若干个试验桶中
Q3:面对多个试验并行的情况,如何保证分组的合理性?
1.对于所有的用户,需要在所有的试验开始前将其划分为不同的域,不同域之间的用户相互独立,交集为空
2.对于一些比较重要的试验,可以专门为其划分出一部分用户,在该试验进行期间,不会针对这些用户进行其他试验,称为“独占域”。
-
在进行试验时,只需要基于这些用户的Hash值分组即可
3.针对域中的用户会同时进行多组AB测试,此时在分组的时候需要考虑分层,称为“共享域”
-
根据试验开始的时间,将试验按照从上层到下层的顺序进行排列
-
下一层试验进行分组时,需要将上一层试验各个分组的用户打散
-
第二层开始时,充分考虑了第一层的各个分组,将第一层各个分组的用户随机选取50%进入第二层的分组中,这样保证了第二层用户的随机性
-
依此类推,各个层在分组时都需要将上一层分组的用户打散
-
注:在同一个共享域不可以同时进行过多的试验,即使基于正交的方法可以保证随机性,但通常最多也不要超过7个试验同时进行,同时也要思考是否有办法验证分组的随机性
Q4:如何充分证明AB测试分组的随机性?
-
通过基于正交的方法可以保证用户分组的随机性
-
为防止意外情况的发生,还需要进行AA测试
-
通常用A版本表示老版本,B版本表示新版本,按照6:4的比例进行划分,同时从A版本中划分20%的用户进行AA测试
-
最终验证结果时,首先要保证AA测试通过,确保分组的合理性,然后看AB测试是否通过;如果AA测试没有通过,那么AB测试的结果就没有任何意义。
Q5:简述AB测试背后的理论支撑。
AB测试所运用的核心原理:中心极限定理
-
当数据量足够大时,可以认为样本均值近似服从正态分布。然后结合假设检验的内容,推翻或接受原假设。
Q6:如何通过AB测试证明新版本用户的转化率高于老版本用户的转化率?
-
将新老版本用户是否下单的样本分别记为x1,...,xn和y1,...,yn,最终下单记为1,否则记为0
1.中心极限定理
随着样本量的增加,
2.原假设和备择假设
-
H0:新版本用户的转化率低于或等于老版本用户的转化率
-
H1:新版本用户的转化率高于老版本用户的转化率
-
通过拒绝H0,接收H1,证明新版本用户的转化率高于老版本用户的转化率。
3.后续测验
(1)
则可以直接表示新版本用户的转化率并没有高于老版本用户的转化率,AB测试结束
(2)
需要考虑两类错误
Q5:当x的样本均值大于y的样本均值时,在什么条件下可以推翻原假设?
-
图中橙色的竖线部分表示犯第一类错误的上限,用α表示,通常设定为5%或者1%
-
在原假设成立的前提下,
-
为了推翻原假设,需要使x的样本均值-y的样本均值落在图中的竖线部分,
Q6:为了规避第二类错误,样本量要达到什么程度?
-
为了规避第一类错误,很可能会犯第二类错误,没有在原假设不成立的情况下接受备择假设
-
增加样本量是规避第二类错误最有效的方法
-
随着样本量的增加,图中x0的值也随之变小,犯第二类错误的概率也随之减少
-
图中橙色的横线部分表示犯第二类错误的概率,用β表示
-
power = 1 - β,power即规避第二类错误的概率
-
通常在试验前会将power预设为80%,并计算出为了到达该power值所需的样本量,即最小样本量
-
其中,φ(x)为标准正态分布的累积分布函数,△为AB测试前预估的差异值
Q7:简述AB测试的优缺点。
1.优点
-
能够更加科学地解释项目效果,避免人为因素的干扰
2.缺点
-
为了保证AB测试能够达到预期的效果,需要有一定的数据量作为保证,否则会因为达不到AB测试的最低数据量要求而造成失败
-
如果多个AB测试同时进行,则可能会因为相互干扰而无法达到预期的效果。
参考文献
1.《拿下Offer 数据分析师求职面试指南》徐麟 著