您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件测试技术 > 其他相关 > 正文

BAT大佬带你了解AB测试

发表于:2022-05-26 作者:@Sven 来源:网络转载

从互联网发展至今,人口红利逐渐消失殆尽。截至2020年底,中国的互联网用户已经高达10亿人,已经在中国人口中占了很高的比例。每个赛道都出现了细分和垂类。产品也在不断下沉,不断的触达四五线的用户。人群也在不断的被细分,新增用户,活跃用户,沉默回流用户。这些,都是精细化的一个提现。

精细化的目标,是为了增长;而想要更好的增长,就需要更好的服务好用户;服务好用户,就要做相应的适配不同用户需求的产品和下发不同的运营策略;而如何更好的量化产品,迭代用户是否喜爱,运营策略是否有效,都需要一个比较科学的方式。这些就会运用到AB测试。也是为了在众多功能及策略的迭代过程中,通过数学的方法,告知业务方这些迭代是好是坏,继续发展的方向是什么。

AB测试是什么

AB测试本身是起源于医学。当一个药剂被研发后,医学工作人员需要确认其效果是否真的有效。就会需要实验组和对照组的人群来“试药”,通过“试药”后的结果,评估药剂的效果。

具体做法就是一群同质化的用户被随机分组成两组。在不知到是否是药剂的情况下,拿到测试用药和安慰剂。经过一段时间的实验后和观测,比较两组病人的一些实验数据是否具有显著的差异,从而决定测试用药是否有效。这就是医学的“双盲实验”。

同理,在互联网行业,也是这么用的。

业务把将web或者app界面或者流程,拆分为多个版本。然后将流量分层(或者分流),不同的人群使用的某个功能或者触发的策略不同。但是这里的人群一定要满足同质化的特性。所以无论分层还是分流,我们都需要将用户随机分配,且同一用户不能处在两个组内。

实验前期,我们需要对整体实验进行规划计算(比如在最小可观测变化下,计算最小样本量,通过最小样本量,计算实验周期等),而在实验流量达到统计最小样本量后,收集相关的数据,通过数学检验的方法得到数据结论,再结合业务评估,该实验是否有显著差异,决定该次功能/策略迭代,是否要扩量。

总结下来,AB测试就是运用数学的方式,结合业务评估目标,通过流量分割的实验方式,评估业务迭代是否有效果的方法。

AB测试基础知识点

流量的分割:分流 or 分层

分流:实验和实验之间用户不交叉,直接切割一部分流量做实验。

这种做法不推荐,除了一些会有交叉影响的策略(比如优惠券的发放)。

因为一个产品的流量有限,如果我们直接切割了一部分流量去做某一个实验,那如果实验非常多呢?

且这种切分方式,一旦实验量增多,样本量就会减少,实验周期就会增加。而在整个互联网都快速迭代,疯狂加班的同时,做一个实验要一个月甚至更久,可能领导就会不乐意了吧。

分层:实验和实验之间交叉,用户同时数据多个实验

这种方法是将用户同时处于多个式样中,即纵向是实验,横向是实验分桶。每一次都将用户重新随机打散。当我们的实验和实验之间不会相互影响,推荐使用分层的流量切分方案。因为这种方法可以使得每次实验都是全流量实验,大大缩小了我们的实验周期。

样本量计算

最小样本量计算,是为了计算实验周期。想知道在预期条件下,我们需要多少样本,才能观测出我们能接受的最小可观测波动。这里的底层原理可以看一下统计学,样本量计算都是根据统计学中的提升比例和置信比例计算得到。网上有大量的样本量计算器。

假设检验

先对实验结论提出一个假设,然后利用实验后的结果数据,判断该假设是否成立。假设检验中还需要了解如何设立假设和如何检验。

两个假设

原假设H0:实验中想反对的假设。一般来说说,就是实验没有效果。

备择假设H1:实验中想支持的假设。一般来说,是指实验有效果。

检验度量

P值:P值即概率,反映某一事件发生的可能性大小。统计学上,5%是一个小概率事件,所以,实验结果一般以P<0.05 认为有统计学差异。

分布检验:一般大于等于1.96就有差异。

Z检验:Z检验常用于总体正态分布、方差已知或独立大样本的平均数的显著性和差异的显著性检验。通常来说,指标是概率型指标,可以用Z检验。

T检验:t检验常用于总体正态分布、总体方差未知或独立小样本平均数的显著性检验、平均数差异显著性检验。通常来说,指标是均值类指标,可以用T检验。

置信区间

置信区间是对一个样本的总体参数进行区间估计的样本均值范围。它展现了这个均值范围包含总体参数的概率,这个概率称为置信水平。通常来说,同正或者同负,能判断此次效果是否显著。而置信区间中的置信水平代表了估计的可靠度,一般来说使用95%的置信水平进行区间估计。

AB测试整体流程设计

我们先来看看整体AB测试的流程:

实验前:定目标,确定实验设计

实验开始前,要先考量该实验的目的,并将该目的映射到具体的可算指标上。根据这个指标,我们需要计算对应的最小样本量。再结合相应的流量分桶数据,计算相应的实验周期。

实验中:规则与人群校验

对于用户,必须保证一个用户仅处于一个分桶。对于策略,我们需要校验策略是否生生效,校验流量比例是否符合预期。如果有问题还需要及时修改。

实验后:效果评估与沉淀复盘

再实验未完成前,不建议对数据进行有效性检验,多次校验导致错误概率上涨。

在实验完成后,我们再来收集数据,校验相关的显著性。且不止要看数据显著性,还要确认业务显著性。再来决定,当前实验策略是否要全量上线。

最后,我们还需要沉淀复盘此次实验的过程中的问题和做的好的地方,为下次实验积累经验,也为我们后期(如果要)搭建AB测试平台沉淀相关的方法论。

AB测试有哪些坑

网络效应

社交产品或者有C有B的产品,都需要注意网络效应。因为用户是相互联系的,会相互影响,我们这里可以将用户以城市为单位进行实验。比如上海实行策略A,北京实行策略B,避免两端互相影响。

新奇效应

当我们初期上线一个功能时,会有用户比较好奇该功能,从而使得该功能的数据较号。但是可能只是用户比较好奇而已。比如我们将之前的一个弱提示按钮改成了强提示按钮,数据肯定会涨。这种时候,可以仅查看NU用户,因为NU不受历史包袱的影响。

时间&样本同质性

保证同一时间周期内观测实验结果。

保证样本同质化,不要出现分流不均匀的问题。

实验时长要大于户活跃间隔周期

做AB测试时,尽量设定一个实验生效期,这个周期一般是用户的一个活跃间隔期,保证整体用户都被策略触达。