数据分析——AB测试

AB测试

  • 1、定义
  • 2、应用场景
  • 3、测试流程
    • 3.1 流程
    • 3.2 注意事项
  • 4、AB测试效果分析

1、定义

\quad \quad 将Web或App界面或流程的两个或多个版本,在同一时间维度,分别让类似访客群组来访问,收集各群组的用户体验数据和业务数据,最后分析评估出最好版本并正式采用。

2、应用场景

\quad \quad AB测试的主要应用场景一共有两个:界面设计、算法设计

界面设计:

  • 调整界面颜色、按钮颜色、界面外观等因素,通过视觉效果达到吸引用户的作用
  • 例如:在界面设计方面,早期推荐的是写实风格,即页面中的元素更逼真化,而近几年的界面设计更偏向于扁平风格,虽然不是逼真如实物,也能让用户快速判断图标的作用。

算法优化:

  • 重点针对页面中显示的元素进行优化
  • 如根据推荐算法向用户推荐一些高频搜索或者关注的内容

3、测试流程

3.1 流程

1、现状分析并建立假设: 分析业务数据,确定当前最关键的改进点,作出优化改进的假设,提出优化建议;比如说我们发现用户的转化率不高,我们假设是因为推广的着陆页面带来的转化率太低,下面就要想办法来进行改进了

2、设定目标,制定方案: 设置主要目标,用来衡量各优化版本的优劣;设置辅助目标,用来评估优化版本对其他方面的影响。

3、设计与开发: 制作2个或多个优化版本的设计原型并完成技术实现。

4、分配流量: 确定每个线上测试版本的分流比例,初始阶段,优化方案的流量设置可以较小,根据情况逐渐增加流量。

5、采集并分析数据: 收集实验数据,进行有效性和效果判断:统计显著性达到95%或以上并且维持一段时间,实验可以结束;如果在95%以下,则可能需要延长测试时间;如果很长时间统计显著性不能达到95%甚至90%,则需要决定是否中止试验。

6、最后:根据试验结果确定发布新版本、调整分流比例继续测试或者在试验效果未达成的情况下继续优化迭代方案重新开发上线试验
设定目标

3.2 注意事项

1、设定目标:

  • 实验组和对照组只有一个变量不一样,其它要一样
  • 最终通过哪些指标来评估效果

2、样本数量

样本量究竟选取多少合适?

案例:某客户端当前大盘次日留存率45%,最近决定准备上线一个直播功能,预估至少提升0.2%留存率,问最少需要多少样本量。

理论上:样本越多越好,当样本量很少的时候,容易造成试验结果的不稳定。
工作上:样本量越少越好,流量往往都是很有限的,最重要的是试验成本不能太高。

流量太大有问题:试验成本太高

具体的可以通过各方面情况进行评估,还有一个快捷的方式:
通过 https://www.evanmiller.org/ab-testing/sample-size.html 这个网站,确定当前的基准率,以及想要提升的变化率,便可得到预估的实验最少样本量。
数据分析——AB测试_第1张图片
3、样本质量:

分流出的样本是否有效?

\quad \quad 当测试结果显示两个版本没有区别时,我们不能完全确定这样的结果是因为方案本身的原因还是样本质量的原因。例如,依旧是购物车复购的案例,假设样本数量足够多,但很不巧的是恰好实验组里大部分都是老王这样的土豪,那么结果依旧会产生偏差。这个时候我们还需要更进一步确定,实验组里究竟有没有这样的意外因素。

解决这个问题有个很好的方式:AA测试

数据分析——AB测试_第2张图片

\quad \quad 将原始版本的流量中分出两个和测试版本相同的流量也进入测试。例如:为测试一个新的功能,我们计划分配90%流量给老版本A,10%流量给新版本B;这时我们把老版本里的90%再次拆分成【A1】70%+【A2】10%+【A3】10%,生成两个10%流量的老版本【A2】和【A3】,【A2】和【A3】相互进行AA测试,并分别于【B】进行AB测试;在试验过程中通过考察【A2】和【A3】是否存在显著性差异,就可以确定试验的分流是否有效了。

