一、A/B 产品测试的重要性
在当今竞争激烈的市场环境下,A/B 产品测试对于产品经理而言至关重要。随着互联网的快速发展,产品的更新迭代速度不断加快,用户需求也日益多样化。在这种情况下,产品经理很难凭借经验和直觉确定哪种方案更能满足用户需求、提升产品竞争力。
A/B 测试为产品经理提供了一种科学的决策方法。例如,字节跳动截至 2021 年 3 月底,累计已经做了 70 多万次 A/B Test;Amazon 和谷歌也广泛应用 A/B Test 来优化用户体验和提升业务效果。通过 A/B 测试,产品经理可以将不同的产品方案展示给不同的用户群体,收集用户的反馈数据,从而准确地评估各个方案的效果。
A/B 产品测试能够帮助产品经理在不确定方案效果时,找到最优解。当产品经理面临多种产品设计方案时,可以通过 A/B 测试来确定哪个方案在提升用户转化率、留存率等关键指标上表现更出色。例如,在电商领域,产品经理可以对商品详情页的布局、价格展示方式等进行 A/B 测试,以确定哪种方案能更好地提升用户的购买转化率。
此外,A/B 测试还能提升产品的竞争力。通过不断地进行 A/B 测试,产品经理可以持续优化产品的功能和用户体验,使产品在市场中脱颖而出。例如,一些知名的互联网产品如今日头条、抖音等,都是通过 A/B 测试来确定产品名称等关键因素,从而提升了产品的竞争力和用户认可度。
二、A/B 产品测试的前期准备
(一)确定测试目标,提出方案
- 收集需求,包括内部团队、外部用户和行业分析等多方面来源,筛选出合理需求进入试验库。
-
- 内部团队方面,产品部门可能提出优化产品界面设计以提高用户操作便捷性的需求;运营部门或许希望通过调整推送策略来增加用户活跃度;市场部门则可能关注如何提升产品的市场占有率,从而提出相应的营销方案需求。来自外部用户的需求可以通过问卷调查和用户调研获得,例如用户反馈产品的某些功能使用不便,希望得到改进。行业分析方面,观察竞争对手的产品优势,如竞争对手推出了新的功能,我们可以考虑是否也引入类似功能进行 A/B 测试。对这些需求进行筛选,剔除不切实际或与当前产品战略不符的需求,将合理需求纳入试验库。
- 进行优先级排序,采用 ICE 排序系统等方法,根据影响力、成功率和开发成本确定需求的先后顺序。
-
- 使用 ICE 排序系统,对每个需求的 Impact(影响力)进行评估,即该需求对关心的指标的提升程度。例如,一个能够大幅提高用户转化率的需求影响力较大。Confidence(信心)则是需求提出者对该需求产生预期影响的信心程度。如果团队对某个需求的实现效果有较高的把握,信心值就会较高。Ease(简易度)指进行一项实验所需要的时间和资源。开发成本低、时间短的需求简易度较高。将这三个维度分别打分后相加平均,得到需求的综合得分,从而确定需求的优先级顺序。
- 提出假设,团队综合多方面因素对试验结果进行假设,并讨论出适宜的试验材料。
-
- 假设可以基于历史数据、用户行为分析和行业趋势等因素提出。例如,假设优化产品的登录流程能够提高新用户注册转化率。团队通过头脑风暴等方式,针对假设提出多种可能的试验材料,如不同的登录界面设计、简化的注册步骤等。然后对这些试验材料进行评估,选择最有可能产生积极效果的方案进行 A/B 测试。
- 确定方案,对整个试验流程进行系统化规划,形成清晰可执行的文档。
-
- 方案应包括明确的测试目标、实验受众、自变量和因变量、实验流程、数据收集方法等内容。例如,测试目标是提高产品的用户留存率,实验受众为新注册用户,自变量为不同的用户引导策略,因变量为用户在一定时间内的留存率。文档中还应详细描述实验的各个阶段,包括实验准备、实验执行、数据收集和分析等,确保整个实验过程可操作、可追溯。
(二)设计实验
- 确定实验目标,以特定指标衡量实验组好坏,如提升页面转化率或用户留存率等。
-
- 若目标是提升电商平台的商品详情页到订单确认页的转化率,可以将这个转化率作为衡量实验组好坏的关键指标。通过分析历史数据,确定当前的转化率水平,然后设定一个合理的提升目标。例如,当前转化率为 10%,希望通过 A/B 测试将其提升至 15%。
- 设置实验组和对照组,采用控制变量法,确保唯一变量,可进行同层实验、独占实验和长期对照等流量设置。
-
- 以优化电商平台的商品搜索结果页展示方式为例,设置实验组展示新的搜索结果布局,对照组展示原有布局。确保除了展示方式这个变量不同外,其他条件如商品种类、价格范围、用户群体等都保持一致。在流量设置方面,如果有多个实验同时进行,可以选择同层实验,避免分层实验带来的干扰。例如,将总流量的 40% 分配给实验层,然后再平均分配给实验组和对照组,每组各占 20% 的流量。对于一些重要的实验,还可以进行独占实验,专门为该实验准备特定的实验层,确保实验结果的准确性。
- 进行空转实验,即 A/A 实验,监控核心指标,提升实验置信度。
-
- 在进行正式的 A/B 测试之前,先进行空转实验。设置 7 – 8 组相同的实验流量,模拟实验组和对照组完全相同的情况。例如,在电商平台上,对同一批用户展示相同的商品搜索结果页布局,持续监控 PV(页面浏览量)、UV(独立访客数)、转化、留存等核心指标,观察是否有明显差异。如果发现差异较大,说明抽样可能存在不均的问题,需要调整抽样方法或增加样本数量,以提升实验的置信度。
- 考虑反转实验的前提、操作和分析方法,在实验结果正向时进行反转以验证实验成功性。
-
- 反转实验的前提是 A/B 实验根据需求功能不同,实验进行的周期不同,一般短则 3 – 7 天,长则 1 个月。当观察到实验结果为正向时,即实验组的表现明显优于对照组,可以考虑进行反转实验。操作方法是将实验组和对照组进行对调,实验组变成对照组,对照组变成实验组,再次观察实验结果。如果反转后的对照组和实验组相比仍然是正向,那么可以认为实验成功,可考虑全量上线。例如,在电商平台的商品推荐功能 A/B 测试中,发现实验组的推荐算法能够显著提高用户的购买转化率。进行反转实验后,若新的对照组(原来的实验组)的表现仍然不如新的实验组(原来的对照组),则可以确定该推荐算法的有效性,准备全量推广。
三、A/B 产品测试的实施过程
(一)更新开发版本及测试
- 将优化内容植入新开发版本中,确保方案落地。
-
- 在确定了 A/B 测试的方案后,开发团队需要将优化内容准确地植入到新开发的版本中。这一过程需要严格遵循方案的要求,确保每一个细节都得到落实。例如,如果测试的是产品界面的颜色调整,开发人员需要准确地修改颜色代码,确保新的颜色在不同的设备和分辨率下都能正确显示。同时,开发过程中要进行严格的质量控制,避免引入新的错误或问题。
-
- 根据实际情况,开发团队可能需要使用版本管理工具来跟踪和管理不同版本的开发进度。例如,可以使用 Git 等工具进行代码版本控制,确保每一次的修改都有记录可查,以便在出现问题时能够快速回溯和修复。
- 进行上线前测试,包括质量保证、A/B 分流采样、指标埋点上报和无关变量控制等方面。
-
- 质量保证是上线前测试的重要环节。这包括确保流程的顺畅性,用户在使用产品时不会遇到卡顿、死机或错误提示等问题。例如,在一个电商平台的 A/B 测试中,要确保用户在浏览商品、添加购物车、结算等流程中都能顺利进行。可以通过模拟用户的操作流程,进行全面的测试,及时发现并解决问题。
-
- A/B 分流采样测试确保用户能够根据预设采样比例进入不同版本。例如,在一个拥有 100 万用户的平台上进行 A/B 测试,设定实验组和对照组的比例为 3:7,那么就需要确保大约 30 万用户能够准确地进入实验组,70 万用户进入对照组。可以通过随机分配用户 ID 或使用特定的算法来实现分流采样,同时要对分流过程进行监控,确保采样的准确性。
-
- 指标埋点能否正确上报也是关键的测试内容。在 A/B 测试中,需要收集各种数据指标来评估不同版本的效果。例如,在一个新闻资讯类产品中,可能需要收集用户的阅读时长、点赞数、评论数等指标。通过在产品中设置指标埋点,确保这些数据能够准确地上报到数据分析系统中,以便后续的分析和决策。
-
- 观察除修改点之外,其他变量是否保持完全一致,即准确控制无关变量。在 A/B 测试中,要确保除了测试的变量之外,其他因素都保持相同,以避免对测试结果产生干扰。例如,如果测试的是产品的某个功能按钮的颜色对用户点击率的影响,那么除了按钮颜色之外,按钮的位置、大小、文案等都应该保持一致。可以通过仔细检查产品的各个方面,确保无关变量得到有效控制。
(二)方案上线,运行试验
先少量测试,待效果稳定后扩展到全部样本,让不同分组用户体验不同方案。
- 在方案上线初期,为了避免出现重大问题影响大量用户,一般会先进行少量测试。通常,测试的比例会控制在 10% 以下。例如,在一个拥有 1000 万用户的社交平台上进行 A/B 测试,初期可能只选择 100 万用户进行测试。这些用户可以随机选取,或者根据特定的用户特征进行筛选,以确保测试结果具有一定的代表性。
- 在少量测试过程中,要密切关注用户的反馈和数据指标的变化。如果发现有严重的问题或异常情况,应及时停止测试并进行修复。例如,如果发现某个版本的产品出现频繁的闪退现象,或者用户的投诉量明显增加,就需要立即停止该版本的测试,找出问题并解决。
- 待上线效果趋于稳定后,再逐步扩展到全部的样本。这个过程需要谨慎进行,要根据数据指标的变化情况来决定扩展的速度。如果数据显示测试版本的效果良好,且没有出现重大问题,可以逐渐增加测试用户的比例。例如,可以从 10% 逐步增加到 20%、30%,直到覆盖全部用户。在扩展过程中,要持续监控数据指标,确保整个过程的顺利进行。
(三)统计并分析结果
使用假设检验方法对实验数据进行监控和分析,通过提出假设、选择检验统计量和规定显著性水平等步骤,判断总体参数是否存在差异。
- 在 A/B 测试中,假设检验是一种常用的数据分析方法。首先,根据问题要求提出假设。例如,假设新版本的产品能够提高用户的转化率,即 “新版本的用户转化率比原先高 10%” 为研究假设 H1,“新版本用户转化率与原先无显著区别” 为虚无假设 H0。
- 然后,选择适当的检验统计量。常见的检验统计量有均值、方差等。在实际应用中,要根据具体的问题和数据类型来选择合适的检验统计量。例如,如果要比较两个版本的用户平均购买金额,可以选择均值作为检验统计量。
- 规定显著性水平 α。显著性水平通常取 0.05 或 0.01 等,它表示在假设检验中犯第一类错误(即原假设为真却被拒绝)的概率。如果计算得到的 p 值小于显著性水平 α,则拒绝原假设,接受研究假设,认为新版本的产品在统计上有显著效果;如果 p 值大于显著性水平 α,则不能拒绝原假设,即不能确定新版本的产品有显著效果。
- 在假设检验中有可能会犯错误,需要注意控制错误的概率。第一类错误是原假设为真时拒绝原假设,例如实际上新版本的产品并没有效果,但误判为有效果;第二类错误是原假设为假时未拒绝原假设,例如实际上新版本的产品有效果,但没有检测出来。在 A/B 测试中,通常更严格地控制第一类错误发生的概率,以避免错误上线无效的产品。
- 除了假设检验,还可以结合其他数据分析方法来全面评估 A/B 测试的结果。例如,可以使用数据可视化工具,如柱状图、折线图等,直观地展示不同版本的产品在关键指标上的表现差异。同时,可以进行深入的用户行为分析,了解用户在不同版本产品中的操作路径和行为模式,为进一步优化产品提供依据。
四、A/B 产品测试的上线流程及注意事项
(一)提出需求
策略产品经理基于先验判断、数据分析结论或者领导要求,需要上线一个策略实验需求。在这个阶段,产品经理要对市场趋势、用户需求以及业务目标有清晰的认识。例如,通过对行业数据的分析发现,竞争对手在某一功能上的用户体验更好,从而引发对自身产品进行改进的需求。或者根据领导对业务增长的期望,提出针对特定指标进行优化的实验需求。
注意事项:需求的提出要有明确的依据和目标,不能仅凭主观臆断。同时,要确保需求与公司的整体战略方向一致。
(二)设计实验
策略产品经理了解相关技术逻辑,设计单变量实验并撰写策略实验文档,包括但不限于实验逻辑描述,如何验证实验假设,以及预期的数据收益。例如,在设计一个电商平台的购物车页面优化实验时,明确将购物车按钮颜色作为唯一变量,预期通过改变颜色提高用户点击购物车的转化率,并详细描述实验的逻辑和验证方法。
注意事项:实验设计要严格遵循单变量原则,避免多个变量同时作用导致结果难以分析。实验文档要清晰、详细,便于后续的执行和分析。
(三)技术工程师自测
算法工程师完成需求,测试工程师介入测试 (有时候策略产品经理需要充当测试工程师的角色),添加实验白名单,确保自己的测试账号命中实验。在这个环节,技术人员要对实验的功能进行全面的测试,确保其稳定性和准确性。
注意事项:测试要覆盖各种可能的场景和用户行为,及时发现并解决潜在的问题。同时,要注意保护用户数据的安全和隐私。
(四)策略产品经理体验
策略产品经理在 A/B 测试上线后通过将自己的测试账号在不同的实验组中切换,反复验证实现逻辑是否完全符合需求文档,并仔细体验两组实验的主观差异 (如果拥有中台系统,可以通过后台实现同一用户的内容推荐顺序对比),时间允许的情况下可以写主观评估报告。例如,体验不同版本的产品界面,感受用户操作的便捷性和流畅性。
注意事项:体验要客观、全面,不能带有主观偏见。要关注用户的实际感受,及时发现并反馈问题。
(五)上线后的检查点
- 上线后 2 小时观察相关数据,主要通过实时数据判断实验开启后是否存在问题,检查以下数据是否正常并记录在文档。如果存在问题,立即检查问题;如果没有问题,在下一个检查点重新确认。
-
- 候选集曝光量是否符合预期,如果是涉及内容候选集的实验,需要检查内容候选集曝光是否是 0。如果实验没问题,该数值应该是大于 0 的数字。
-
- 服务端请求日志的数据量是否符合预期,策略产品经理一般很难看到该数值,可找算法工程师一起检查一下服务端请求日志的监控,如果实验正常开启则请求数据量不为 0。遇到多次实验开启但是服务端未生效的问题,可能是上线流程存在问题,如果检查不及时在第二天才发现,会影响项目进度。如果实验流量比例过高导致性能压力剧增,需要调低流量比例。
-
- 实验开启后的过滤策略或排序策略是否生效,如果是过滤策略,需要检查用户推荐日志中实验组需要过滤的内容标签是否存在。如果是排序策略,需要对用户推荐日志中的前 50 条结果进行随机抽样分析,检查带有响应标签的内容排序是否更靠前。策略产品经理需要验证上线产品是否符合预期并记录到实验文档中。
注意事项:要及时关注数据变化,发现问题立即处理。对数据的检查要细致、准确,确保实验的正常进行。
- 上线 24 小时后观察数据变化,此时检查的重点是实验是否存在更深层次的实现漏洞。一般来说,24 小时后的数据结果往往和结束点的数据结果趋势相同,此时的检查可以提前发现数据趋势,明确不符合预期的部分 (如果有问题,可以提前重新检查一遍实现方式;如果没有,则通过,不用检查)。如果有时间,建议策略产品经理再次体验实验组和对照组的策略,此次的体验和上次的感受是不同的,因为实验开启时第一次体验实验组策略可能会有新奇感,并且重心在于测试边界用例而非用同理心来理解用户的情绪。在检查点 2 重新体验实验组策略,会对用户的情绪理解得更纯粹,不仅消除了新奇感带来的误差,而且可以更加放松地置身于产品中,以普通用户的心态来使用产品,此时最容易获得用户洞察。
注意事项:要深入分析数据,发现潜在的问题。再次体验要以普通用户的角度出发,关注用户的真实需求和感受。
(六)结束点
在结束点需要终止实验,基于多天累计数据,对相应指标进行数据分析并形成数据报告。关于结束点的选取,不同类型的产品和不同的观察指标有所不同,具体的选择方式如下:
对于日活级产品 (DAU/MAU 大于 50% 的产品):普通指标需要观察 3 个完整天以上 (一般为 4 天),次日留存指标需要观察 7 个完整天以上 (一般为 8 天),次周留存指标需要观察 14 个完整天以上 (一般为 15 天)。
对于周活级产品 (DAU/MAU 小于 50% 的产品):此类产品用户并非每天活跃,并且具有强周期性。普通指标需要观察 7 个完整天以上,一般为 8 天,因为需要一个周期内的用户行为对比。次日留存指标需要观察 10 个完整天以上,一般为 15 天,因为需要两个周期内,两个分组的用户行为对比。次周留存指标需要 14 个完整以上,一般为 15 天,因为需要两个周期内两个分组的用户行为对比。以上数据为经验数据,主要依据是笔者经历的大多数 A/B 测试的次日留存指标在第 7 天趋于稳定,第 8 天、第 9 天、第 10 天和第 7 天的结果基本一致。其他指标的结束点时间同理,本质上是因为用户行为数据会逐渐收到固定的值。
注意事项:结束点的选择要根据产品类型和观察指标合理确定,确保数据的稳定性和可靠性。在结束实验后,要及时对数据进行分析和总结。
(七)分析实验结果
在结束点以后策略产品经理需要分析实验结果,并给出如下的书面分析。分析实验数据的结果是否符合预期,以及可能的原因。一般需要参考原始实验假设,并且结合自己的主观体验报告来尝试回答这个问题。符合预期的实验,下一步优化的点是什么。不符合预期的实验,分析是假设错误还是验证错误,下一步改进点是什么。
注意事项:分析要全面、深入,找出问题的根源。对于不符合预期的实验,要勇于面对问题,积极寻找改进的方法。
五、A/B 产品测试的案例分析
(一)播放页样式测试案例
在视频平台中,为了确定最佳的播放页样式,进行了 A/B 测试。参与测试的方案包括 feed 样式、大图样式和左图右文样式。
1. 测试目标与指标
- 目标:确定在百度平台内部,视频类型的小程序播放页哪种样式效果更好。
- 指标:人均点击视频数和页面人均收益。其中,人均点击视频数从两个维度衡量,即该页面发生点击的人是否增多以及每个人点击的视频数是否增多;人均收益计算方式为页面总收入除以页面 UV。
2. 测试过程
- 首先,确认三种样式参与测试的理由。Feed 样式是当前视频软件上基本都采用的样式;大图样式为了与百度小程序广告组件的大图 / 视频广告样式保持一致,可提升页面整体视觉且猜测会增加收益;左图右文样式是目前很多家视频公司相关推荐的主流样式。
- 设置对照组和实验组,将用户随机分配到不同的组中,分别展示不同的播放页样式。
- 进行空转实验,即 A/A 实验,监控核心指标,确保抽样的准确性和实验的置信度。
3. 测试结果
经过一段时间的测试,发现大图样式的收益高于 feed 样式,但人均点击视频数略低于 feed 样式。左图右文样式在收益与点击效果方面均最差。例如,在测试期间,大图样式的页面人均收益为 [X] 元,而 feed 样式为 [X] 元;大图样式下人均点击视频数为 [X] 次,feed 样式为 [X] 次,左图右文样式仅为 [X] 次。
4. 结论与后续改进方向
- 结论:单分析人均收益效果,大图样式明显好于 feed 样式及左图右文样式。但需要更长的周期去测试大图样式和 feed 样式,最后由更多人来决定选择收益还是体验。左图右文样式在后期继续的测试中可以去掉,将此部分用户分给 feed 样式。
- 后续改进方向:可以进一步优化大图样式和 feed 样式的设计,比如在大图样式中适当增加一些引导用户点击的元素,以提高人均点击视频数;对于 feed 样式,可以探索如何在不影响点击视频数的情况下提高页面收益。同时,持续关注用户反馈和行业趋势,不断调整和改进播放页样式。
六、产品经理与策略产品经理在 A/B 产品测试中的职责差异
- 产品经理:产品经理在 A/B 产品测试中通常负责整个产品的生命周期管理。从需求收集阶段开始,包括内部团队、外部用户和行业分析等多方面的需求收集,筛选出合理需求进入试验库,并进行优先级排序。提出假设后确定方案,对整个试验流程进行系统化规划,形成清晰可执行的文档。在实施过程中,与开发团队紧密合作,确保优化内容准确植入新开发版本,并进行上线前测试。方案上线后,密切关注用户反馈和数据指标变化,统计并分析结果。例如,在电商领域,产品经理可能负责商品详情页的 A/B 测试,从确定测试目标到分析结果,全程参与。
- 策略产品经理:策略产品经理在 A/B 产品测试中更侧重于策略的制定和优化。以知乎教育内容推荐机制搭建为例,负责分发策略设计的规划及落地,与引擎和算法团队配合,改进分发和推荐策略,从用户侧、内容侧及平台价值出发,对内容曝光量、点击率、线索量负责。根据优化目标及数据分析,制定及优化内容推荐分发相关产品方案,在产品设计和分发策略上不断创新,并协同技术、运营等团队推动策略方案快速验证。深入理解算法模型及推荐机制,参与业务侧算法方案和模型的制定及优化。