AB test样本量计算器的具体使用方法
在实际的AB test中一般都是直接使用一些AB test计算工具求解的,一方面是公式太复杂记不住,计算也比较耗费时间,另一方面在老板眼里计算器计算反而比手动计算更不容易出错
接下来以用的比较多的evanmiller计算器详细介绍一下其对应的用法
网址为:https://www.evanmiller.org/ab-testing/sample-size.html
主界面如下:

这个计算器有4个输入。有了这四个输入,就一定能够算出所需样本量,也就是中间的Sample Size输出的结果。这四个输入分别是:
∙
\bullet
∙ Statistical power
∙
\bullet
∙ Significance level
∙
\bullet
∙ Baseline rate
∙
\bullet
∙ Minimum detectable effect
其中Statistical power和Significance level一般都是80%和5%不用修改
接下来我们看看每个输入是什么意思。
Statistical Power和Significance Level
A/B实验的基础是假设检验。首先我们会给出两个假设:
原假设(Null hypothesis, 也叫
H
0
H_0
H0):我们希望通过实验结果推翻的假设。在ABtest中原假设可以表述为“红色按钮和绿色按钮的点击率一样”等。
备择假设(Alternative hypothesis, 也叫H_1):我们希望通过实验结果验证的假设。可以表述为“红色按钮和绿色按钮的点击率不同”等。
所以列出现实中所有的可能性和我们采取的结论,可以得到如下几种结果:
情况1:点击率实际无区别(H0正确),却认为有区别

由于判断错了,我们把这类错误叫做第一类错误(Type I error),我们把第一类错误出现的概率用
α
α
α表示。这个
α
α
α,就是Significance Level,中文称为显著性水平。
在商业背景下,第一类错误意味着新的产品对业务其实没有提升,我们却错误的认为有提升。这样的决定,不仅浪费了公司的资源,而且部分人得到了不应得的奖励。
在非商业背景下,第一类错误往往更加可怕。比如好人被判刑进监狱,健康人被误诊送去化疗。
所以,在做A/B测试的时候,我们希望第一类错误越低越好。一般商业实验中,我们把
α
α
α人为定一个上限,一般是5%。也就是说,在做实验的时候,我们都会保证第一类错误出现的概率永远不超过5%。
情况2:点击率无区别(H0正确),认为没区别。
这种就是判断正确,结论和实际一致

情况3:点击率有区别(H1正确),认为有区别。

这种也是判断正确,结论和实际一致。我们把做出这类正确判断的概率叫做Statistical Power。中文称为功效
要记得,我们的做实验的根本目的是为了检测出红色按钮和绿色按钮的点击率差别。所以如果power低,即使新产品真的有效果,通过实验也不能检测出来。所以一般Power要求在80%以上。
情况4:点击率有区别(H1正确),认为没区别。

这也是一个错误的判断。这类错误叫做第二类错误(Type II error),用
β
β
β表示。根据条件概率的定义,可以计算出
β
=
1
−
p
o
w
e
r
β = 1 - power
β=1−power。
所以根据惯例, Statistical Power设为5%,Significance Level设为80%,不需要修改

Baseline Rate
这个看的是在实验开始之前,对照组本身的表现情况。在我们的实验里,baseline就是红色按钮的历史点击率。从直观上我们可以这么理解baseline:
当baseline很大(接近1)或者很小(接近0)的时候,实验更容易检测出差别(power变大),如果保持power不变,那么所需要的样本数量变小。举个例子,假设红色按钮的点击率是0%。那么,哪怕绿色按钮只有一个用户点击,相对于对照组来说也是挺大的提升。所以即便是微小的变化,实验也会更容易地检测出来。
同理,当baseline居中(在0.5附近徘徊)的时候,实验的power会变小。
在工作中,这个参数完全是历史数据决定的。在我们的实验中,我们假定,实验开始之前的历史点击率是15%。所以Baseline Rate=15%
Minimum Detectable Effect
顾名思义,这个参数衡量了我们对实验的判断精确度的最低要求。
参数越大(比如10%),说明我们期望实验能够检测出10%的差别即可。检测这么大的差别当然比较容易(power变大),所以保持power不变的情况下,所需要的样本量会变小。
参数越小(比如1%),说明我们希望实验可以有能力检测出1%的细微差别。检测细微的差别当然更加困难(power变小),所以如果要保持power不变的话,需要的样本量会增加。
在工作中,这个参数的选定往往需要和业务方一起拍板或者根据业务情况确定。在我们的实验中,我们选定Minimum Detectable Effect=5%。这意味着,如果绿色按钮真的提高了点击率5个百分点以上,我们希望实验能够有足够把握检测出这个差别。如果低于5个百分点,我们会觉得这个差别对产品的改进意义不大(可能是因为点击率不是核心指标),能不能检测出来也就无所谓了。
最后还有一个Absolute与Relative的选项,分别代表绝对比例变化和相对比例变化,影响的也是对应的精度。当选择Baseline Rate为20%, Minimum Detectable Effect为5%时,对应的检测精度区间就是15-25%和19-21%.同样的,精度区间越大的所需样本量就越少。


