问题

什么是 A/B 测试?

回答
A/B 测试,也被称为拆分测试,是一种通过比较两个或多个版本(通常是两个版本,标记为 A 和 B)的同一件事物(例如网页、应用程序功能、广告、电子邮件等),来确定哪个版本表现更好的用户体验研究方法。

它的核心思想是:隔离变量,量化影响。 通过一次只改变一个或少数几个元素,然后将用户随机分配到不同的版本,观察并测量他们之间的行为差异,从而得出哪个版本更能达成预设目标。

我们来详细拆解 A/B 测试的各个方面:



核心概念与原理

1. 对照组与实验组(A 与 B):
版本 A (对照组): 通常是当前正在使用的、被认为是“标准”的版本。它的作用是作为基准,用来衡量版本 B 的表现。
版本 B (实验组): 这是你想要测试的新版本,它与版本 A 相比,有一个或多个关键的变化。

2. 随机分配:
这是 A/B 测试的基石。用户在访问你的网站、应用程序或接收你的营销信息时,会被随机地分配到版本 A 或版本 B。
随机分配的目的是确保两组用户在其他任何方面(例如年龄、性别、地理位置、设备、之前的行为习惯等)都尽可能相似。这样,我们就可以更有信心地认为,观察到的行为差异是由于我们测试的变化引起的,而不是其他外部因素。

3. 测量指标(KPIs Key Performance Indicators):
在进行 A/B 测试之前,必须明确你要衡量的是什么。这些是能够体现你目标达成程度的关键数据。
常见的测量指标包括:
转化率 (Conversion Rate): 完成特定行动(如购买、注册、下载)的用户比例。
点击率 (ClickThrough Rate CTR): 用户点击某个链接或按钮的比例。
跳出率 (Bounce Rate): 只查看一个页面就离开的用户比例。
平均会话时长 (Average Session Duration): 用户平均在网站上停留的时间。
页面停留时间 (Time on Page): 用户在特定页面上停留的时间。
销售额/收入 (Revenue): 产生多少收入。
退货率 (Return Rate): 退货用户的比例。
用户满意度 (User Satisfaction): 可以通过问卷调查等方式衡量。

4. 统计显著性 (Statistical Significance):
A/B 测试的目标是找出哪个版本“更好”,但随机性总是存在的。即使是完全相同的两个版本,也可能由于巧合导致其中一个版本的数据略好。
统计显著性是为了判断观察到的差异是否真实存在,还是仅仅由随机波动造成的。它通常通过p 值 (pvalue) 来衡量。
p 值: 表示在“两个版本没有真正差异”的原假设下,观察到当前数据差异的概率。
置信水平 (Confidence Level): 通常设定为 95% 或 99%。这意味着我们希望有 95% 或 99% 的把握确信观察到的差异不是偶然的。
临界值: 如果 p 值小于预设的显著性水平(例如 0.05,对应 95% 置信水平),我们就会拒绝原假设,认为两个版本之间存在统计上显著的差异。



A/B 测试的流程

一个完整的 A/B 测试流程通常包含以下几个步骤:

1. 确定目标与假设:
明确你想通过这次测试达成的目标是什么? (例如,提高注册转化率,增加点击率,减少购物车遗弃率)。
基于目标,提出你的假设: “改变 [某个元素] 将会 [产生某种影响],从而提高 [某个指标]。”
例如: “将按钮颜色从蓝色改为绿色,将会提高‘添加到购物车’按钮的点击率。”

2. 确定需要测试的变量:
你需要改变什么?一次只改变一个或少数几个紧密相关的变量是最好的。
常见的测试变量:
标题和副标题: 措辞、长度、语气。
行动号召按钮 (CTA): 颜色、文本、大小、位置。
页面布局和设计: 图片、视频、排版、导航。
表单字段: 数量、标签、顺序。
产品描述和定价: 语言、突出点、促销信息。
广告文案和图片: 不同版本的广告素材。
电子邮件主题行和内容: 不同版本的邮件。

3. 创建测试版本 (A 和 B):
根据你的假设,创建与对照版本 (A) 只有一个或少数几个关键差异的版本 (B)。
确保版本 B 在技术上和设计上都是完善的。

