船舶越快,风险越来越少。获得优化的推出,为开发人员提供免费功能标志。 建立免费账户



这是我们产品实验陷阱博客系列中的第三篇文章’产品管理总监Jon Noronha。看 这里 有关此5部分系列的更多信息。 

分析A / B测试是巧妙的。您计算每个变体中发生了多少转换,您将通过将其暴露于它的用户数分割,然后比较转换速率。然后你通过在线统计公式运行它,看看它是否出现了>95%的概率。为每个变体和度量和Presto冲洗并重复,你有一个赢家和输家的记分卡。什么可能出错?

结果很多,事实证明。

我自己经历了数百个实验的过程,我已经来学习两个非常昂贵的课程,我想和你分享:

  1. 统计数据是地球上最令人困惑的科学
  2. 误解了一个实验比没有运行它的实验

这是我的实验职业生涯早期的一个例子。我们已经推出了具有四个不同的变体的搜索结果页面的大重新设计,我们希望看到核心度量等核心指标下降的接合增加。因此,我们与数据科学家合作来配置测试,并建议我们使用我们的标准电池进行三个星期的实验,其中包含大约25个核心度量,如“主页CTR”和“移动广告收入”。她也坚持,“不要偷看结果,直到它已经完成,当你准备分析它时循环我。”回想起来,这就像告诉孩子一样,“不要吃坐在你面前的美味蛋白软糖 。“

不用说,我们偷看了结果。在测试中大约四天了,我们每周进行每周的实验审查会议(必须为建立产品实验肌肉的任何团队)。在会议中,我们拥有所有的PM和工程管理人员审查我们运行并决定下一步的测试。我们决定偷看这个测试,即使它还没有完成。和…uh-oh…the results were 非常 bad.

记分卡像一棵圣诞树一样点亮,指标显示为极端赢家和输家。不知何故,我们的重新设计已经坦克移动收入,但在桌面上提升了它…但只在中国?我们在主页上毁了网站性能,但我们将更快地取得搜索流程。而两个几乎相同的变种对似乎无比的效果几乎完全相反,与我们所做的更改似乎无懈可疑。

遵循的是那种 福胜 每个产品经理都害怕的爆炸。

我的老板决定在我们击落整个网站之前不得不停止测试。这让整个项目留下了六个月的整个团队,在LIMBO中由我们的整个团队努力。我们在接下来的两周内拼命地试图弄清楚我们的长期重新设计如何有这种意外的影响。我们的工程师争抢新设计并弄清楚什么可以让它变慢。我们的分析师切片并切开了数据10种不同的方法来理解变化。我的设计师疯狂地搅拌了整个新版本的重新设计,抄写了我们所有的重要想法,所以我们可以更加实用。在其中的中间,我记得绝望的不确定性。为什么世界上的数字往往是Haywire?

最后,数据科学家发现我徘徊了大厅,沮丧和疯狂。她问我出了什么问题,我告诉她发生了什么。 “但是你没有为整整三个星期运行它,”她说,“你没有邀请我到指数审查!”呃…哎呀。所以我羞怯地道歉,然后提出了数据来向她展示我们的4天数据。这就是我如何了解毁灭性的力量 误报 .

事实证明,我们看到的数据完全是一种侥幸。而且,它是 完全预料 从我们运行测试的方式。我们犯了两个危税错误,即作为统计新手,完全没有意识到。

第一个错误正在制作 多重比较 没有纠正他们。事实证明标准 T-Test. ,A / B检测中的重要性计算后面的基本算法仅设计用于测试两个变体和单个度量。 95%的意义意味着有5%的几率,当没有真正的差异时,你会得到重大的结果,这是一个非常低的风险。但我们有四个变体和25个,这意味着我们正在制作100个比较而不是一个比较。每种比较都有5%的可能性是一个假阳性—这意味着你应该 预计  其中五分之一,即使没有发生任何事情也表现出变化。我们一直在追逐鬼魂。

多重比较问题,由Randall Patrick Munroe Via引起了着名 XKCD. .

