AB测试的介绍与实施

什么是AB测试

AB测试是为Web或App界面或流程制作两个(A/B)或多个(A/B/n)版本,在同一时间维度,分别让组成成分相同(相似)的访客群组(目标人群)随机的访问这些版本,收集各群组的用户体验数据和业务数据,最后分析、评估出最好版本,正式采用。(百度百科:https://baike.baidu.com/item/AB%E6%B5%8B%E8%AF%95/9231223?fr=aladdin)
简而言之,就是同时进行多个方案的测试,在这些方案中选出最好的版本,即寻求局部最优解

AB测试的适用场景

适用场景 例子 不适用场景 例子
更优问题 ABC三种营销页哪个更好? 最优问题 如何设计最好的落地页?
估计短期影响 发送优惠券对于销量的提升 长期影响 新功能能否带来长期的收益?
因果分析 优化营销页能否提升转化率? 结果分析 转化率提升的原因?
战术性迭代 聊天按钮放在左边还是右边? 战略性迭代 要不要增加开聊按钮?

AB测试的原理

AB测试最核心的原理,就是假设检验,通过检验我们提出的假设是否正确来做出决策。对应到AB测试中,就是检验实验组&对照组,指标是否有显著差异。

AB测试的步骤

①确定需要做AB测试的业务及测试人群
②设计两种或多种测试方案
③提出假设,并设置原假设和备择假设
④确定观察指标
⑤计算最小样本量
⑥确定分流量和实验周期
⑦上线流量选择、时间设置
⑧实验策略上线
⑨实验结果评估(z/t 统计量检验、P值检验)

AB测试具体如何实施

①确定需要做AB测试的业务及测试人群

通常根据业务实际发展而定,比如页面优化、新功能的上线等,进行AB测试的业务及测试人群需与业务方沟通确定。

②设计两种或多种实验方案

根据沟通结果实际两组和多组实验方案,规划不同对照组、实验组实施的策略,预设实验结果可输出的对比效果。

③提出假设,并设置原假设和备择假设

原假设H0:μ1=μ2
备择假设H1:μ1≠μ2
通常将希望得到或证明的结果放备择假设

④确定观察指标

方案确定后续确定实验观察的指标。
核心指标:即业务想要提升的目标指标,通常一个,最多不超过3个,一般是均值或是比率。
基础指标:与基础体验相关的指标,比如优化营销页到商品选择页的转化率,在优化营销页的时候需保证新老版本的加载是一样。

⑤计算最小样本量

观察指标通常有两种类型,一种为均值类 如人均搜索次数,一种是比率 类比如用户的购买率、点击转化率等,两种类型计算最小样本量的方式有差异。最小样本量可以通过专业网站计算,也可使用python对应统计包中的函数计算。
1、均值类
在这里插入图片描述
均值类观察指标最小样本量计算网站:http://powerandsamplesize.com/Calculators/Compare-2-Means/2-Sample-Equality?
示例:
1处:估计的最小样本量;
2处: 1-β,常用0.8;
3处: α,常用5%;
4处:原始的均值,如均值是10;
5处:希望提升达到的均值,这里希望均值提升10%到达10.1;
6处:样本的标准差,取一段时间的样本计算标准差1.2
7处:两组实验分流量的比例,我们这里也是给到实验组和对照组样本量一样,所以两个样本的比例是1
在这里插入图片描述
2、比率类
在这里插入图片描述
比率类观察指标最小样本量计算网站:https://www.evanmiller.org/ab-testing/sample-size.html
示例:
1处:原始比率,这里原始转化率是20%
2处:想提升的百分数,这个地方是根据3处的选项来填写具体的值
3处:提升的是绝对量还是涨幅,有两个选项Absolute是绝对量,Relative相对量(涨幅)。比如我想从20%提升到达21%。那么这里的2处填写5,3处选择Relative
4处:1-β常用80%
5处:α常用5%
6处:估计的最小样本量
在这里插入图片描述

⑥确定分流量和实验周期

测试的对照组和实验组都需达到最小样本量的需求,实验周期=最小样本量/单位时间内样本量。此处需注意特殊情况,如节假日、周末时用户量较多的影响。
为了排查因对照、实验组选取样本的差异对结果产生的影响,可在正式上策略之前空跑一段时间进行AA实验,如果数据差异显著,数据不可用需重新选组,如果数据差异不显著,记录两组之间的均值差,然后在实验期(AB两组实验条件不同)结束时,用实验期的组间差异,减去空跑期的组间差异,得到因策略带来的变化值。

⑦上线流量选择、时间设置

根据目标实验人群的特点选择策略上线的实验对象,设置实验空跑、上策略实验的时间。

⑧实验策略上线
⑨实验结果评估

实验结果是否显著可通过检验统计量或计算P值来判断。
检验统计量评估
在可接受置信水平下有对应的置信区间,计算样本Z/t检验统计量,观察检验统计量是否落在置信区间内,若未在置信区间内则认为有理由拒绝原假设接受备择假设,若在置信区间内则认为没有理由拒绝原假设。
P值检验评估
计算P值,即当原假设成立时,观测到样本数据出现的概率。统计学上,将5%作为一个小概率事件发生的概率,所以一般用5%来对比计算出来的P值。当P值小于5%时,认为原假设事件不可能发生,拒绝原假设接受备择假设;反之,当P值大于5%时,接受原假设。

eg:以下为利用构造的实验数据,结合python计算AB测试所需的最小样本量、实验结果检验。

1、均值类的检验

##均值的AB测试
###导包
import pandas as pd
import numpy as np
from scipy import stats
from statsmodels.stats.power import tt_ind_solve_power
from statsmodels.stats.proportion import proportion_effectsize as es 
from scipy.stats import ttest_ind,norm,f

##构建监测数据
data = {
   'avg_cnt':[11.077378,8.398665,8.571959,8.283145,5.93106,7.453807,
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值