4. 设定测试时长与样本量:
样本量 (Sample Size): 需要收集多少数据才能获得有统计意义的结果?这取决于预期的差异大小、转化率基线和所需的置信水平。通常需要使用统计计算器来估算。
测试时长 (Test Duration): 需要运行多久才能收集足够的样本量?通常建议至少运行一周,以涵盖不同日期和用户行为模式(例如工作日 vs. 周末)。避免在大型促销活动或异常事件期间进行测试。

5. 运行测试:
将流量(用户)随机分配到版本 A 和版本 B。
使用 A/B 测试工具(如 Google Optimize, Optimizely, VWO 等)来自动化这一过程。

6. 收集与分析数据:
持续监测关键指标。
测试结束后,使用统计方法分析收集到的数据,计算 p 值和置信区间。
关键问题:
版本 B 的哪个指标比版本 A 好?
这种差异是统计上显著的吗?

7. 做出决策并实施:
如果版本 B 的表现显著优于版本 A,并且差异是统计显著的,那么就可以考虑将版本 B 部署为新的“标准版本”。
如果差异不显著,或者版本 B 的表现不如版本 A,则应维持版本 A,并可能需要重新审视测试假设或变量。
学习与迭代: 即使测试结果不理想,也提供了宝贵的学习机会,可以帮助你改进未来的测试。



A/B 测试的变种

除了基本的 A/B 测试,还有一些其他的变种:

多变量测试 (Multivariate Testing MVT): 同时测试多个变量的组合。例如,一个页面可能有标题、CTA 按钮和图片三个元素,每个元素都有两个变体。MVT 会测试这 2x2x2 = 8 种组合。这比 A/B 测试更复杂,需要更大的流量。
A/B/n 测试: 测试三个或更多版本的变体。
分流测试 (Split URL Testing): 直接将用户导向不同的 URL(例如一个新页面的完全不同版本),而不是在同一个页面上进行微小变化。



为什么 A/B 测试如此重要?

数据驱动决策: 取代凭感觉或猜测,让数据说话,做出更明智的优化决策。
提升用户体验: 了解用户真正想要什么,并根据他们的行为进行调整,提供更顺畅、更有效的体验。
提高转化率和收入: 通过优化关键页面和功能,直接影响业务目标,如销售额、注册量、广告点击量等。
降低风险: 在大规模实施重大改变之前,通过小范围测试来验证其有效性,避免潜在的负面影响。
持续优化: 建立一种持续改进的文化,不断寻找提升表现的机会。



A/B 测试的局限性与注意事项

需要足够流量: 测试需要收集足够的样本量,对于流量较小的网站或应用,可能难以获得统计显著的结果。
测试时间: 某些测试可能需要较长时间才能收集到足够的数据。
测试“噪音”: 外部因素(如季节性、突发新闻、竞争对手活动)可能会影响测试结果。
过早停止测试: 在达到统计显著性之前停止测试可能导致错误的结论。
一次只测试一个主要变化: 测试太多变化会导致难以确定具体哪个变化是成功的关键。
遗漏重要指标: 如果测试目标和指标设定不准确,可能会得出无效的结论。
对用户体验的影响: 在测试期间,部分用户可能会看到非最优版本。



总结来说,A/B 测试是一种强大的、基于数据的科学方法,用于识别最佳的网站设计、营销策略或产品功能,以实现预期的业务目标。它通过科学的实验设计和数据分析,帮助我们理解用户行为,从而做出能够驱动增长的优化决策。

网友意见

user avatar

分享下鹅厂数据分析师 jiangeliu(刘健阁) 是如何设计一个 A/B test 的。

实验设计

AB Test 实验一般有 2 个目的:

  1. 判断哪个更好:例如,有 2 个 UI 设计,究竟是 A 更好一些,还是 B 更好一些,我们需要实验判定
  2. 计算收益:例如,最近新上线了一个直播功能,那么直播功能究竟给平台带了来多少额外的 DAU,多少额外的使用时长,多少直播以外的视频观看时长等

我们一般比较熟知的是上述第 1 个目的,对于第 2 个目的,对于收益的量化,计算 ROI,往往对数据分析师和管理者非常重要