这可能感觉像伏都教。如何收集更多的数据可能更糟糕?不是更多的数据总是更好吗?理解的关键因素是假阳性的风险。因为我们正在处理随机行为,我们永远不会完全确定–但是诱惑“95%重要”,好像它意味着“100%肯定是真实的”。我喜欢将假的阳性视为俄罗斯轮盘赌的比赛,其中“子弹”是一种误导性的结论,将你的团队争先恐后地争先恐后地争夺了坏数据。具有单个度量的A / B测试就像一个带有20个腔室的左轮手枪,并且1/20机会击中假阳性。但是测试大量指标就像在每次旋转此左转和拍摄时一样。如果您重复此次100次,您几乎肯定会在至少几个指标上误导。这 多重比较问题 是实验中最普遍,最不理解的挑战之一–并且直接摧毁了我们的项目,因为我们没有考虑它。

让事情变得更糟,我们也犯了第二个错误 偷看 A. 固定地平线测试 。这个问题源于1908年采取统计数据,并将其应用于互联网时代。有趣的事实:T-Test是 实际上发明了 由在都柏林的吉尼斯啤酒厂工作的化学家。在这方面有意义:他会用两位食谱酿造啤酒,让它发酵几周,然后在最后测试它。与此同时,除了观看它泡沫,还没有太多。因此,数学旨在提供有效的结果 仅在测试结束时,而不是沿途。

通过传统的T检验,P值将随着时间的推移振荡。如果您在峰值达到峰时采取行动,则您冒险解决不良信息。

这对酿造非常重要,但它与在线A / B测试分开,因为您可以随时刷新数字。在我们的案例中,灵活性意味着我们疯狂地疯狂,这些数字并没有完全“煮熟。”通过固定地平线测试,统计显着性可能会频繁地波动,直到达到测试的预定义结束日期,这意味着它危险地易于误解结果。这不仅仅是偷看的问题。甚至   你已经等待了一些预定义的样本大小,你是 仍然 由于实验继续运行,因此不要偷看结果,因为他们会继续上下波动。

对这些问题有什么令人沮丧的是,他们不明显地宣布自己。在你的分析中没有任何东西突然出现“别担心,这只是一个假的积极”。相反,你看到一个看似可信的,明亮的红色报告弹出,告诉你收入普及,这都是你的错。这些误报是令人难以置信的。他们将您的设计师和开发人员发送回绘图板,疯狂地重新处理一个功能,以纠正一个不是真正存在和放弃可能实际影响的功能的问题。 通过注入不确定度和恐惧,可以迅速否定实验的整个价值,这是一种旨在提供清晰度和信心的过程。

好消息是这些陷阱完全可以避免。有两种方法可以防止误报。最常见的是我跳过的步骤:拥有经验丰富的统计学家或数据科学家分析每个测试。这就是Airbnb,Netflix和Booking.com等公司如何进行实验。他们刻意雇用大于平均水平的数据科学团队,以便每个产品经理都可以与公正的分析师配对,以解析结果。

这些专业人员可以发现错误的积极因素,并在不反应的情况下引导团队的结论。

但不幸的是,这是一种专业知识难以扩大,特别是因为天真的实验者,就像我的年轻人一样,只是不知道他们失踪了什么。只是偷看结果的想法可以以某种方式使他们无效,或者测量更多的数据可以使您的数据不那么有效,是如此深刻的违反直觉,大多数实验者将完全解雇它—至少直到他们被像我这样的经历所震撼。

鉴于这一挑战,现代实验平台越来越多地采用相反的方法。他们而不是期待实验者了解数学,而是改变数学以匹配实验者的直觉。例如,您可以应用类似的技术 Bonferroni纠正 对于多个假设或 Benjamini-Hochberg程序 减少 假发现率。这是我们在优化的方法。经过多年的尝试教导用户统计数据101,我们决定抛弃所有数学并从头开始。我们与来自斯坦福大学的统计学家团队合作,建立一个叫做新型号 统计发动机 现代化标准T检验。统计引擎使用现代技术 顺序测试虚假发现率控制 生成不患有偷看或多重比较问题的结果。

我推荐更多关于解决这些挑战,我推荐 这篇伟大的博客文章从BBC的数据科学团队。经过多年的战斗误报,他们决定切换到一个实验平台,内置校正以进行多种比较和偷看。为了获得更多技术待遇,请查看此项 来自KDD的会议介绍.

查看本系列中的第四个帖子: 测量和驾驶实验速度

 优化X.