当前位置:   article > 正文

数据分析之AB测试

ab测试

一、AB测试的定义

AB测试就是通过将测试对象随机分成两组,然后控制其他变量一致的前提下,对其中一组进行某种行为或者功能的干预。继而计算AB效果的差异。

学术说法:AB测试是基于统计学原理, 通过合理流量分配, 高效、准确选取局部指标价值最大化方案的一系列方法论的总和。

二、进行AB测试的原因

由于功能设计者个人思维的局限性以及全量用户的不可调研性, 导致了一个功能的预期效果可能与实际上线后的效果存在认知、实用上的差异。

一般来讲, AB测试通常有可以划分为两大目的:

  • 判断方案的优劣: 究竟是A方案好些, 还是B方案好些。
  • 计算方案带来的ROI: 最近上了一个帖子功能, 究竟给平台带来了多数DAU, 多数额外使用时长。

通俗一点来说,AB测试可以避免我们拍脑袋决策,科学量化优化方案的效果。

三、AB实验的步骤

实验设计基本步骤如下图:
在这里插入图片描述

  1. 现状分析并建立假设:分析业务数据,确定当前最关键的改进点,作出优化改进的假设,提出优化建议;比如说我们发现用户的转化率不高,我们假设是因为推广的着陆页面带来的转化率太低,就要想办法来进行改进
  1. 设定目标,制定方案:设置主要目标,用来衡量各优化版本的优劣;设置辅助目标,用来评估优化版本对其他方面的影响。
  1. 设计与开发:制作2个或多个优化版本的设计原型并完成技术实现。
  1. 分配流量:确定每个线上测试版本的分流比例,初始阶段,优化方案的流量设置可以较小,根据情况逐渐增加流量。
  1. 采集并分析数据:收集实验数据,进行有效性和效果判断:统计显著性达到95%或以上并且维持一段时间,实验可以结束;如果在95%以下,则可能需要延长测试时间;如果很长时间统计显著性不能达到95%甚至90%,则需要决定是否中止试验。
  1. 做出决策:根据试验结果确定发布新版本、调整分流比例继续测试或者在试验效果未达成的情况下继续优化迭代方案重新开发上线试验。

tips:作为数据分析师,我们真正参与的流程主要是现状分析以及采集并分析数据。

案例分析:某电商平台想对新用户进行发券刺激,提高新用户的转化率及留存。并验证该发券行为的增量及ROI。下面结合AB设计步骤阐述每一步的具体工作内容。

Step1:我们需要先对平台新用户的现状进行分析,比如每日新客的用户量级、留存情况。并结合历史数据,评估不同面额对用户转化率的提升等。
Stpe2:确认好发券样式及触发条件(比如用户打开APP立即触发发券弹窗)。
Step3:UI及交互进行设计并开发上线。
Step4:确认好分流机制,比如hash分流(后续将展开说明一下分流的机制。)
Step5:积累实验数据,并分析实验效果。
Step6:评估实验效果,确认是否优化或者发布上线。

四、AB测试实验效果评估

最常用的假设检验方法有Z检验(正态分布检验)、T检验、卡方检验、F检验等。

因为AB测试是检验来自两个组样本平均数的差异性,从而判断它们各自代表的总体的差异是否著,因此使用的是两个总体均值之差的检验。

当两组的样本量n,m充分大时,根据中心极限定理,我们可以通过 Z检验 进行实验效果的评估。

五、AB测试的优缺点

  1. 优点
    - 科学量化策略的效果,避免拍脑袋决定造成的损失。
    - 对比不同的策略,找到核心问题,探索业务增长点。
    - 数据驱动,形成优化闭环。
    - 通过AB测试,为创新项目提供数据支持和保障。

  2. 缺点
    - 数据采集积累,降低了策略的迭代效率。
    - 不同策略的维护和开发,增加了开发工作量。

六、AB测试实验效果不显著的处理

实验效果不显著的原因可以分成两类:

  • 第一类:线上策略不佳,无明显差异。
  • 第二类:实验的灵敏度不够高。

针对第二类问题,我们可以通过以下方法进行优化

  • 增加样本量:根据显著性检验的原理,只要实验组和对照组差值及样本方差不变的情况下,样本量足够大,我们总是可以得到显著性的结果。
  • 减少样本均值的方差:减少样本均值方差的方法有减少离群值的影响,缩减方差(CUPED)的方法。
  • 更换指标:更换一个方差更小的指标,比如某购物平台,实验指标一开始是用户购买的平均金额,我们可以更换为用户是否购买。对同一批样本,是否购买属于0-1分布,样本的均值方差自然比用户购买的平均金额小很多。

七、AA实验

辛普森悖论:在某个条件下的两组数据,分组研究时都会满足某种性质,可是一旦合并考虑,却可能导致相反的结论。

在这里插入图片描述

在真实实验场景中,我们要保证实验的流量跟大盘分布保持一致,如性别比例、系统型号比例、高中低活用户比例、不同版本的用户比例等在统计学意义上保持一致。此外,实验放量要控制实验组和对照组放量的比例、时间一致。

