​据说三分之一的AB实验都可能存在这些问题……

开发 架构
AB实验的基本原理看似很简单,但在缺乏经验的实验者手中、简陋的AB实验平台上还是非常容易出错的。

​在没有很好的实验指导、良好的平台支撑的情况下,大部分人都无法设计有效的AB实验,不能正确地消化这成百上千个实验指标的结果。

 根据一项调研,实际上可能有三分之一的AB实验都存在问题。对AB实验的错误解读会导致非最优决策以及对业务增长的不准确预期,从而损害公司的长期利益。

导致AB实验结果被误判的原因有很多,从有偏差的实验设计、有偏差的用户选择到有偏差的统计分析,以及试图将AB实验结果推广到实验总体、实验时间框架之外等。

本文主要基于AB实验的基本过程以及AB实验所需的基本技术要素,总结在进行AB实验的过程中,各个环节上可能存在的问题。

​1.实验参与对象的3个问题

关于实验参与对象主要有3个问题。

  • 实验参与对象是否被合理随机化。在实际工程中涉及随机函数选择、正交分层框架设计等问题,其本质是考虑随机过程是否真的随机进行了,是否能够消除不同实验组之间用户选择的偏差。即使用性能最好的哈希函数进行分组,也存在出现碰撞等问题的可能。另外,在随机化的过程中,有少量的极值、异常对象会对随机后数据指标产生很大的影响。对于这些问题的检测和解决都是需要考虑的。
  • 实验参与对象是否相互独立。AB实验结果有效需要满足一个基本假设—个体处理稳定性假设(Stable Unit Treatment Value Assumption,SUTVA)。这个假设是指任何实验单元的潜在结果不会随分配给其他单元的处理而变化,每个组中参与对象的行为不受分配给其他组的参与对象的影响。在大多数实际应用中,这是一个合理的假设。然而,在一些情况下,这个假设是不成立的。一旦这个假设不成立,得出的AB实验结果就是无效的。
  • 实验参与对象的数量是否足够进行实验评估也是需要考虑的问题。如果实验参与对象的样本量不足,即使得到实验结果,也无法进行有效的实验评估。

2.实验随机分流的3个问题

在对实验参与对象随机分流的环节中有如下3个关键问题。

  • 最小分流单元采用什么颗粒度是最佳的选择,是元素级别、页面级别、会话级别还是用户级别?选择不同颗粒度的最小分流单元,在评估实验效果的时候有什么不同,需要注意哪些问题?
  • 在分流的时候,如何在不增加实验评估复杂度的情况下实现流量复用,基于产品和各个系统的综合考虑,采用什么样的流量框架是最合适的?采用什么样的随机函数可以提升随机分流的性能?
  • 对于同一个实验中的各组实验对象,它们是同质的吗?存在SRM问题吗?如果存在这些问题,观察到的实验组和对照组之间的差异不是实验导致的,而是引入了其他系统性偏差,这就有可能导致有偏差的结论,甚至反向的结论。获得有偏差的结果是一场噩梦,它使整个AB实验徒劳无功。如果没有正确的诊断算法,找出这些偏差的根本原因并修复它,往往比运行AB实验本身需要更长的时间。根据一项调查,仅这种SRM问题导致AB实验无效的比例大约占所有无效实验的10%。

3.实验指标的2个问题

实验指标体系包含了两个关键问题。

  • 如何建立一个完善的产品指标体系,包括指标的设计、评估、进化和计算等一系列相关问题。
  • 如何选择合适的实验评估指标,包括从产品视角、工程视角出发,综合考虑实验指标的指向性和敏感性,以及多个目标指标如何合并为综合评价标准(Overall Evaluation Criterion,OEC)等问题。

4.实验分析和评估的3个问题

在实验分析和评估环节存在的问题更多,也更加难以解决,这部分的问题往往更加个性化和多样化。前面谈到的问题,比如实验参与单元数量、随机分流、指标体系等问题可以通过建设实验平台等工具进行规避、监控和解决。实验分析和评估是针对单个实验的,每个实验从目标到指标都有自己的不同之处,不仅需要进行系统化的处理和规范,也需要具体问题具体分析。分析过程中需要对实验设计、产品特性、数据指标以及统计分析的理解相对透彻,才能更好地深入实验评估。分析和评估相关的问题总结归纳起来主要有以下3个。

1)对于统计结果理解是否正确

  • 如何解读实验结果中P值、置信度、置信区间等的关系?
  • 实验得出的相对提升,究竟是一个自然的波动还是真实的实验提升?
  • 实验参与单元的数量是否足以检出想要的实验效果?
  • 实验统计的power值是否充足?
  • 实验数据统计精度是否可以检测出业务的提升?