4、实验天数

  • 测试的时间长短要根据进入的流量进行调整,不能太长或太短。

  • 时间太短,没有足够的样本进入测试版本,会出现样本不足的情况,这时就需要通过拉长试验时间的方式来累积足够的样本量进行比较。时间太长,就意味着线上系统需要同时维护多个可用的版本,长时间的AB测试无疑加大了系统的复杂性。

\quad \quad 在设定测试时间时从以下三个维度进行考虑

1、最少样本量/每日可测试用户

2、用户的行为周期

\quad \quad 对部分行业的产品来说,用户的操作行为存在很大的周期性变化,例如电商用户的购买行为有较强的周次规律,周末流量和购买量与工作日会有显著差异,这时测试的周期应该能够覆盖一个完整的周期,也就是应该大于1周。

3、用户适应期

\quad \quad 如果进行的是UI改版一类影响用户体验的测试,新版本上线后用户通常需要有一个适应的过程,这时我们通常会在试验开始时给用户一个适应期让用户适应新的UI版本,然后再考察试验的结果。适应期的长短通常以足量用户流量参与试验后的2到3天为宜。

案例:某客户端当前大盘次日留存率45%,最近决定准备上线一个直播功能,预估至少提升0.2%留存率,
每天只有10w的用户量可以做测试,问实验需要多久。
  • 最少样本量为:98w,每天10w,至少需要10天
  • 用户新鲜效应:3天
  • 用户行为周期:周末与平时产品差异很大,需要覆盖一个周末

因此总共实验天数为10+3=13天,也就是测试大约2周

4、AB测试效果分析

\quad \quad 关于AB实验效果的分析通常分为两个步骤:实验有效性的判断、实验结果的比较。

1、实验有效性的判断

①判断实验的分流是否已经到达所需要的最小样本量,从而能够以较大的概率拒绝两类统计错误的发生。最小样本量的判断可以采用假设实验目标指标符合正态分布下,两类错误发生概率的分位数的方式进行估算;

②判断样本有效性。采用AA测试,如果AA实验的结果不存在显著差异,那么可以认为实验结果是有效的,进而可以对新老版本的实验结果进行进一步的判断;

③判断测试时间是否满足了样本需求,并考虑了适应期和行为周期;

④判断是否收到并行实验的影响。

2、实验结果的比较
\quad \quad 在确认实验有效后就可以对实验的结果进行判断了,通常通过比较新实验版本和老版本是否存在显著差异(前述的P值判断),以及计算实验结果指标的置信区间(通常选用指标的95%置信区间),从而判断新版本是否相对老版本存在显著提升或下降。

Z检验:

1、提出假设

  • 原假设:p_new-p_old <=0 (通常我们将想否认的结果作为零假设)

  • 备择假设:p_new-p_old>0

\quad \quad 其中,P为你所设定的目标,比如转化率,以转化率的高低比较新版本的价值

2、计算检验统计量

Z = P b − P a P b ( 1 − P b ) N b + P a ( 1 − P a ) N a Z=\frac{P_b-P_a}{\sqrt{\frac{P_b(1-P_b)}{N_b}+\frac{P_a(1-P_a)}{N_a}}} Z=NbPb(1Pb)+NaPa(1Pa) PbPa

3、结论分析:
\quad \quad Z > U α Z>U_{\alpha} Z>Uα,(其中 α \alpha α为显著性水平),则拒绝原假设即新版本的效率好于旧版本。

附注:
AB测试检验统计量的由来:
数据分析——AB测试_第3张图片
数据分析——AB测试_第4张图片

  • 一般情况下 N a = N b = N N_a=N_b=N Na=Nb=N
  • 更精确, N a , N b N_a,N_b NaNb分开

你可能感兴趣的:(数据分析,python,数据分析,AB测试)