你的意义是什么 鬼东西测试网站|Twitter 的 A/B 测试实践第 1 部分:为什么要测试及其意义
A/B 测试在许多领域产生了深远的影响,包括医药、农业、制造和广告。 在软件开发中,A/B 测试实验提供了一种有价值的方法来评估新功能对客户行为的影响。 在本系列中,我们将描述 A/B 测试系统的技术和统计当前状态。
本文是系列文章的第一篇,重点介绍为什么要进行 A/B 测试以及如何避免其陷阱。
文本
实验是产品开发周期的核心。 这种实验文化可能是由于对工具、研究和培训的大量投资,以确保功能团队能够无缝、严格地测试和验证他们的想法。
实验的规模和种类是巨大的——从小的 UI/UX 变化到新功能,再到机器学习模型的改进。 我们喜欢将实验视为无休止的学习循环。
A/B 测试、决策制定和创新
“产品检验和实验(和)”(PIE)团队对实验哲学进行了大量思考。 A/B 测试有很多好处,但它也有很多众所周知的容易犯的错误。 其结果往往出人意料且违反直觉。 我们如何避免这个陷阱? 我们什么时候应该推荐 A/B 测试来试验功能或提议的更改? 我们如何在决策过程中保持敏捷,并在承担重大风险的同时保持严谨?
测试和增量测试的好处

功能更改 A/B 测试文化的重点是它带来的增量收益很小,大多数实验只会带来个位数百分比的改进,甚至是分数百分比。 所以,有人争论说,这有什么意义呢? 为什么不做一些更有影响力和革命性的事情呢?
这是真的:如果有改进指标的实验,那么到目前为止大多数实验都只是在最低限度地改进指标; 为大多数用户将核心指标提高几个百分点的实验被认为取得了非凡的成功。
这与 A/B 测试的基本原理无关。 这是因为成熟的产品很难通过大幅改进其指标来改变。 许多人认为本垒打的想法根本没有导致任何改进:事实证明,人类在预测什么会起作用方面极其糟糕(有关更多信息,请参见“网站的七个经验法则”)。 大多数时候,不令人满意的 A/B 测试结果让我们及早发现看起来不错的想法实际上可能很糟糕。 所以我们更愿意尽快得到坏消息,然后回到绘图板上; 这就是我们进行实验的原因。
A/B 测试是一种确保好的想法不会消亡的方法,让好的想法有机会得到充分发展。 当我们真的相信一个想法,而最初的实验结果不符合我们的预期时,我们就可以对产品进行进一步的改进,并不断改进,直到达到预期并可以发布给数百万人。 另一种方法是构建一些感觉不错的功能并发布它们,然后开发其他新想法你的意义是什么 鬼东西测试网站,一年后有人意识到根本没有人在使用该功能,它就悄然消亡了。
当我们处理各种原型时,快速迭代并衡量所提议的更改的影响使我们的团队能够及早将隐含的用户反馈纳入产品中。 我们可以发布更改,研究哪些改进了哪些没有改进,然后为进一步改进产品的更改提出假设,然后发布更改,等等,直到我们有一个可以推广到更广泛的受众的更改。
有些人可能认为这种增量更改效率太低。 当然,推出一个“大创意”听起来远比一个小改进要好得多。 但是,如果你仔细想想,很多小的变化加在一起可以产生复合效果。 避免增量更改的产品改进方法在很大程度上是一种糟糕的策略。 一个好的金融投资组合是一种平衡可预测的、虽然适度、无风险的赌注与高风险、高回报的赌注的投资组合。 产品组合管理在这方面也不例外。
也就是说,有很多事情我们不能或不应该测试。 一些更改旨在创建这些基于桶的 A/B 测试无法捕获的网络效应(尽管确实存在可以量化此效果的其他技术)。 当仅针对随机比例的人群时,某些功能可能会失败。 例如,在简单的 A/B 测试中,群组 DM 将不是一个可用的功能,因为也许那些幸运地获得该功能的人会想向那些没有获得该功能的人发送消息,从而使该功能基本上无用。 其他功能可能是完全正交的——例如,像这样启动一个新应用程序不是应用程序实验。 但是一旦推出,A/B 测试就成为在应用程序中推动可衡量和不易衡量的增量更改的重要方式。
还有另一类变化,主要新功能在内部构建过程中通过用户研究进行测试,但出于战略市场原因在特定的爆炸性时刻发布给所有用户。 作为一个组织你的意义是什么 鬼东西测试网站,当我们认为这对产品和用户都有好处时,我们就会做出这个决定。 我们相信,虽然增量更改可能会带来更好的初始版本,让更多用户尝试和使用它,但我们可以从更大的版本中获得更多收益。 这是产品所有者的权衡。 那么当这样一个新功能发布时,我们是否必须对其增量更改进行 A/B 测试? 当然! 随着想法的成熟,我们使用可靠的科学原理来指导它们的演变——而实验是这个过程的关键部分。

