关于A/B测试所要了解的五个要点

译文
开发 测试
本文介绍了关于A/B测试所要了解的五个方面,从适当的样本大小、统计置信度到A/B测试的有用性等。

【51CTO.com快译】本文介绍了关于A/B测试所要了解的五个方面,从适当的样本大小、统计置信度到A/B测试的有用性等。

A/B测试是一种随机试验,其中“A”和“B”指2个变体,用于确定哪个变体更“有效”。作为网络分析中的一种常用工具,A/B测试并不被每个人所熟知,包括经常使用它的那些人。合理的A /B测试应牢牢扎根于统计假设测试,但情况并非总是如此。

除了假设测试外,设计、执行和解释A/B测试结果时还存在各种其他问题。不妨参阅本文中介绍的基础知识

本文介绍了关于A/B测试的五个要点。

关于A/B测试所要了解的五个要点

图1

1. 别基于少量样本就做出结论。

对于任何对统计学知识略知一二的人来说,这似乎显而易见,但是非常重要,值得先来介绍。

A/B测试的样本数量很棘手,不像大多数人所想或希望的那么简单。但这其实只是与统计置信度有关的更大难题的一部分;只有拥有必要的样本数量和完成实验所必需的时间,才能获得统计置信度。合理地试验设计将会考虑预期的统计置信度所需的样本数量和转换次数,让试验得以全面展开,而不是因似乎有了成功的结果而提前停止试验。

可以在此处进一步了解样本大小和计算A/B测试统计置信度的更多信息。

2. 别忽视A/ B测试的心理因素。

假设你在搞电子邮件A/B测试。做好了试验准备,以便两个组有同样的电子邮件内容,但标题行不一样。这些标题行变体就是测试的对象,由于这些标题行在打开邮件之前对用户来说是可见的(实际上用于衡量邮件的有效性),这里要测试的度量标准显然是邮件打开率,是不是?

这得看情况。促销活动的目标是什么?你是否只对打开它(或间接地阅读它)感兴趣?更可能的是,目标是让用户随后完成某种行为召唤(CTA,比如点击),因此该CTA即点击率可能是更准确的度量标准。

但是打开电子邮件后,已经可见的标题行如何导致不一样的点击率?一切与心理因素有关。举个例子:你的电子邮件旨在促销数据科学会议活动,会议主角是数据科学超级明星Jane Q. Public,举办地在波士顿。你有2个可供选用的标题行:

  • 向***秀的专家学习数据科学!
  • 与Jane Q. Public一起出席今年11月在波士顿举办的2018年数据大会

你已对这些标题设定了期望,只有其中一个具有现实意义。用***个吸引打开并没有让读者准备好邮件可能的内容,失望或期望未得到满足的可能性大得多,因此点击量无疑受到影响。另一方面,第二个预期邮件含有实际的信息,打开的那些人点击的可能性大得多。

[[243400]]

图2

3. 注意局部最小值;A/B测试并不适合一切。

A/B测试解决不了一切,因为它并不适合一切。

改变着陆页可能是良好的A/B测试,改变网站或表单上的按钮位置可能是良好的A/B测试。完整的网站重新设计是不是良好的A/B测试不好说,这取决于如何搞试验。

增量变化通常很适合A/B测试。但是,增量变化可能无法实现你想要实现的目标,就因为你想当然地以为自己的起点正确。局部最小值将你的产品概念化成一个数学函数,类似于已获得的设计常规。倘若你没有考虑到这点:如果采用一种更全面的方面来重新设计产品,可获得全局最小值(或甚至更理想的局部最小值),调整现有产品就毫无价值。这是多此一举。

要点是,一头扎入A/B测试不是好主意。先确定目标,一旦你确定A/B测试可以帮助你实现目标,然后再决定试验。之后,设计试验。只有这样才能实施A/B测试。

4. 分桶(bucket)是重点。

先不妨考虑在不知道总体(population)中属性分布的情况下,我们如何在分配分桶之前最有效地确保分桶之间的可比性。