AB test样本量计算器的具体使用方法的更多相关文章
- JS实现简易计算器的7种方法
先放图(好吧比较挫) 方法一:最容易版 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta ...
- ab post 测试 http 和 webservice 接口方法及用例
1.ab测试简单http请求 ab -n30000 -c1000 "http://10.1.1.21:8080/" 2.ab 测试 http 接口 (POST) ab -n400 ...
- c# 委托delegate 编写计算器
.Net 中的委托类似于 C 或 C++ 中的函数指针.使用委托使程序员可以将方法引用封装在委托对象内.然后可以将该委托对象传递给可调用所引用方法的代码,而不必在编译时知道将调用哪个方法.与 C 或 ...
- WindowsForm 计算器
计算器 可以分一下类 数字键 + - * / % =和撤销 归零C最简单 下面看一下计算器具体的代码 using System; using System.Collections. ...
- 乐字节-Java8新特性-接口默认方法
总概 JAVA8 已经发布很久,而且毫无疑问,java8是自java5(2004年发布)之后的最重要的版本.其中包括语言.编译器.库.工具和JVM等诸多方面的新特性. Java8 新特性列表如下: 接 ...
- JavaScript几种数组去掉重复值的方法
数组去重复是一个常见的需求,我们暂时考虑同类型的数组去重复.主要是理清思路和考虑下性能.以下方法,网上基本都有,这里只是简单地总结一下. 思路: 遍历数组,一一比较,比较到相同的就删除后面的 遍历数组 ...
- oc6--类方法
// // main.m // 第一个OC类-类方法 #import <Foundation/Foundation.h> // 1.编写类的声明 @interface Iphone : N ...
- UML图标含义及记忆方法
记忆技巧: 箭头的一方为被动方(被调用者): 箭头的端点为主动方(调用者). 箭头为封闭三角形时,表示类间关系 箭头为半封闭尖括号时,表示类内关系.其中,虚线表示参数强制依赖关系,实线表示属性关系.一 ...
- [C++] 例题 2.7.1 用栈实现简易计算器
目录 前置技能 栈 (stack) 中缀表达式 (InfixExp) 与后缀表达式 (PostfixExp) 需求描述 概要设计 函数详细设计 中缀转后缀 infix_to_postfix(strin ...
- 18 JavaScript字符串方法
indexOf():从头到尾进行检索.返回指定文本在字符串最后一次出现的索引,否则返回-1.可以指定第二个参数作为起始位置. lastIndexOf:从尾到头进行检索.返回指定文本最后出现的位置,否则 ...
随机推荐
- DeepseekScanner deepseek+python实现代码审计实战
一.功能概述 DeepseekScanner实现了扫描源代码项目中的所有代码文件发送给deepseek进行安全审计的功能.具体细节包括扫描所有子目录中的代码文件,然后依次将代码文件切片发送到deeps ...
- 解决 windows 10 WSL 安装Ubuntu后 屏幕亮度飙至最高 且屏幕亮度无法调节 外接显示器无法显示 的问题
转载请注明出处:博客园 博主Bubgit https://www.cnblogs.com/Bubgit/p/16367937.html 问题现象 自从windows 10推出了 wsl (Window ...
- 张高兴的大模型开发实战:(五)使用 LLaMA Factory 微调与量化模型并部署至 Ollama
目录 环境搭建与配置 数据集准备 WebUI 配置微调参数 模型导出与量化 导入 Ollama LLaMA Factory 是一个开源的全栈大模型微调框架,简化和加速大型语言模型的训练.微调和部署流程 ...
- Windows 实用工具(新机、全新系统、重装系统必备)
Windows 实用工具 https://www.lanzoub.com/b0ziu7owh 密码:akoc HEU_KMS_Activator Windows 激活工具. 下载链接: Github: ...
- 2.7K star!这个汉字工具库让中文处理变得超简单,开发者必备!
嗨,大家好,我是小华同学,关注我们获得"最新.最全.最优质"开源项目和高效工作学习方法 cnchar 是一个功能全面的汉字工具库,提供拼音转换.笔画动画.偏旁查询.成语接龙.语音合 ...
- termux添加ll命令
cd ~ vim .bashrc 添加如下内容 alias ll="ls -l" 保存退出 :wq source .bashrc 参考:https://www.cnblogs.co ...
- 突破Excel百万数据导出瓶颈:全链路优化实战指南
在日常工作中,Excel数据导出是一个常见的需求. 然而,当数据量较大时,性能和内存问题往往会成为限制导出效率的瓶颈. 当用户点击"导出"按钮时,后台系统往往会陷入三重困境: 内 ...
- 基于onnxruntime结合PyQt快速搭建视觉原型Demo
我在日常工作中经常使用PyQt和onnxruntime来快速生产demo软件,用于展示和测试,这里,我将以Yolov12为例,展示一下我的方案. 首先我们需要使用Yolov12训练一个模型,并 ...
- QuickSort之C#实现
/// <summary> /// 快速排序中的切分 /// lIndex已经是基准值,i记录基准值的大小值的边界,j记录目前遍历的边界: /// i值必须从lIndex+1开始,因为基准 ...
- React-Native开发鸿蒙NEXT-一次审核闪退的排查思路
.markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...