Netflix是如何做决策的? | 5. 在做决定时建立信心
这是Netflix关于实验和决策的系列文章,系统介绍了实验对于Netflix的重要性,实验的最主要工具--A/B测试,数据科学和文化在实验与决策过程中的重要性等。整个系列共七篇文章,这是第五篇。原文:Building confidence in a decision[1]
这是关于Netflix如何基于A/B测试来做出决策并不断创新产品的系列文章的第五篇。想看前面的文章?参见第一部分(Netflix的决策制定),第二部分(A/B测试是什么?),第三部分(假阳性和统计显著性),第四部分(假阴性和功效)。随后的文章将详细介绍Netflix的实验,Netflix是如何投资基础设施来支持和扩大实验的,以及在组织中发展实验文化的重要性。
在第3部分(假阳性和统计显著性)和第4部分(假阴性和功效)中,我们讨论了支撑A/B测试的核心统计概念:假阳性、统计显著性和p值,以及假阴性和功效。在这里,我们将进入最困难的部分:如何使用测试结果来支撑复杂业务环境中的决策制定?
关于A/B测试的令人不快的现实是,没有任何测试结果能够反映潜在的真相。正如我们在之前的文章中讨论的,好的实践包括首先设置和理解误报率,然后设计一个强大的实验,这样它就有可能检测到合理的、有意义的真实影响。这些来自统计的概念帮助我们减少和理解错误率,并在面对不确定性时做出正确的决定。但是仍然没有办法知道一个特定实验的结果是假阳性还是假阴性。
图1:来自伏尔泰的启发在使用A/B测试来发展Netflix用户体验时,我们发现关键是要超越数字(包括p值),用强有力和明智的判断来解释结果,以决定是否有令人信服的证据表明新体验对我们的用户来说是好的,这些考虑与美国统计协会2016年的《关于统计意义和p值的声明》[2]是一致的,以下都是我们的实践经验。
“正确的推理依赖于完整透明的报告(Proper inference requires full reporting and transparency)。”如第3部分(假阳性和统计意义)所讨论的,按照惯例,我们以5%的假阳性率进行实验。实际上,如果进行20次实验(比如评估20种颜色的软糖是否与痤疮有关[3]),我们会期望至少有一个显著的结果——即使事实上,零假设在每个情况下都是正确的,没有实际的影响。这就是多重比较问题(Multiple Comparisons Problem)[4],有很多方法可以控制总体的误报率,我们在这里不讨论。然而,最重要的是,不仅要报告和跟踪那些产生重要结果的测试,还要报告和跟踪那些没有产生重要结果的测试。
图2:所有需要知道的关于假阳性的信息(卡通形式)“p值,或统计显著性,不能衡量效应的大小或结果的重要性。”在第4部分(假阴性和功效)中,我们讨论了在实验设计阶段为A/B测试定义功效的重要性,以便能够高概率的检测出合理且有意义的度量活动。在解释结果时也需要考虑类似的因素,即使结果在统计学上是显著的(p值< 0.05),估计的度量变化可能很小,以至于对Netflix的用户体验并不重要,最好将创新努力投入到其他领域。或者,扩展一个新功能的成本太高,不如将这些资金投入到改善产品体验的其他领域。
“科学结论和商业或政策决策不应该仅仅基于p值是否超过某个特定的阈值。”本文的其余部分将深入探讨我们在Netflix做出决策时使用的实践,重点是如何从整体上评估A/B测试的证据。
构建数据驱动的案例
用类似法官判案的方式可以用来评估一个新产品体验是否可行:是否有足够的“犯罪”证据,并得出结论?除此之外,超过5%的合理怀疑限度,就应该认为这是一个真实有效的体验。为了帮助构建这种情况,在解释测试结果时,我们会问自己一些有用的问题:
- 结果与假设一致吗?如果假设是关于为后端基础设施优化计算资源,并且结果显示用户满意度在统计上有显著提高,那么我们就需要持怀疑态度,这个结果可能是假阳性——或者更有可能是实验执行过程中出现了错误或者获得了错误的结果(Twyman定律[5])。有时这些令人惊讶的结果是正确的,但通常情况下,它们要么是错误的过程造成的结果,要么是误报,激励我们深入挖掘数据以确定根本原因。
- 衡量标准的指标是否相互关联?在第2部分(什么是A/B测试?)中,我们讨论了描述因果机制的重要性,通过这种因果机制,对产品所做的更改将影响测试指定的次要指标和主要决策指标。在评估测试结果时,重要的是查看这些次要指标的变化,这些变化通常是特定于特定实验的,以评估主要指标的变化是否遵循假设的因果链。例如,在Top 10的实验中,我们会检查进入Top 10列表是否会增加节目的粘性,以及用户是否会从主页上发现更多节目。增加Top 10节目的用户粘性以及更多来自首页的节目将帮助我们建立信心,认为实际上是Top 10榜单提升了整体用户满意度。相比之下,如果我们的主要用户满意度指标在Top 10测试组中有所上升,但对这些次要指标的分析显示,Top 10测试组中的节目用户粘性并没有增加,我们便会对此表示怀疑。也许Top 10列表对我们的会员来说并不是一种很好的体验,它的出现会让更多的会员离开主页,增加Netflix搜索体验的参与度——结果是整体满意度的提高,非常令人惊讶。结果也可能是假阳性,尽管主要决策指标变化了,但在任何情况下,次要指标的改变都需要引起足够的怀疑,我们不能自信的得出测试激活了假设的因果机制这种结论。
- 是否有额外支持或反驳的证据,比如经历相似变化的一致模式?在一次实验中测试一个想法的多个变化是很常见的。例如,对于Top 10,我们可能会测试不同的设计变化,以及在主页上排名Top 10的不同方法。如果Top 10的体验对Netflix会员来说很棒,那么我们可以期待在这些变量中看到类似的主要和次要指标的增长。有些设计可能比其他设计更好,但在不同版本中看到广泛一致的结果有助于建立支持Top 10体验的情况。另一方面,如果我们测试了20个设计和定位变体,但只有一个在主要决策指标上产生了显著的变化,我们就会更加怀疑。毕竟,在5%的假阳性率下,我们期望看到随机的显著性结果。
- 结果可复现吗?最后,对结果建立信心的最可靠的方法是在后续测试中查看结果是否可复现。如果最初A/B测试的结果是暗示性的但不是决定性的,我们通常会基于第一次测试所产生的学习结果进行后续测试。以Top 10测试为例,我们可能会观察到某些设计和排位选择通常会导致积极的度量变化,其中一些具有统计学意义。然后我们将改进这些最有前途的设计和定位变体,并运行新的测试。由于需要测试的体验较少,我们还可以增加测试规模以获得更大的功效。另一种策略是,在产品变化较大时,将成功的测试体验逐步推广到整个用户或会员,以确认A/B测试中看到的好处,并确保没有意外的有害影响。在这种情况下,我们不是一次性向所有用户推出新体验,而是慢慢增加接受新体验的用户比例,并观察那些仍然接受旧体验的用户之间的差异。
与决策理论的联系(Connections with decision theory)
在实践中,每个人都有不同的框架来解释测试结果和做出决定。在数据之外,每个人往往隐含的带着基于以往类似A/B测试的经验,以及基于他们对其决定的潜在利益和后果的评估的损失或效用函数。基于决策理论[6],包括贝叶斯决策理论[7],可以将这些人类对风险和收益的估计形式化。这些方法包括正式的评估做出正确或不正确决策的效用(例如,推出不能改善成员体验的代码更改的成本)。如果在实验结束时,能够估计出每个测试组中出现各种类型错误的概率,我们就能做出使成员的期望效用最大化的决策。
决策理论将统计结果与决策相结合,因此是基于p值的决策方法的一个令人信服的替代方法。然而,由于指定效用函数的细微差别,决策理论方法很难在广泛的实验应用中推广。我们在本系列中概述的频率主义[8]假设检验方法,其重点是p值和统计显著性,尽管不是完美的方案,但却是解释检验结果的广泛和容易适用的框架。
解释A/B测试结果的另一个挑战是将多种指标(主要决策指标和次要指标)的变化合理化。关键挑战是度量标准本身通常不是独立的(例如,度量标准通常可能朝着相同的方向移动,也可能朝着相反的方向移动)。在这里,来自统计推断和决策理论的更先进的概念是适用的,在Netflix,我们正在研究为这个多度量解释问题带来更多定量方法,我们尝试利用贝叶斯推理[9]在分析中包含关于度量历史变化的信息。
最后,值得注意的是,不同类型的实验在决策过程中没必要让不同水平的人做出判断。例如,Netflix采用了A/B测试的形式[10],以确保新版本软件能够安全部署到生产环境中。我们在所有成员发布新版本之前,建立了一个小型A/B测试,一些成员用旧版本,另一些用新版本,以确保没有错误或意想不到的后果。对于这个用例,目标是自动化部署过程,并使用诸如遗憾最小化这样的框架,以及基于测试的决策制定。在成功的情况下,我们通过自动向开发人员发送新的构建或标记降低的指标来节省开发人员的时间。
总结
这篇文章描述了如何通过仔细分析实验数据来构建产品创新的案例,并指出不同类型的测试需要对决策过程进行不同层次的人工输入。
即使依赖A/B测试的结果,在不确定的情况下做出决策也是困难的,正确应用本系列文章中描述的工具也非常困难。但包括p值在内的这些工具经受住了时间的考验,这一点在2021年得到了美国统计协会(American Statistical Association)主席特别工作组关于统计重要性和可复制性的声明[11]的证实:“正确应用和解释p值和显著性检验是不应放弃的重要工具. . . .(它们)增加了从数据中得出的结论的严谨性。”
公开分享和讨论关键产品测试结果的理念在Netflix的实验文化中根深蒂固,我们将在本系列的最后一部分讨论这个问题。但接下来,我们将讨论Netflix不同的实验领域,以及专注于实验的不同角色。
References:
[1] Building confidence in a decision: https://netflixtechblog.com/building-confidence-in-a-decision-8705834e6fd8
[2] Statement on Statistical Significance and P-Values: https://www.tandfonline.com/doi/pdf/10.1080/00031305.2016.1154108?needAccess=true
[3] Significant: https://xkcd.com/882/
[4] Multiple Comparisons Problem: https://en.wikipedia.org/wiki/Multiple_comparisons_problem
[5] Twyman's Law: https://en.wikipedia.org/wiki/Twyman%27s_law
[6] Expected utility hypothesis: https://en.wikipedia.org/wiki/Expected_utility_hypothesis
[7] Bayes estimator: https://en.wikipedia.org/wiki/Bayes_estimator
[8] Frequentist inference: https://en.wikipedia.org/wiki/Frequentist_inference
[9] Bayesian inference: https://en.wikipedia.org/wiki/Bayesian_inference
[10] Safe Updates of Client Applications at Netflix: https://netflixtechblog.com/safe-updates-of-client-applications-at-netflix-1d01c71a930c
[11] The ASA president’s task force statement on statistical significance and replicability: https://projecteuclid.org/journals/annals-of-applied-statistics/volume-15/issue-3/The-ASA-presidents-task-force-statement-on-statistical-significance-and/10.1214/21-AOAS1501.full
你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。
微信公众号:DeepNoMind