【测试】AB测试总结
文章目录
一、AB测试
1.1 什么是AB测试
1.2 AB测试的优缺点
二、假设检验
2.1 假设检验原理
2.2 假设检验步骤:
2.3 样本量的确定
2.4 样本质的控制
三、ABtest案例
一、AB测试
1.1 什么是AB测试
在互联网中AB测试通常指:为web或者app界面、流程设定两个或多个版本,在同一时间维度下,分别让类似的客户群体来访问,收集各群主的用户体验数据和业务数据,最后根据显著性检验分析评估出最优的版本。
1.2 AB测试的优缺点
AB测试的优点:通过实验对比,建立数据驱动,不断优化产品,还能降低新产品、新特性的发布风险。
AB测试的缺点:制作AB版本的开发、数据收集的工作量较大、以及后期维护成本增加,ROI低;同时AB测试还受场景限制,产品版本发布后,无法增加或更改AB测试场景。
为了解释显著性检验,这里先引入假设检验这个概念。
二、假设检验
2.1 假设检验原理
对总体特征做某种假设,然后通过样本研究统计推理,最终对此假设做出接受或者拒绝的判断,常见的假设检验有:Z检验、t检验、F检验、卡方检验。
2.2 假设检验步骤:
提出假设
确定适当的统计量
规定显著性水平
计算检验统计量
做出统计决策
需要注意:
提出假设:在假设检验中通常会提出两个命题,分别为H0和H1命题。H0是我们希望被推翻的命题,H1是我们希望被证实的命题。
确定适当的统计量:当样本数量大于30用Z检验;当样本数量小于30 ,近似服从正太分布且总体方差已知用Z检验;同样当样本量小于30,近似服从正太分布且总体方差未知用T检验;但如果样本量小于30,不服从近似正态分布,则不能用Z检验或者T检验
显著性水平:它是指H0命题为真,拒绝H0的概率。其实它代表小概率事件发生的概率。通常显著性水平用α表示,α可以取0.05或者0.01,它表示接受原假设正确性概率为95%或99%。
计算检验统计量:带公式计算出P值,P值是指在H0为真时,当前观测样本发生更加极端的概率。通俗的说如果p值很小,说明是小概率事件,在H0假设为真时尽然出现了小概率事件,当然要拒绝H0啦,反之则接受呗
当然这里我们可能经常犯统计学中两种错误:
第一类错误:当H0为真时,我们拒绝了H0,发生的概率为α
第二类错误:当H0为假时,我们却接受了H0,发生的概率为β

