Trustworthy Online Controlled Experiments Part 4 Chap 14
[产生随机数]一个平均每秒提供约100,000个脉冲的随机频率脉冲源,由一个恒定频率的脉冲每秒进行一次选择...原始机器的随机数显示出统计上显着的偏差,工程师不得不对电路进行了几处修改和改进。在1947年5月和6月间制作了100万个数字的基本表。该表经过了相当详尽的测试,发现它仍然包含很小但具有统计意义的偏差
------ A Million Random Digits with 100,000 Normal Deviates (RAND 1955)
为什么重要
随机单位的选择在实验设计中至关重要,因为它会影响用户体验以及可用于分析实验的指标。在构建实验系统时,需要考虑要使用哪些选项。了解选中的选项所包含的假设。
标识符对于作为实验的随机选择至关重要。相同的标识符还可以用作连接文件,日志以及下游处理(请参见第13章和第16章)。请注意,在本节中,我们将重点放在如何选择标识符上,而不是基于随机化本身,例如确保分配的独立性(即 关于标识符的分配不应告诉我们有关干预手段的任何信息。 如果可以将一个标识符同时分配给多个实验,则需要确保跨实验的独立性(请参见第4章)。
选择随机单位时要考虑的一个轴是粒度。例如,网站具有以下自然粒度:
页面级: 对一个页面新的访问就被当成一个单元。
会话级: 一次访问所查看的网页组。通常将会话或访问定义为在闲置30分钟后结束。
用户级别: 来自单个用户的所有事件都是单位。请注意,用户通常是真实用户的近似值,通常使用Web Cookie或登录ID。 Cookies可能会被删除,另外在私人/隐身浏览器会话中使用,都会导致用户数量过多。如果基于登录ID,共享帐户来统计, 则可能导致计数不足,而一个用户具有多个帐户(例如,用户可能具有多个电子邮件帐户)可能导致计数过度。
我们会沿着以上三个尺度来讨论。
对于搜索引擎而言,单个查询可以有多个浏览量,查询可以是页面和会话之间的粒度级别。还可以将用户和日期的组合视为一个单位,其中同一位用户在不同日期的事件位于不同的单位中(Hohnhold,O'Brien和Tang 2015)。
尝试确定粒度时,需要考虑两个主要问题:
1.用户体验的一致性有多重要?
2.哪些指标比较重要?
为了保持一致性,主要考虑问题是用户是否会注意到更改。举一个极端的例子,假设实验是在字体颜色上进行的。如果我们使用精细的粒度(例如页面级别),则字体颜色可能会随每个页面而变化。另一个例子是引入新功能的实验。如果随机是在页面级别或会话级别,则该功能可能会显示或消失。这些潜在的不良和不一致的用户体验可能会影响关键指标。用户越容易注意到干预措施,在随机化中使用更粗糙的粒度以确保用户体验的一致性就越重要。
指标和随机单位也会相互影响。用于随机化的更精细的粒度级别会创建更多的单位,因此指标均值的方差会更小,因此实验将具有更多的统计能力来检测较小的变化。值得注意的是,通过页面浏览量进行随机化(和分析)将导致对略微低估干预效果的方差 (Deng,Lu和Litz,2017年),但这种低估非常小, 在实践中通常被忽略
虽然较低的方差似乎是更细的粒度的一个优势,但要记住一些注意事项:
- 如果功能超越该粒度级别起作用,则不能使用该粒度级别进行随机化。例如,如果个性化设置和其他页面之间有相关性,则按页面浏览进行随机化将不再有效,因为在一页上发生的事情会影响用户在后续页面上看到的内容,并且页面不再独立。再举一个具体示例,如果实验使用页面级随机化,用户在第一次搜索中被选中为干预组,而干预功能导致搜索结果不佳,则用户不得不进行第二次查询。
2.同样,如果度量是在该粒度级别上计算的,那么不能推广到其他粒度的结论上。
3.将用户暴露于不同的变量可能会违反稳定的单位处理价值假设(SUTVA,请参阅第3章)(Imbens和Rubin 2015),该假设指出实验单位不会相互干扰。如果用户注意到不同的版本,则该情况可能会影响其行为并产生干扰(请参阅第22章)。
在某些企业方案中(例如Office),用户希望获得一致的企业体验,从而限制了用户随机分配的能力。在具有拍卖广告的情况下,可以按广告商或经常在同一拍卖中竞争的广告商集群进行随机化。在社交网络中,可以按朋友群随机化以最大程度地减少干扰(Xu等人2015,Ugander等人2013,Katzir,Liberty和Somekh 2012,Eckles,Karrer和Ugander 2017)。
随机的样本和分析的样本
通常建议关注指标中的随机单位与分析中使用的单位相同(或更粗)。
当分析单位与随机单位相同时,更容易正确地计算指标的方差,因为单位之间的独立性假设在实践中是合理的,Deng等人。 (2017)详细讨论了关于随机单位选择的独立相同的分布(i.d.)假设。例如,按页面随机化意味着每个网页浏览量的点击次数是独立的,因此,计算均值方差,点击率(点击次数/网页浏览量)是标准的。同样,如果随机化单元是用户,指标分析单元也是用户,例如每个用户的会话数,每个用户的点击次数和每个用户的浏览量,则分析相对简单。
让随机化单元比分析单元更粗糙,例如按用户随机化,去分析页面点击率是可行的,但需要更多细致的分析方法,例如自举法或增量法(Deng等人,2017年) (Deng,Knoblich and Lu 2018,Tang et al.2010,Deng et al.2011)。有关更多讨论,请参见第18章和第19章。在这种情况下,使用单个用户ID的可能会歪曲实验结果,例如,使用同一用户ID完成10,000次浏览量。如果需要考虑这种情况,请考虑限制任何单个用户可以为更细粒度的指标做出的贡献,或切换到基于用户的指标(例如每用户平均点击率),这两者都限制了任何单个用户可以查看的结果。
相反,当指标是在用户级别(例如,每用户会话数或每用户收入)计算而随机化是在更精细的粒度(即页面级别)下,则用户的体验可能包含几种版本。那么在用户级别上计算指标是没有意义的。如果按页随机分配,则不能使用用户级指标来评估实验。如果这些指标是OEC的一部分,则不能使用更精细的粒度进行随机化。
用户层面的随机化
用户级别的随机化是最常见的,因为它避免了用户的不一致体验,并允许进行长期测量,例如用户保留率(Deng等人2017)。如果正在使用用户级别的随机化,则仍然需要考虑以下几种选择:
用户可以在各种设备和平台上使用的登录用户ID或登录名。登录ID通常不仅在各个平台上都很稳定,而且在时间上也很稳定。
匿名用户标识,例如cookie。在大多数网站上,当用户访问时,该网站都会编写一个包含标识符的Cookie(通常是随机的)。在移动设备上,操作系统通常会提供Cookie,例如Apple的idFA或idFV或Android的广告ID。这些ID在各个平台上不是永久性的,因此通过台式机浏览器和移动网络访问的同一用户将被视为两个不同的ID。用户可以通过浏览器级别的控件或设备OS级别的控件来控制这些cookie,这意味着cookie的时间持久性通常不如已登录的用户ID。
设备ID是绑定到特定设备的不可变ID。因为它们是不可变的,所以这些ID被认为是可识别的。设备ID不具有已登录标识符所具有的跨设备或跨平台一致性,但通常在时间上是稳定的。
在这些选择之间进行讨论时,要在功能和道德上进行考量(请参阅第9章)。
从功能的角度来看,这些不同的ID之间的主要区别在于它们的范围。登录的用户ID跨不同的设备和平台,因此,如果需要这种级别的一致性并且可以使用,则登录的用户ID实际上是最佳选择。如果要测试跨越用户登录边界的过程,例如新的用户注册过程(包括首次登录的用户),那么使用cookie或设备ID会更有效。
关于范围的另一个问题是ID的稳定性。在某些实验的目标,可能是测量是否存在长期影响。例如,延迟或速度变化(请参阅第5章),或用户对广告的反应(Hohnhold等,2015)。对于这些情况,请使用具有长寿命的随机单元,例如已登录的用户ID,寿命长的cookie或设备ID。
除非是唯一的选择,否则我们不建议使用最后一个选择,那就是IP地址。基于IP的版本分配可能是基础架构更改的唯一选项,例如用于比较使用一个托管服务(或一个托管位置)与另一个托管服务的延迟,因为这通常只能在IP级别上进行控制。但是,我们不建议更普遍地使用IP地址,因为它们的粒度不同。在一种极端情况下,用户的设备IP地址可能会在用户移动时发生变化(例如,家中的IP地址与工作中的IP地址不同),从而产生不一致的体验。在另一个极端,大型公司或ISP拥有许多用户共享代表防火墙的一小部分IP地址。这可能导致较低的统计能力(即,是否具有足够多的IP地址,尤其是可以处理较大的差异),以及将大量用户汇总到一个单元中时可能出现的数据偏斜和异常问题。
仅在没有残留或泄漏的情况下,低于用户级别粒度的随机化才有用(请参阅第22章)。 选择低于用户级别粒度的随机化往往来自于对统计功率的追求(Power)。