2)实验分析的过程是否正确

  • 在实验过程中有没有进行AA实验?
  • 在实验过程中有没有进行SRM测试?
  • 在实验过程中有没有偷窥实验?
  • 实验分析过程中,是否存在幸存者偏差、辛普森悖论等问题?
  • 局部实验的结果如何推导为全局提升量,转化过程是否正确?

3)实验分析结果的外推是否正确如果前面实验中的每一个环节都没有问题,实验组的效果是正向的,那么实验决策决定将这个实验全量(也称发布)到所有用户。这个环节一般来说没有太大难度,在一些特定情况下会有问题,即实验结果被推广到实验的设置之外,不再有效。

  • 群体外推:将结果推广到实验群体之外,在一个子群体上进行实验,并假设对整个群体的影响是相同的。
  • 时间外推:同样危险的是在实验时间范围之外推广,因为不能确保长期影响和短期影响是相同的。

通常受AB实验机会成本的限制,一般实验运行不超过两周,而进行全量实验意味着这个策略会长期作用在线上,一两周的效果是否等于1个月甚至6个月后的效果是不确定的。当进行AB实验时,除了选择正向的策略外,也需要衡量这个策略长期影响的大小。因为实验相关人员希望得到的结果是“如果我们使用某个策略,指标X将在下个季度增长?”。这种说法隐含地假定在一个两周长的实验中,测量的影响会持续一个季度,当实验效果是时间依赖时,这显然是不正确的。更为复杂的是,并不是所有的实验指标都会在实验中显示和时间的相关性。

如果没有自动化的检测手段,即使是最有经验的实验者,也很难筛选出数千个指标,寻找与时间相关的实验效果。

上面介绍的实验分析问题在很多AB实验中都没有被很好地回答,它们在AB实验中特别容易出现,并影响实验结果,最终得到的是一些错误的解读和结论。统计一个数字容易,得到可信可靠的实验结论是不容易的。我们可以很容易地统计出B组策略比A组策略的点击率高2.7%,B组策略上线之后真的可以将点击率提高2.7%吗?如果没有实验系统以及科学的实验方法,那么很难保证最终效果。

参与AB实验的人大多遇到过一个令人头疼的问题:实验的结果是正向的,全量上线后大盘数据却没有涨。这是一个复杂的系统问题,可能有多种多样的原因,除了我们上面谈到的那些影响AB实验的问题外,还有一个原因就是统计本身的概率问题。因为我们采用的是统计中的假设检验来判断实验结果,本身就存在犯错误的概率。比如我们采用95%的置信度,那么犯第一类错误的概率是5%(AB实验中,A组没有效果,而实验系统判定A组为有效果的错误是第一类错误),犯第二类错误的概率最高有95%。

实验系统中,用户设置95%的置信度,此时需要承担5%的第一类错误风险。在一切都正常的情况下,A组实验有效果,全量上线之后没有效果的风险有5%。这个情况无法避免,大约20次实验中就会出现一次。换句话说,如果20、30次实验中出现了1~2个实验,虽然实验效果正向,但是全量后没有效果,其实这是一个正常现象,在可以接受的范围内。如果做了不到10个实验,就出现了2~3个以上实验效果正向,全量后没有效果的情况,那么实验方法和系统大概率是有问题的,而且问题大概率来自本文讨论的这些问题。

本文摘编于机械工业出版社出版的《AB实验:科学归因与增长的利器》,经出版方授权发布。​

责任编辑:武晓燕 来源: 数仓宝贝库
相关推荐

2009-12-09 09:50:15

上网本Linux

2009-02-25 08:50:45

Mini9戴尔Linux

2020-02-06 10:01:20

安全网络欺诈数字

2010-10-28 13:27:19

2015-08-14 16:59:53

2009-04-27 09:57:47

员工窃取信息安全

2021-10-25 22:30:11

加密货币比特币货币

2012-04-04 13:02:06

iPhone

2021-02-19 13:06:14

加密货币比特币货币

2021-02-19 11:06:32

物联网平台物联网IOT

2013-04-08 09:42:03

云服务市场亚马逊

2009-03-26 08:53:39

微软IE8浏览器

2011-05-16 14:03:54

2021-09-28 14:28:32

比特币加密货币货币

2023-06-19 08:12:41

MetaAI

2015-09-28 11:20:54

农业大数据美国

2015-09-10 11:48:30

2022-06-07 14:21:08

恢复数据IT领导者

2015-06-29 09:37:39

数据中心数据中心服务器

2009-04-02 22:34:10

点赞
收藏

51CTO技术栈公众号