2.3 样本量的确定
理论上样本量越大越好,实际工作样本量越少越好。
这是因为样本量很少的情况下,实验结果可能被异常样本带偏,最终可能得到不准确的结果。但是使用样本量太大,相应的试错成本也会增大,那么如何确定合适的样本量就成了AB测试中的一个难题了?
这里给大家推荐计算计算样本量的网站:Sample Size Calculator
其实样本量和红框中这四个影响因子有关,这里做简要的说明:
Conversion Rate:可以把它理解为旧方案的的点击率,很容易理解,当旧方案中点击率越少,我们则需要更多的样本。
Minimum Detectable Effect:可以把它可以解释为“预想提升的转化率”,如果实验完毕后转化率提升的值高于或等于这个值,认为优化有用,反之优化程度可以忽略不计。
参数越大(比如10%),说明我们期望实验能够检测出10%的差别即可。检测这么大的差别当然比较容易(power变大),所以保持power不变的情况下,所需要的样本量会变小。
参数越小(比如1%),说明我们希望实验可以有能力检测出1%的细微差别。检测细微的差别当然更加困难(power变小),所以如果要保持power不变的话,需要的样本量会增加。
Statistical Significance:这参数为可以通过1-α得到
Statistical Power:这个参数可以通过1-β
对于某一具体的检验来说,当样本量n一定时,α越小,β越大。实际应用中通过增加样本量来减少β
2.4 样本质的控制
如果我们发现测试结果两个版本没有显著性区别,原因可能有三个,一:的确没有显著性区别;二:正如上面所提,实验分流没有达到所需要的样本量,从而能够以较大概率拒绝两类统计错误的发生,三:样本质量出现了问题,比如引入了异常的随机结果,举个例子:比如淘宝要对历史订单这个页面进行改版,设计了相应的AB测试,测试的目标是提升这个页面单个用户(UV)产生的GMV,也即是单日GMV/单日UV。但是某个用户在实验组里买了高价值的商品,它则可能带偏最终结果,为了控制质量的问题,我们可以采取AA测试。
其实将原始版本流量中分出两个和实验版本相同的流量进入测试。如上图,A2和A3进行AA测试,和B进行AB测试,其实通过观察A2和A3是否存在显著性差异,就可以确定分流是否有效,换句话说可以确定分流的质量怎么样 .
三、ABtest案例
题目如下:
这里我们不能直接给出实验版本B的转化率比实验版本A的转换率高,因为他可能是由一些随机因素导致的,这里我们可以按照显著检验过程进行如下计算:
(1)提出假设
其中H0是我们希望推翻的假设、H1是我们被证实的命题。
(2)确定适当的统计量
其中
计算达到Z=0.849105726
(3 )规定显著性水平
这里我们规定α=0.5
(4)计算检验统计量
查表可得
Z_{\alpha}\approx1.64(5)做出统计决策
因为Z<
Z_{\alpha} ,所以不能拒绝原假设,即认为B版本不一定比A版本所带来的的线索-车辆成交转化率要高。猜你喜欢
- 【网络】为什么有些POST请求会触发两次HTTP请求?
- 这个问题需要从浏览器的「同源策略」开始讲起。什么是同源策略呢?我的理解是,为了安全起见,浏览器只允许「同源」下的资源相互访问和共享,限制跨源请求。同源又是什么呢?所谓同源就是两个URL如果协议,主机(即IP),端口都相同,那么就称两个URL同源。协议:协议是定义了数据如何在计算机内和之间进行交换的规则的系统,例如 HTTP、HTTPS。主机:是已连接到一个计算机网络的一台电子计算机或其他设备。网络主机可以向网络上的用户或其他节点提供信息资源、服务和应用。使用 TCP/IP 协议族参与网络的计算机
- 【网络】七牛云存储创建空间并配置自定义域名
- 1. 创建空间bucket按规则填写名称,选择区域即可,至于共有还是私有,根据自己业务内容而定。空间创还能成功后会提示绑定自定义域名,点击立即绑定,或者在空间管理里面点击绑定域名。2. 添加域名在添加域名页面,填写自定义域名,系统会自动判断域名情况,如果未备案,默认只能选择海外,如果已备案,默认选择中国大陆。如果是未备案域名,对应的存储空间也只能选择海外空间,都由系统自动判定。这里只演示已备案域名,我的域名是在阿里云备案的。域名创建成功后,如下图,会显示CNAME未配置,复制CNAME对应的值,
- 【网络】http面试题
- 一、http协议 HTTP协议是什么 HTTP(HyperText Transfer Protocol:超文本传输协议) 超文本可以说是“超级文本”或者说是“带超链接文本”。超链接文本可以有图片、动图、文字、视频。从本质上说它是一个内容文本,我们对网站的浏览,实际上是对内容的浏览。对于这些内容,都有统一的路径,我们称之为URL地址 http(s): //<主机>:<端口>/<路径> http:表示协议,有http和https协议 主机可以是ip也可以是域名,如
- 【Docker】docker --restart=unless-stopped 和 --restart=always 的区别
- Docker 容器的 --restart 标志用于定义容器的重启策略。--restart=unless-stopped 和 --restart=always 这两个选项有一些细微但重要的区别:--restart=always:容器将始终尝试重启,无论它是如何停止的。如果容器崩溃,它会自动重启。如果Docker守护进程重启,容器也会自动启动。即使容器被手动停止(如使用 docker stop 命令),当Docker守护进程重启时,它也会重新启动。--restart=unless-stopped:容
- 【其它】32位与64位系统之间有什么区别
- 首先,我们来解释一下32位和64位究竟意味着什么。这两种术语常用于描述计算机的操作系统架构。简而言之,32位系统表示其处理器一次能处理32位数据,而64位系统则意味着处理器每次能处理64位数据。这种差异带来了诸多方面的不同,包括系统性能、支持内存容量以及支持的软件类型等。接下来,我们将深入探讨这些差异。
- 【支付宝】支付宝服务商支付
- 通过第三方应用授权,服务商在取得商家授权后,可以代商家调用支付宝开放接口,以完成相应的业务逻辑(如代替商家发起当面付的收单请求等)。 授权采用标准的 OAuth2.0 流程,要进行第三方代调用,服务商需要在第三方应用中添加对应功能并获得商家授权,本文介绍服务商的第三方应用如何取得商家应用的授权。
- TIOBE 发布 5 月编程指数排行榜,Fortran 语言首次进入前 10 名
- TIOBE 编程社区指数是一个衡量编程语言受欢迎程度的指标,评判的依据来自世界范围内的工程师、课程、供应商及搜索引擎,日前 TIOBE 官网公布了 2024 年 5 月的编程语言排行榜:Python 排名第一:占比 16.33%,本月上升 2.88%C 排行第二:占比 9.98%,本月下跌 3.37%C++ 排行第三:占比 9.53%,本月下跌 2.43%Java 排行第四:占比 8.69%,本月下跌 3.53%C# 排行第五:占比 6.49%,本月下跌 0.94%本月排行榜中,Fortran
- 【测试】软件测试岗位常见的七中测试方法
- 软件测试是保证软件质量的一个非常重要的环节,而软件测试方法有很多种,测试人员要根据实际需求和目标选择合适的测试方法,才能提高软件测试的效率和准确性,确保软件质量和可靠性。下面将介绍软件测试常见的七种测试方法。黑盒测试黑盒测试又称功能测试,该测试方法验证被测对象使用质量及外部质量表现。采用黑盒测试方法,测试工程师将测试对象看作一个黑盒子,完全不考虑程序内部逻辑结构和内部特性,只依据需求规格说明书、设计文档及其他需求描述文档,检查被测对象是否与期望需求一致。白盒测试白盒测试,又称结构测试、逻辑驱动测