如果各实验组用户特征分布不均衡,会引入额外的变量,导致实验结果不准确,甚至导致上面讲到的辛普森悖论等问题。常见的要校验的特征,如性别比例、系统型号比例、好友个数等。这里补充介绍下AA实验(空跑),AA实验可以在正式AB实验之前,排查实验的埋点、分流、统计是否有问题。如果实验的埋点、分流、统计没有问题的话,AA实验中各分组的数据表现应该差异不大。

除此之外,如果指标上报异常或者实验组中含有离群用户等,都可以在AA空跑期提前排查出来。比如一些均值类的指标,本质上是没有上限的,一些离群用户产生的极大数值可能就会造成影响。也可辅助进行指标的选取,检测指标的稳定性,如某些指标本身波动性很大,就不太适合用作AB实验的指标。

在这里插入图片描述
AA实验主要有以下几个作用:

  • AA实验能够验证实验所在层的分流均匀和正交性,保证分流同质。
  • 观测指标是否存在指标生产异常,如实验曝光上报异常、异常用户影响等
    评估指标波动范围
  • 防止上一个AB实验释放的流量带来的惯性的影响(carry over)
  • AA实验一般也都是保持现状,不会给产品带来额外的风险,当然会有时间上的成本。也有AA回溯等替代方法。

八、AB实验相关问题

1、在abtest的应用 p值的意义,第一类和第二类错误的定义

AB实验实际上是建立在假设检验的基础上的,P值就是在原假设成立的前提下,出现原假设以及更极端现象的概率,定义了第一类错误的具体程度,第一类错误α叫弃真错误或显著性水平,即原假设为真时却被我们拒绝的概率;

第二类错误β叫采伪错误,即原假设为伪我们没有拒绝的概率。在一定样本量的情况下,减小一类错误必然会增大另一类错误,在实践中我们一般会优先控制第一类错误,因为原假设是非常明确的

第一类错误也即原假设为真的情况我们接受的概率,对于AB实验,犯这个错误代表新策略没有收益,我们却认为有收益,然后上线的错误,一般第一类错误不超过5%,第一类错误是明显的,也就是说在原假设为真的情况下接受原假设的概率要超过95%;

统计功效=1-第二类错误,也即当AB两组实际有差异时,能被我们检测出来差异的概率

2、abtest的流程

实验的流程:确定目标和假设->确定指标->确定实验单位->计算样本量->实施测试->分析实验结果

其中确定指标中比较关键的是要确定评价指标和护栏指标,评价指标就是驱动公司实现核心价值的指标,要具有可归因性、可测量性、敏感性和稳定性;护栏指标也就是辅助指标

确定实验单位有从用户层面、访问层面和页面层面进行考虑的情况,用户层面适用于易被用户察觉的变化实验,访问和页面层面适用于不易被用户察觉的变化实验;从用户层面到页面层面实验粒度越来越细,累计的样本量也越来越多

计算样本量,需要预先确认以下数值:显著性水平、功效、实验组和对照组的综合方差以及期望的最小差值。实验组和对照组数据量最好均分,非均分的时候只有相对较小的组达到最小样本量,实验结果才可能显著,并不是说实验组越大越好,因为瓶颈是在样本量较小的对照组上,所以实验组和对照组的样本量最好相同

分析测试结果的时候要注意辛普森悖论等问题,而且要保证样本达到足够的量、检验是否在正常的波动范围内

3、自变量是不良体验反馈,因变量是留存率,方法论是ABtest,二者相关性该注意什么

需要注意可能存在幸存者偏差现象。有些用户在有不良体验后会进行反馈,这种反馈在一定程度上可能解释了用户留存率下降的原因,但同时应该注意到,能进行反馈的用户通常是对平台有感情的用户,希望能通过反馈改善平台环境,继而留下来;很多真正失望的用户可能一言不发便直接流失,所以可能出现不良反馈的数量减少但留存率却下降的情况。

4、AB Test有什么缺点

(1)制作AB版本的开发、数据收集的工作量较大、以及后期维护成本增加,ROI低;

(2)AB测试受场景限制,产品版本发布后,无法增加或更改AB测试场景;

(3)通常应用于短期即刻行为,不适用与需要很长时间才能验证的测试;

(4)需要的用户人数多,要有足够的样本量。

5、AB测试在什么平台上进行?主要步骤

(1)定义策略:确定分流的目的、放量规模、递增的频率、回滚的策略等;

(2)筛选用户:确定分流访问的用户特征,定义规则(根据IP,user_id,cookie,业务需求(商户)等因素,指定分流策略)或导入名单;

(3)访问分流:技术支撑,根据分流策略向用户展示不同内容;

(4)发布运行:根据不同的实现方案进行部署;

(5)采集分析:收集数据,比较不同的方案效果,确定最终方案。

参考链接:
AB实验的踩坑之路
幸普森悖论

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号