Trustworthy Online Controlled Experiments Part 4 Chap 16
如果您想让成功加速,那么请把失败速度提高一倍
– Thomas J. Watson
为什么重要
对于一家要进入试验成熟阶段的后期阶段(“跑”或“飞”)的公司,将数据分析管道作为试验平台的一部分可以确保该方法的稳固,一致且科学地建立,并确保了实施是值得信赖的。它还可以帮助团队避免进行耗时的临时分析。如果朝这个方向发展,那么了解用于数据处理,计算和可视化的通用基础可能会很有用。
数据处理
为了使原始的检测数据适合计算,我们需要对数据进行准备。准备数据通常涉及以下步骤。
对数据进行排序和分组。由于有关用户请求的信息可能由多个系统记录,包括客户端和服务器端日志,因此首先要对多个日志进行排序和合并(请参阅第13章)。可以按用户ID和时间戳进行排序。这样就可以加入事件以创建会话或访问,并按指定的时间窗口对所有活动进行分组。可能不需要真的把他们放在一起,因为在处理和计算过程中,虚拟连接就足够了。但是,如果输出不仅用于实验分析,还用于调试,假设生成等,将这些信息实际链接在一起就很有用。
清理数据。对数据进行排序和分组使清理数据变得更加容易。我们可以使用启发式方法删除不太可能是真实用户的会话(例如,僵尸程序或欺诈行为,请参阅第3章)。关于会话的一些有用的启发式方法是:会话的活动过多或者太少,事件之间的时间太短,页面上的点击次数过多,以违反物理定律的方式与网站互动的用户等等。我们还可以解决检测问题,例如重复事件检测或不正确的时间戳处理。数据清除无法修复丢失的事件,这可能是基础数据收集中的丢失所致。例如,点击记录本身就是保真度和速度之间的折衷(Kohavi,Longbotham和Walker 2010)。某些过滤可能会无意间从一个变量中删除比另一个变量更多的事件,从而可能导致采样率不匹配(SRM)(请参阅第3章)。
丰富数据。可以解析和丰富一些数据以提供有用的维度或有用的度量。例如,我们经常通过解析用户代理原始字符串来添加浏览器系列和版本。可以从日期中提取星期几。丰富性可以在每个事件,每个会话或每个用户级别上发生,例如将事件标记为重复或计算事件持续时间,增加会话期间的事件总数或总会话持续时间。特定于实验,您可能需要注释是否在计算实验结果时包括此会话。这些注释是业务逻辑的一部分,出于性能原因,通常会在扩展过程中添加这些注释。要考虑的其他特定于实验的注释包括实验转换信息(例如,开始实验,逐步进行实验,更改版本号),以帮助确定是否在计算实验结果时包括此会话。这些批注是业务逻辑的一部分,通常出于性能原因而添加这些批注。
数据计算
根据已处理的数据。 可以计算细分指标,并汇总结果以获取每个实验的摘要统计信息,包括干预效果本身(例如,均值或百分位数的差值)和统计显着性信息(p-值,置信区间等)。
其他信息,例如哪些字段有趣,也可能在数据计算步骤中发现(Fabijan,Dmitriev和McFarland等人2018)。关于如何构建计算数据,有很多选择。我们描述了两种常见的方法。在不失一般性的前提下,我们假设实验单位是用户。
1.第一种方法是具体化每个用户的统计信息(即,为每个用户统计浏览量,展示次数和点击次数),然后将其加入到一个将用户映射到实验的表格中。这种方法的优势在于,可以将每个用户的统计信息用于总体业务报告,而不仅仅是实验。为了有效利用计算资源,还可以考虑一种灵活的方法来计算仅用于一个或一小组实验的细分指标。
2.另一种体系结构是将按用户度量的计算与实验分析完全集成在一起,其中按需计算按用户的度量无需单独实现。通常,在此体系结构中,存在某种共享度量标准和段定义的方法,以确保不同流水线(例如实验数据计算流水线和整个业务报告计算流水线)之间的一致性。这种体系结构可以提高实验的灵活性(这也可以节省机器和存储资源),但是需要额外的工作来确保多个管道之间的一致性。
随着整个组织的试验规模的扩大,速度和效率的重要性日益提高。 Bing,LinkedIn和Google每天都处理TB级的实验数据(Kohavi等,2013)。随着细分和指标数量的增加,计算可能会占用大量资源。此外,实验结果生成过程中的任何延迟都会增加决策制定的延迟,随着实验变得越来越普遍并且成为创新周期不可或缺的一部分,这可能会造成高昂的成本。在实验平台的早期,Bing,Google和LinkedIn每天都会产生实验结果,延迟约24小时(例如,星期一的数据在星期三的工作日结束之前显示)。今天,我们所有人都拥有近实时(NRT)路径。 NRT路径具有更简单的指标和计算方式(例如,总和和计数,无垃圾邮件过滤,最少的统计测试),用于监视严重问题(例如配置错误或错误的实验),并且通常直接在原始日志上运行而以上讨论的计算后的数据(某些实时垃圾邮件处理除外)。然后,NRT路径可以触发警报并自动关闭实验。批处理管道处理日内计算并更新数据处理和计算,以确保及时获得可信赖的实验结果。
为了确保速度和效率以及正确性和可信赖性,我们建议每个实验平台:
有一种方法来定义通用的度量标准和定义,以便每个人共享一个标准词汇表,每个人都建立相同的数据直觉,并且您可以讨论有趣的产品问题。
确保这些定义的实现是一致的,无论是通用实现,还是某些测试或正在进行的比较机制。
通过变更管理进行思考。正如实验成熟度模型(请参见第4章)中讨论的那样,指标,OEC和细分指标都将不断发展,因此修改指标的含义是一个重复的过程。更改现有指标的定义通常比添加或删除更具挑战性。
可视化汇总结果
可视化的目标是直观地总结和突出显示关键指标和细分指标,以指导决策者。在可视化中可以包括:
突出显示关键测试(例如SRM),以明确表明结果是否值得信赖。例如,如果关键测试失败,Microsoft的实验平台(ExP)将隐藏结果。
突出显示OEC和关键指标,还显示许多其他指标,包括防护栏,质量等。
将指标显示为相对变化,并明确指出结果是否具有统计意义。使用颜色编码并启用滤镜,以便进行重大更改。
细分指标,包括自动突出显示有趣的细分,可以帮助确保决策正确,并帮助确定是否有方法改善表现不佳的细分市场(Wager和Athey 2018,Fabijan,Dmitriev和McFarland等人2018)。如果一个实验具有触发条件,那么除了对触发种群的影响之外,还必须包括它对总体影响(有关更多详细信息,请参见第20章)。
除了可视化本身之外,要真正扩展实验规模,应该让具有各种技术背景的人员都可以访问可视化展板,这些技术人员从营销人员到数据科学家,工程师再到产品经理。这就要求不仅要确保实验人员,还要确保高管和其他决策者能够看到并理解仪表板。这也可能意味着隐藏一些指标,例如对技术人员开放的调试指标,以减少混乱。信息可访问性有助于建立定义的通用语言以及透明和好奇心的文化,鼓励员工进行实验并了解变化如何影响业务或财务,以及如何将A / B测试结果与业务前景联系起来。
可视化工具不仅用于按实验获得结果,而且还可用于在整个实验过程中转向按度量结果。尽管创新往往会通过实验进行评估,但关键指标的整体健康状况通常会受到利益相关者的密切关注。利益相关者应该可以看到他们关心的实验。如果实验的指标超出某个阈值,则他们可能需要参与做出启动决策。集中式实验平台可以统一实验和指标的视图。该平台可以提供两个可选功能来培养健康的决策过程:
1.允许个人订阅他们关注的指标,并获得电子邮件摘要,其中包含影响这些指标的主要实验。
2.如果实验产生负面影响,则平台可以启动批准过程,在该过程中,该平台会强制实验所有者与指标所有者进行对话,然后再进行实验。这不仅提高了有关实验启动决策的透明度,而且还鼓励讨论,从而增加了公司中关于实验的整体知识。
可视化工具也可以用作访问机构记忆的网关(请参阅第8章)。
最后,随着组织进入试验成熟度的运行和飞行阶段,您的组织使用的度量标准将继续增长,甚至成千上万,在这一点上,我们建议使用以下功能:
- 按层或功能将指标分为不同的组。例如,LinkedIn将指标分为三个层次:
1)公司范围
2)产品特定
3)功能特定(Xu等人,2015)。
微软将指标分为
1)数据质量
2)OEC
3)Guardrail
4)本地功能/诊断(Dmitriev et al.2017)。
Google使用类似于LinkedIn的类别。
随着度量标准数量的增加,多重测试(Romano等人,2016年)变得越来越重要,这是实验人员的一个常见问题:为什么在似乎无关紧要的情况下,该度量标准会显着移动?尽管培训有所帮助,但一种简单而有效的办法是使用小于标准值0.05的p值阈值,因为它允许实验人员快速筛选出最重要的指标。有关解决多重测试问题的更多讨论,请参见第17章。
兴趣指标。当实验者浏览实验结果时,他们可能已经在考虑要评估的一组指标。但是,其他指标中总是存在意想不到的变化,值得深入研究。平台应该可以通过组合多个因素来自动识别这些指标,例如这些指标对公司的重要性,统计意义和误报调整。
相关指标。指标的移动或不移动通常可以用其他相关指标来解释。例如,当点击率(CTR)升高时,是因为点击率上升还是因为页面浏览量下降了?移动的原因可能导致做出不同的决定。另一个例子是具有高方差的指标,例如收入。如果拥有与之相关更敏感,方差更低的版本(例如,精简后的收入或其他指标)那么就可以做出更明智的决策。