实验可靠性
现在我们有了运行实验的案例,让我们讨论如何避免陷阱。 实验的配置和分析很复杂。 即使是正常的人类行为也很容易引入偏见和对结果的误解。 以下是一些降低风险的实用方法。
需求假设
实验工具通常可以揭示大量数据,通常允许实验者设计自定义指标来衡量变化的影响。 但这可能会触发 A/B 测试中最隐蔽的陷阱之一:“-”和“-”——从许多只支持你的假设的数据点中选择指标,或者查看数据并调整假设以使其与实验结果相匹配. 在中国,一个实验收集数百个指标的情况并不少见,这些指标可以分解成大量的维度(用户属性、设备类型、国家等),从而产生数千个观察结果——如果你想拟合使用它适合任何故事,你需要从中挑选。
我们引导实验者远离的一种方法是要求他们在配置阶段明确指定他们想要改进的指标。 实验者可以跟踪任意数量的指标,但只有少数指标可以用这种方式明确标记。 然后,该工具会在结果页面上突出显示这些指标。 实验者可以自由探索已收集的所有其他数据并提出新的假设,但最初的主张应该是固定的并且易于检查。
实验步骤
无论工具有多好,一组配置不当的实验仍会产生次优结果。 在 ,我们投资创建了一个实验过程,以增加实验成功和正确运行的几率。 此过程中的大多数步骤都是可选的 - 但我们发现,使其可用并记录在案可以大大减少重新运行实验以收集更多数据所浪费的时间,并减少等待 App Store 发布周期等所浪费的时间。 等待。
所有实验者都被要求记录他们的实验。 你在改变什么 你想要的结果是什么? 所需的“受众规模”(将看到该功能的用户百分比)是多少? 收集这些数据不仅可以确保实验者考虑了这些问题,还可以让我们建立一个机构学习资料库——对已经完成的实验和实验结果(包括负面实验)的正式记录。 我们可以将其用作以后实验的提醒。
实验者也可以利用实验牧羊人。 实验牧羊人是经验丰富的工程师和数据科学家,他们审查实验假设并提出指标以减少实验错误的可能性。 这是可选的,该提案不具有约束力。 该项目还收到了参与者的大量反馈,因为人们对正确配置实验、跟踪正确的指标以及他们能够正确分析实验结果越来越有信心。
一些团队还举行每周会议,审查实验结果,以决定什么应该和不应该向更广泛的受众发布。 这有助于解决 - 和误解 - 统计显着性问题。 重要的是要注意,这不是“给我一个拒绝的理由”会议——我们已经明确表示“红色”实验已发布,“绿色”实验未发布。 这里重要的是要诚实和明确我们对引入变革的期望和结果,而不是容忍停滞和奖励短期收益。 引入这些评论显着提高了我们发布的更改的整体质量。 这也是一次有趣的会议,因为我们能够看到团队所做的所有工作以及人们对产品的看法。
我们经常使用的另一种做法是尽可能使用“”——将功能推送给 99%(或其他高百分比)的用户,并观察关键指标如何随着时间的推移偏离被阻止的 1%。 这使我们能够快速迭代和发布,同时密切关注实验的长期影响。 这也是验证实验中实际实现的好处的好方法。
实验训练
确保实验者留意陷阱的最有效方法之一是对他们进行培训。 数据科学家开设了多门关于实验和统计直觉的课程,所有新工程师都在加入公司的头几周内参加了这些课程。 目标是让工程师、PM、EM 和其他一些角色熟悉实验程序、注意事项、陷阱和最佳实践。 提高对实验质量和陷阱的认识有助于我们避免将时间浪费在本可避免的错误和误解上,从而使人们能够更快地获得洞察力并提高节奏和质量。
即将推出
在后面的文章中,我们将描述我们的实验工具 DDG 是如何工作的; 我们将直接介绍我们遇到的一些有趣的统计问题——检测有偏差的分桶,使用(或不使用)第二个控件 ( ) 执行健全性检查,自动确定适当的大小、基于会话的指标并处理异常值。
谢谢
感谢 Lu、Chang 和 Lande 对本文的反馈。 许多人为实验背后的想法和工具做出了贡献。 我们要特别感谢 Liu、Madhu、Parag 和。
注:本文首发于博客,InfoQ中文站在作者授权的基础上对文章进行了翻译。