答案很简单:随机选择和分桶分配。在不考虑总体任何属性的情况下,随机选择和分桶分配是一种统计上合理的方法,假设可供使用的总体足够大。

比如说,假设你在测试针对网站功能的改变,只对来自特定地区(美国)的响应感兴趣。先分成两组(对照组和处理组),而不考虑用户区域(假设总体足够大),分配的美国访客应在这两组之间分派。从这两个分桶中,可以检查访客属性以便测试,比如说:

 

  1. if (region == "US" && bucket == "treatment"):  
  2.       # do something treatment-related here  
  3.   else 
  4.       if (region == "US" && bucket == "control"):  
  5.           # do something control-related here  
  6.       else 
  7.           # catch-all for non-US (and not relevant to testing scenario) 

关于A/B测试所要了解的五个要点

图3

第二个问题是分桶倾斜。以前曾在Etsy参与A/B测试的数据科学家Emily Robinson写道:

分桶倾斜(又叫样本比率不匹配)是指人员在变体之间的分派与你计划的不一致。比如说,也许你想在对照组和处理组之间按50/50分派人员,但几天后,你发现40%的人在处理组,60%的人在对照组。这是个问题!

如果你有好多用户,即使看到对照组中有49.9%的人和处理组中有50.1%的人也可能表明你的试验有问题。想检查是否有问题,请使用每组中的访客数量进行比例测试,看看p值是否小于.05。如果确实存在分桶倾斜,就有bug。遗憾的是,很难找到这个bug,但一个好办法是查看分桶倾斜是否因Web浏览器、国家或另一个访客因素而有所不同。

Emily所写的那篇文章的其余部分也很精彩,建议不妨读一下

5. 分析中只包括可能受变化影响的人员。

Emily阐述的第11点探讨了这一点:

如果你的试验中有用户的体验没有受到变化的影响,你是在增加噪音,削弱检测效果的能力。

很棒的建议!Emily随后举了两个直观的例子:

1. 如果你改变特定页面的布局,只有在用户实际访问该页面的情况下才将他们添加到试验中。

2. 如果你尝试将免费发货阈值从$ X调低到$ Y,试验中应该只包括购物车商品金额介于$ X和$ Y之间的那些用户;他们将是处理组与对照组当中唯一看到差异的用户。

Emily紧接着提出了一个相关的建议:只有在用户访问相关网页后才开始跟踪你的度量指标:

设想你在搜索页面上运行试验,有人访问你的网站,从主页购物,然后访问搜索页面,这时开始试验。

显而易见,A/B测试本身就是一门专业,贸然开始试验只会带来混乱。但愿这五个简单的要点对你有所帮助。

原文标题:5 Things to Know About A/B Testing,作者:Matthew Mayo 

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

责任编辑:庞桂玉 来源: 51CTO
相关推荐

2012-07-04 17:06:53

大数据

2016-12-23 08:59:00

AB 测试CRO

2021-09-07 14:36:53

DevSecOps开源项目

2022-09-30 10:36:49

物联网IoT

2021-11-22 11:25:57

即时通讯通信网络APP

2018-09-21 11:11:34

备份离线自动

2021-09-05 08:46:29

CSPM网络安全网络攻击

2020-05-12 10:31:54

云迁移云平台云计算

2018-11-08 12:07:38

备份手动磁盘

2022-02-22 23:39:15

JavaScript编程语言Web

2017-11-16 18:48:48

Hadoop数据库数据处理

2021-11-19 10:25:23

MySQL数据库架构

2022-09-14 10:00:12

前端自动化测试

2022-08-15 06:53:22

网络攻击网络安全

2020-11-17 08:00:00

机器学习管道IT

2016-11-01 16:41:08

直通网线连接端口传输数据

2021-06-07 11:33:24

服务器优化TIME-WAIT

2021-05-19 09:40:14

Android 12Android

2021-08-09 14:40:02

物联网IOT智能家居

2022-03-18 12:46:56

Go 语言编程语言
点赞
收藏

51CTO技术栈公众号