对于一般的 ABTest 实验,其实本质上就是把平台的流量均匀分为几个组,每个组添加不同的策略,然后根据这几个组的用户数据指标,例如:留存、人均观看时长、基础互动率等等核心指标,最终选择一个最好的组上线。

实验的几个基本步骤一般如下:

流量分配

实验设计时有两个目标:

  • 希望尽快得到实验结论,尽快决策
  • 希望收益最大化,用户体验影响最小

因此经常需要在流量分配时有所权衡,一般有以下几个情况:

  • 不影响用户体验:如 UI 实验、文案类实验等,一般可以均匀分配流量实验,可以快速得到实验结论
  • 不确定性较强的实验:如产品新功能上线,一般需小流量实验,尽量减小用户体验影响,在允许的时间内得到结论
  • 希望收益最大化的实验:如运营活动等,尽可能将效果最大化,一般需要大流量实验,留出小部分对照组用于评估 ROI

根据实验的预期结果,大盘用户量,确定实验所需最小流量,可以通过一个网站专门计算所需样本量:

  • 以次日留存率为例,目前大盘次日留存率 80%,预期实验能够提升 0.2pp
    (这里的留存率可以转换为点击率、渗透率等等,只要是比例值就可以,如果估不准,为了保证实验能够得到结果,此处可低估,不可高估,也就是 0.2pp 是预期能够提升地最小值
  • 网站计算,最少样本量就是 63W
    这里的最少样本量,指的是最少流量实验组的样本量
  • 如果我们每天只有 5W 的用户可用于实验(5W 的用户,指最少流量实验组是 5W 用户),63/ 5 = 13 天,我们需要至少 13 天才能够得到实验结论

如果我们预期提升的指标是人均时长、人均 VV 等,可能就比较复杂了,我们需要运用 t 检验反算,需要的样本量

实验效果

我们以一个稍复杂点的运营活动实验为例,活动有方案 1、方案 2,同时为了量化 ROI,对照组没有运营活动。

需要回答几个问题

  1. 方案 1 和方案 2,哪个效果更好?
  2. 哪个 ROI 更高?
  3. 长期来看哪个更好?
  4. 不同群体有差异吗?

第 1 个问题,方案 1 和方案 2,哪个效果更好?

还是要运用假设检验,对于留存率、渗透率等漏斗类指标,采用卡方检验

对于人均时长类等均值类指标,采用t 检验

通过上假设检验,如果结论置信,我们就能够得到方案 1 和方案 2 在哪像指标更好(有显著性差异), 对于不置信的结论,尽管方案 1 和方案 2 的指标可能略有差异,但可能是数据正常波动产生。

第 2 个问题,哪个 ROI 更高?

一般有活动相比无活动,留存、人均时长等各项指标均会显著,我们不再重复上述的假设检验过程。

对于 ROI 的计算,成本方面,每个实验组成本可以直接计算,对于收益方面,就要和对照组相比较,假定以总日活跃天(即 DAU 按日累计求和)作为收益指标,需要假设不做运营活动,DAU 会是多少,可以通过对照组计算,即:

  • 实验组假设不做活动日活跃天 = 对照组日活跃天 * (实验组流量 / 对照组流量)
  • 实验组收益 = 实验组日活跃天 - 实验组假设不做活动日活跃天

这样就可以量化出每个方案的 ROI。

第 3 个问题,长期来看哪个更好?

这里就要考虑新奇效应的问题了,一般在实验上线前期,用户因为新鲜感,效果可能都不错,因此在做评估的时候,需要观测指标到稳定态后,再做评估。

例如有的时候出现,刚刚上线前期,实验组效果更好,但是经过以端时间,用户的新鲜感过去了,实验组的效果可能更差,因此,从长远收益来看,我们应该选择对照组,是实验组的新奇效应欺骗了我们,在做实验分析时,应剔除新奇效应的部分,待平稳后,再做评估

第 4 个问题,不同用户群体有差异吗?

很多情况下,对新用户可能实验组更好,老用户对照组更好;对年轻人实验组更好,中年人对照组更好,

作为数据分析师,分析实验结论时,还要关注用户群体的差异。

实验结束

实验结束后需要:

  • 反馈实验结论,包括直接效果(渗透、留存、人均时长等)、ROI
  • 充分利用实验数据,进一步探索分析不同用户群体,不同场景下的差异,提出探索性分析
  • 对于发现的现象,进一步提出假设,进一步实验论证

更高级的实验

对于长线业务,可能同时有数十个实验同时进行,不但对比每项小迭代的差异,同时对比专项对大盘的贡献量、部门整体对大盘的贡献量,这样就需要运用到了实验的层域管理模型。

  • 对比每个产品细节迭代的结果
  • 对比每个专项在一个阶段的贡献
  • 对比整个项目在一个阶段的贡献

多个活动交集量化的实验设计

作为数据分析师,多团队合作中,经常遇到多业务交集的问题,以我近期主要负责的春节活动为例,老板会问:

  • 春节活动-明星红包子活动贡献了多少 DAU?春节活动-家乡卡子活动贡献了多少 DAU?
  • 春节活动总共贡献了多少 DAU?

严谨一点,我们采用了 AB 实验的方式核算,最终可能会发现一个问题:春节活动各个子活动的贡献之和,不等于春节活动的贡献,为什么呢?

  • 有的时候,活动 A 和活动 B,有着相互放大的作用,这个时候就会 1+1 > 2
  • 还有的时候,活动 A 和活动 B,本质上是在做相同的事情,这个时候就会 1+1 < 2

这个时候,我们准确量化春节活动的贡献,就需要一个【贯穿】所有活动的对照组,在 AB 实验系统中通俗称作贯穿层

(说明:实验中,各层的流量是正交的,简单理解,例如,A 层的分流采用用户 ID 的倒数第 1 位,B 层的分流采用用户 ID 的倒数第 2 位,在用户 ID 随机的情况下,倒数第 1 位和倒数第 2 位是没有关系的,也称作相互独立,我们称作正交。当然,AB Test 实验系统真实的分流逻辑,是采用了复杂的 hash 函数、正交表,能够保证正交性。)

这样分层后,我们可以按照如下的方式量化贡献

  • 计算春节活动的整体贡献:实验填充层-填充层填充组 VS 贯穿层-贯穿层填充组
  • 计算活动 A 的贡献:活动 A 实验层中,实验组 VS 对照组
  • 计算活动 B 的贡献:活动 B 实验层中,实验组 VS 对照组

业务迭代的同时,如何与自身的过去比较

上面谈到了【贯穿层】的设计,贯穿层的设计其实不但可以应用在多个活动的场景,有些场景,我们的业务需要和去年或上个季度的自身对比,同时业务还不断在多个方面运用 AB Test 迭代

类似与上面这种层次设计,在推荐系统中较为常见,在某一些产品或系统中,贯穿层不能够完全没有策略,那么采用去年或上个季度的策略,代表着基准值,从而量化新一个周期的增量贡献

我们可以量化:

  • 每个小迭代对整个系统的贡献:实验层中的实验组 VS 对照组
  • 周期内,系统全部迭代与上个周期的比较:实验填充层 VS 贯穿层 1(或贯穿层 2)
  • 同时,可以量化去年策略的自然增长或下降,以衡量旧有系统是否具有长期的适用性(作为系统设计者,更应鼓励设计具有长期适应性的系统):贯穿层 1(上个季度的策略)VS 贯穿层 2(去年的策略)

更为复杂的实验设计

我以我目前负责的业务,微视任务福利中心的实验设计为例,举例一个更复杂的实验系统设计,综合了上面提到的 2 个目的:

  • 量化每一个实验迭代为系统带来的增量贡献
  • 量化每一类迭代(如 UI 迭代、策略迭代),在一个阶段的增量贡献
  • 量化系统整体在上一个周期(季度、年)的增量贡献
  • 量化任务福利中心的整体 ROI(本质上,是给用户一些激励,促进用户活跃,获得更多商业化收益,所以和推荐系统不同的是,需要有完全没有任务福利中心的对照组,用户量化 ROI)



更多干货,尽在 腾讯技术

类似的话题

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有