Trustworthy Online Controlled Experiments Part 5 Chap 23
我们总是高估一个科技的短期影响,并且低估它的长期影响。 – Roy Amara
为什么重要
有时,要衡量的影响可能要花费数月甚至数年才能完成累积,这是长期的影响。在一个在线世界中,产品和服务以敏捷的方式快速迭代地开发,试图衡量长期影响是具有挑战性的。如果要解决此类问题,那么在这个活跃的研究领域中,了解关键的挑战和当前的方法将非常有用。
什么是长期影响
在本书讨论的大多数情况下,我们建议实验周期为一到两周。在此短时间内测得的治疗效果称为短期效果。对于大多数实验,我们只需要了解这种短期作用,只要它是稳定的并且可以推广到长期。但是,在某些情况下,长期影响与短期影响不同。例如,提高价格很可能会增加短期收入,但随着用户放弃产品或服务而减少长期收入。在搜索引擎上显示糟糕的搜索结果会导致用户再次搜索(Kohavi等,2012);随着用户切换到更好的搜索引擎,查询份额在短期内会增加,但从长期来看会减少。同样,展示更多广告(包括更多质量较差的广告)可以在短期内增加广告点击和收入,但从长期来看却会通过减少广告点击甚至减少搜索次数来减少收入(Hohnhold,O'Brien和Tang 2015) ,Dmitriev,Frasca等人,2016年)。
长期效果定义为治疗的渐近效果,从理论上讲,它可以持续数年。实际上,通常将长期时间视为3个月以上,或者根据曝光次数(例如,对使用该新功能的用户至少10次的“治疗效果”)进行评估。
我们明确地将超短期的变更排除在讨论范围之外。例如,可以对寿命只有几个小时的编辑选择的新闻标题进行实验。但是,标题应该是“醒目”还是“有趣”的问题是一个很好的长期问题,让短期访问量增加的因素可能会导致长期访问量的降低。除非专门针对如此短周期更改进行实验,否则在测试新的干预方法时, 真的需要知道它的长期效果。
在本章中,我们介绍了长期影响可能不同于短期影响的原因,并讨论了测量方法。我们仅关注短期和长期治疗效果不同的情况。我们没有考虑短期和长期之间的其他重要差异,例如样本量差异,这可能会导致估计的治疗效果和差异有所不同。
确定OEC的一项关键挑战(请参阅第7章)是它必须在短期内可测量,但被认为会对长期目标产生因果关系。本章讨论的衡量长期影响可以为读者提供洞察力,以改进和设计可以影响长期目标的短期指标。
为什么长期效果会与短期效果不同?
短期和长期治疗效果可能不同的原因有很多。在第3章中,我们已经讨论了一些关于可信度的问题。
-
用户学习的效果。随着用户学习并适应变化,他们的行为也会发生变化。例如,产品崩溃是一种糟糕的用户体验,可能不会使用户在它第一次出现时就卸载软件。但是,如果崩溃频繁发生,则用户可能会放弃该产品。如果用户意识到广告的质量较差,则可以调整其点击率。行为更改也可能是由于可发现性引起的。另外,一项新功能,可能需要一段时间才能让用户注意到,但是一旦用户发现这个功能比较有用,他们就会频繁使用。用户可能还需要时间来适应新功能,因为他们已经习惯了旧功能,或者他们在首次引入新功能时会进行更多探索(请参阅第3章)。在这种情况下,长期效果可能与短期效果不同,因为用户最终会达到一个平衡点(Huang,Reiley和Raibov 2018,Hohnhold,O'Brien和Tang 2015,Chen,Liu和Xu 2019,Kohavi, Longbotham等,2009)。
-
网络效果。当用户看到使用通讯应用程序(例如Facebook Messenger,WhatsApp或Skype)上的“实时视频”功能的朋友时,他们也很有可能也会使用它。用户行为往往会受到其网络中人员的影响,尽管功能在通过其网络传播时可能需要一段时间才能完全发挥作用(请参阅第22章,其中讨论了资源有限或共享的市场干扰,重点是偏见由于版本之间的泄漏,在短期内进行估算)。在我们衡量长期影响时,有限的资源会带来其他挑战。例如,在Airbnb,eBay和Uber这样的两面市场中,一项新功能可以非常有效地推动对某种事物的需求,例如房屋出租,计算机键盘或乘车,但供应可能需要更长的时间才能赶上。结果,由于供应不应求,对收入的影响可能需要更长的时间才能实现。在其他领域也存在类似的例子,例如,雇用市场(求职者和工作),广告市场(广告商和出版商),内容推荐系统(新闻提要)或人脉关系(LinkedIn可能认识的人)。由于一个人认识的人数量有限(“供应”),因此新算法一开始可能会表现更好,但由于供应限制,长期而言可能会达到较低的均衡(类似的效果可以在推荐算法中更普遍地看到,其中新算法最初可能会因多样性而表现更好,或者只是显示出新的建议)。
-
延迟的经验和评估。在用户体验到整个治疗效果之前可能要花费一段时间。例如,对于Airbnb和Booking.com这样的公司,用户的在线体验到用户实际到达目的地之间可能要花费数月的时间。诸如用户保留之类的重要指标可能会受到用户延迟的离线体验的影响。另一个例子是年度合同:注册用户在年度结束时有一个决定点,他们在那一年的累积经验决定他们是否续约。
-
系统的变化。随着时间的流逝,系统中的许多事情都会发生变化,并且可能会影响用户对“治疗”的反应,包括:
-
启动其他新功能。例如,如果更多团队将实时视频功能嵌入其产品中,那么实时视频将变得更有价值。
-
季节性。例如,由于用户的购买意图不同,在圣诞节期间表现良好的礼品卡上的实验在非节假日期间可能不会具有相同的性能。
-
竞争格局。例如,如果竞争对手启动了相同的功能,则该功能的价值可能会下降。
-
政府政策。例如,欧盟通用数据保护条例(GDPR)改变了用户控制其在线数据的方式,从而改变了可以用于在线广告定位的数据(欧盟委员会2018年,谷歌,帮助广告商遵守GDPR 2019年)。
-
概念漂移。随着分布的变化,在未刷新的数据上训练的机器学习模型的性能可能会随时间降低。
-
软件退化。功能发布后,除非对其进行维护,否则它们相对于其周围的环境趋向于退化。例如,这可能是由于代码随时间而变得无效所致。
-
为什么要评估长期影响?
尽管出于各种原因,长期影响肯定会与短期影响有所不同,但并非所有此类差异都值得衡量。长期效果要达到的目标在确定应测量的内容以及应如何测量方面起着至关重要的作用。我们总结了主要原因。
-
归因。具有强大数据驱动文化的公司使用实验结果来跟踪团队目标和绩效,从而有可能将实验收益纳入长期财务预测中。在这些情况下,需要对实验的长期影响进行适当的衡量和归因。从现在开始,如果不引入新功能,从长远来看,世界将会是什么样?这种归因类型具有挑战性,因为我们需要同时考虑用户学习效果之类的内在原因和竞争格局变化之类的内在原因。实际上,由于将来的产品更改通常建立在过去的发布之上,因此可能很难将这种复合影响归因于此。
-
机构学习。短期和长期之间有什么区别?如果差异很大,是什么原因造成的?如果存在很强的新颖性效果,则可能表示用户体验欠佳。例如,如果用户花太长时间才能发现他们喜欢的新功能,则可以通过使用产品教育来加快使用速度。另一方面,如果许多用户被新功能所吸引,但只尝试了一次,则表明质量低或点击存在诱饵。了解差异可以为改进的后续迭代提供见解。
-
概括。在许多情况下,我们测量对某些实验的长期影响,因此可以推断到其他实验。类似的变化有多少长期影响?我们可以针对某些产品领域推导出一般原则(例如,Hohnhold等人(2015年)的搜索广告吗?我们可以创建可长期预测的短期指标(请参阅本章最后一节)吗?我们可以概括或预测长期影响,我们可以在决策过程中将其纳入考虑范围,为此,我们可能希望将长期影响与外在因素隔离开来,尤其是那些不太可能造成的重大冲击随着时间的推移重复的影响。
长期运行一个实验
测量长期效果的最简单,最流行的方法是使实验长时间运行。可以在实验开始时(第一周)和实验结束时(最后一周)测量“治疗效果”。请注意,这种分析方法不同于典型的实验分析,后者可以测量整个治疗期间的平均效果。如图23.1所示,第一个百分比增量测量值被认为是短期效应,而最后一个测量值被认为是长期效应。
image.png尽管这是一个可行的解决方案,但这种长期实验设计存在一些挑战和局限性。我们总结了衡量长期影响的一些方法。
-
归因:长期实验最后一周的测量值()可能不代表真正的长期治疗效果,原因如下:
-
干预效果被稀释。
-
当实验仅捕获一个用户子集时。 用户可以使用多个设备或入口点(例如,web和app)。实验运行的时间越长,用户在实验期间使用多个设备的可能性就越大。对于在过去一周内访问的用户,实际上在整个时间段T中只有很少一部分用户经历过“干预”。因此,如果用户正在学习,则以衡量的结果不是用户接受时间的治疗后所学的长期影响,而是稀释后的结果。请注意,这种稀释对于并不是对于所有功能都有影响,但是对于重要的。
-
如果根据Cookie随机分配实验单位,则Cookie可能会因用户行为而被干扰或由于浏览器问题而崩溃(Dmitriev et al。2016)。处于“干预”状态的用户可以使用新的Cookie随机分配到“对照”中。与前两个要点一样,实验运行的时间越长,用户越有可能同时体验到“治疗”和“控制”。
-
如果存在网络效应,除非在两个版本之间完全隔离,否则“干预”效应可能会从“治疗”转移到“控制”(请参阅第22章)。实验进行的时间越长,效果可能会越广泛地通过网络扩展,从而产生更大的泄漏。
-
-
生存偏见。并非实验开始时的所有用户都可以存留到实验结束。如果治疗组和对照组之间的到率不同,则将遭受到偏差,这也将触发SRM警报(请参见第3章和第21章)。例如,如果不喜欢新功能的用户随着时间的流逝而放弃,则只会捕获那些仍然存在的人(以及接受实验的新用户)的偏见。如果“干预”引入了会导致不同的Cookie流失率的错误或副作用,那么也会存在类似的偏见。
-
与其他新功能的交互。长期实验运行时可能会启动许多其他功能,并且它们可能会与被测试的特定功能交互。随着时间的流逝,这些新功能会侵蚀实验的结果。例如,向用户发送推送通知的第一个实验在驱动会话方面可能非常有效,但是随着其他团队开始发送通知,第一个通知的效果会减弱。
-
为了测量时间外推效应:在没有进一步研究(包括更多实验)的情况下,我们需要谨慎,不要将和之间的差异解释为由治疗本身引起的有意义的差异。除了上面讨论的归因挑战使本身的解释变得复杂之外,差异可能还完全是由于诸如季节之类的外在因素造成的。通常,如果两个时期之间的基本人口或外部环境发生了变化,我们将无法再直接比较短期和长期的实验结果。
当然,归因和测量时间推断效应带来的挑战也使得很难将特定于长期运行的实验的结果推广到更可扩展的原理和技术上。如何知道长期结果是否稳定以及何时停止实验也存在挑战。下一部分将探讨部分解决这些挑战的实验设计和分析方法。
长期实验的替代方法
已经提出了不同的方法来改善长期实验的测量结果(Hohnhold,O'Brien和Tang,2015年; Dmitriev,Frasca等人,2016年)。本节中讨论的每种方法都提供了一些改进,但是没有一种方法可以适用于所有情况。我们强烈建议每次使用时都要评估这些限制是否适用,如果适用,它们对的结果或对结果的解释有多大影响。
方法1 队列分析
可以在开始实验之前构建稳定的用户群,并且仅分析对该用户群的短期和长期影响。一种方法是根据稳定的ID(例如已登录的用户ID)选择同类群组。此方法可有效解决稀释和生存偏差,特别是如果可以以稳定的方式跟踪和测量同类群组时。用此方法时,要记住两个重要的注意事项:
-
需要评估同类群组的稳定性,因为这对于该方法的有效性至关重要。例如,如果ID是基于cookie的,并且cookie的流失率很高,则此方法就不适用了(Dmitriev et al.2016)。
-
如果该队列不能代表总体人群,则可能存在外部有效性问题,因为分析结果可能无法推广到整个人群。例如,仅分析已登录的用户可能会引起偏差,因为它们与未登录的用户不同。可以使用其他方法来提高通用性,例如基于分层的加权调整(Park,Gelman和Bafumi 2004,Gelman 1997,Lax和Phillips 2009)。在这种方法中,首先将用户分层(例如,基于实验前的高/中/低参与度),然后计算每个子组的治疗效果的加权平均值,其权重反映人口分布。这种方法的局限性与第11章中广泛讨论的观察性研究类似。
方法2 后期分析
在这种方法中,可以在运行了一段时间(时间T)后关闭实验,然后在时间T和T +1期间测量“处理”用户和“控制”用户之间的差异,如图23.2所示。如果由于用户体验问题而无法降低新的“治疗”,仍然可以通过“提高”所有用户的干预来应用此方法。该方法的一个关键方面是,在测量期间,治疗组和对照组的用户都将拥有完全相同的功能。但是,各组之间的区别在于,在第一种情况下,治疗组暴露于对照组没有暴露的一组特征,在第二种“强化”情况下,治疗组暴露于这些功能比对照组的时间更长。
image.pngHohnhold等 (2015年)称其为在学习后阶段测得的效果。为了正确解释它,需要了解实验中测试的特定变化。有两种学习效果:
1.用户学习的效果。用户已经了解并适应了随着时间的新功能。 Hohnhold等 (2015)研究了广告加载量增加对用户广告点击行为的影响。在他们的案例研究中,用户学习被认为是后期影响的关键原因。
2.系统学习的效果。系统可能具有“干预”期间的“记忆”信息。例如,干预可能会鼓励更多用户更新其个人资料,即使实验结束后,此更新的信息仍保留在系统中。或者,如果更多的“干预”用户在实验期间因电子邮件而感到烦恼并选择退出实验,则他们在后期将不会收到电子邮件。另一个常见的示例是通过机器学习模型进行个性化设置,例如向点击更多广告的用户展示更多广告的模型。经过“干预”使用户点击更多广告后,使用足够长的时间进行个性化设置的系统可能会了解该用户,从而向他们显示更多广告,即使他们重新体验了“控制处理”后也是如此。
给定足够的实验,该方法可以根据系统参数估计学习效果,然后从新的短期实验中推断出预期的长期效果(Gupta等,2019)。当系统学习的效果为零时,即在A / A后期,处理和控制用户都暴露于完全相同的功能集时,这种推断是合理的。这种系统学习的效果为非零的示例可能包括永久性的用户状态更改,例如更多时间持久的个性化设置,退出,取消订阅,达到展示次数限制等。
也就是说,此方法可有效地将影响与随时间变化的外在因素以及与其他新启动功能的潜在交互作用隔离开来。因为学习的效果是单独衡量的,所以它提供了关于为什么短期和长期效果不同的更多见解。该方法存在潜在的稀释和生存偏差(Dmitriev et al。2016)。但是,由于学习后的效果是在后期进行单独测量的,因此可以尝试对学习到的效果进行调整,以解决稀释问题,或者与前面讨论的队列分析方法结合使用。
方法3 时间错开的干预
到目前为止,所讨论的方法仅要求实验人员在进行长期测量之前要等待“足够”的时间。但是“足够长”会持续多久?一个便宜的方法是观察治疗效果趋势线,并确定曲线稳定下来已经经过了足够的时间。这在实践中效果不佳,因为随着时间的推移,治疗效果很少稳定。在重大事件甚至是星期几的影响下,随着时间的推移,波动性往往会淹没长期趋势。
要确定测量时间,可以在开始时间错开的情况下运行同一“干预”的两个版本。一个版本(T0)从时间t = 0开始,而另一个版本(T1)从时间t = 1开始。在任何给定时间t> 1时,可以测量两个版本的治疗之间的差异。请注意,在时间t处,T0和T1实际上是一项A / A测试,唯一的区别是其用户暴露于Treatment的持续时间。我们可以进行两次样本t检验,以检查T1(t)和T0(t)之间的差异是否在统计上显着,并得出结论:如果差异很小,则两种处理方法已经收敛,如图23.3所示。 注意,重要的是确定实际上重要的增量,并确保比较具有足够的统计能力来检测它。在这一点上,我们可以在时间t之后应用周期后方法来测量长期影响(Gupta,Kohavi等人2019)。在测试两种处理之间的差异时,把II型错误率控制在20%以下更为重要,即使以将I型错误率提高到5%以上为代价。
image.png该方法假定两种处理之间的差异随着时间的推移而变小。换句话说,T1(t)– T0(t)是t的递减函数。尽管这是一个合理的假设,但实际上,还需要确保两种交错处理之间有足够的时间间隔。如果学习到的效果需要一段时间才能显现出来,并且两个治疗彼此紧接开始,则可能没有足够的时间使两个治疗在T1开始时有所不同。
方法4 抑制和反向实验
如果推出新功能有时间压力,则长期实验可能不可行。对照组的成本可能很高:他们没有得到治疗就付出了机会成本(Varian 2007)。一种替代方法是进行阻止:用10%的控制组,90%的干预组(Xu,Duan和Huang 2018)。抑制实验是长时间运行的实验的典型类型。由于它们的Control变量较小,因此它们的功率往往比最佳功率要少。重要的是要确保降低的灵敏度不会影响想要从保持中学习的内容。请参阅第15章中的更多讨论。
还有一个称为反向实验的替代版本。在反向实验中,我们在“干预”启动100%的用户数周(或数月)后,使10%的用户重新回到了对照组。这种方法的好处是每个人都已经接受了一段时间的干预。如果干预方案引入了新的功能,其中网络效应在用户采用中起作用,或者如果市场中的供应受到限制,则反向实验将使网络或市场有时间达到新的平衡。缺点是,如果“处理方法”可能带来明显的变化,则使用户重新回到“控制组”中可能会使他们感到困惑。
网友评论