AB测试

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

1、定义

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

2、应用场景

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

界面设计:

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

算法优化:

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

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 这个网站,确定当前的基准率,以及想要提升的变化率,便可得到预估的实验最少样本量。

3、样本质量:

分流出的样本是否有效?

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

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

\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=Pb−PaPb(1−Pb)Nb+Pa(1−Pa)NaZ=\frac{P_b-P_a}{\sqrt{\frac{P_b(1-P_b)}{N_b}+\frac{P_a(1-P_a)}{N_a}}}Z=Nb​Pb​(1−Pb​)​+Na​Pa​(1−Pa​)​​Pb​−Pa​​

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

附注:
AB测试检验统计量的由来:

  • 一般情况下Na=Nb=NN_a=N_b=NNa​=Nb​=N
  • 更精确,Na,NbN_a,N_bNa​,Nb​分开

数据分析——AB测试相关推荐

  1. 数据分析AB测试实战项目

    本文是<数据蛙三个月强化课>的第四篇总结教程,如果想要了解数据蛙社群,可以阅读给DataFrog社群同学的学习建议.温馨提示:如果您已经熟悉数据分析指标,大可不必再看这篇文章,或是只挑选部 ...

  2. 数据分析36计(12):做不了AB测试,如何量化评估营销、产品改版等对业务的效果...

    往期系列原创文章集锦: 数据分析36计(11):如何用贝叶斯概率准确提供业务方营销转化率 数据分析36计(十):Facebook开源时间序列预测算法 Prophet 数据分析36计(九):倾向得分匹配 ...

  3. 多场景业务实战-AB测试实战(数据分析干货!!!!!)

    AB测试实战 学习目标 掌握如何设计AB测试 AB测试效果如何解读 掌握如何进行实验设计与效果计算 1.AB测试介绍 很多网站/APP的首页都会挂一张头图(Banner),用来展示重要信息,头图是否吸 ...

  4. 大数据ab 测试_在真实数据上进行AB测试应用程序

    大数据ab 测试 Hello Everyone! 大家好! I am back with another article about Data Science. In this article, I ...

  5. python 数据逐个验证_案例实战 | Python 实现 AB 测试中常见的分层抽样与假设检验 (附代码和数据集)...

    在这里插入图片描述 作者 l 萝卜 本文会将原理知识穿插于代码段中,相关代码和数据集可在公众号 " 数据分析与商业实践 " 后台回复 " AB测试 " 获取. ...

  6. AB测试-A/B Test

    网络上有很多类似名称,又名A/B试验,ab test. 文章目录 一.应用场景 二.什么是AB测试 三.AB测试可以解决什么问题 四.AB测试的流程 五.AB测试常见的误区 六.AB测试的原理 一.应 ...

  7. AB测试——流程介绍(实施实验和结果分析)

    前言: 作为AB测试的学习记录,本文通过例子介绍实验数据的验证过程. 相关文章: AB测试--原理介绍 AB测试--流程介绍(定义问题和指标选取) AB测试--流程介绍(设计实验) 5.1 选择测试和 ...

  8. 数据应用系列(1)-ab测试

    作者/五花肉 作者介绍 前网易出口大数据产品经理一枚 负责过数据采集.bi系统.ab测试.画像平台等应用层平台搭建 酷爱健身.钟爱咖啡.喜爱摩托.热爱生活 01 为什么需要ab测试 大家在日常工作中是 ...

  9. UI 设计之AB测试

    UI 设计之AB测试 --京东淘宝登录键大比拼 作者:Yuie 指导老师:何吉波 赛前准备 什么是AB测试 AB测试是为Web或App界面或流程制作两个(A/B)或多个(A/B/n)版本,在同一时间维 ...

  10. AB 测试平台的设计与实现

    AB 测试(以下称为「试验」),本质是把选择权交给用户,让用户决定什么是最好的.我们给参与试验的不同用户,分配不同的方案,收集用户数据并加以分析,最终确定最优方案. 试验方案的分配可抽象为一个哈希函数 ...

最新文章

  1. Linux下,各种解压缩命令集合
  2. 基本配置2-被忽悠进了CentOS 6
  3. The dialect was not set. Set the property hibernate.dialect
  4. 拓端tecdat|基于R统计软件的三次样条和光滑样条模型数据拟合及预测
  5. js基础-(二)-类和面向对象
  6. 软件测试 atp,ATP使用方法详细-内部资料-软件测试文档类资源
  7. eclipse 改java版本_修改eclipse工程jdk版本
  8. 03 - 雷达的基本组成
  9. 经验分享——家校互动系统功能教程资源
  10. 浅谈前端开发过程中使用的代理方法
  11. C# 后台js重定向Response.Write
  12. Axure中SVG矢量图标的使用方法及资源推荐
  13. 130、总结:华为、H3C、锐捷三家交换机配置命令详解
  14. 二进制数相减计算机如何计算,二进制减法怎么算
  15. you need to install the latest version of Visual Studio
  16. 神武4手游服务器维护,神武4手游快速升级攻略 神武4手游新区老区冲级攻略
  17. oh-my-zsh安装教程
  18. android CheckBoxPreference title,summy字体大小设置
  19. 用ECharts生成统计图
  20. 运维部门工作总结_运维部年终工作总结范文

热门文章

  1. 1620:质因数分解
  2. Android打码函数,Android 马赛克(Mosaics)效果
  3. windows scrip host报错代码:800A00D
  4. JD如何获取cookie
  5. java 添加盲水印_图片加数字盲水印
  6. 2013上半年智能电视市场调研报告分析
  7. linux的复制粘贴
  8. [微信小程序开发者工具] × #initialize
  9. 飞鱼星路由器如何限制外网访问服务器网站,飞鱼星路由器如何限制禁止指定IP上网...
  10. ucserver admin.php,Discuz!X3.2 升级后ucenter、uc_server正确密码却无法登录后台的解决方法...