前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AB实验的踩坑之路

AB实验的踩坑之路

作者头像
曲奇
发布2022-05-09 21:54:57
1.1K0
发布2022-05-09 21:54:57
举报
文章被收录于专栏:曲奇的博客

AB实验是互联网行业产品功能优化和迭代常用的工具,覆盖了大部分的需求场景,如内容推荐、搜索、商业化、UI迭代等。从统计学的角度出发,AB实验本质上是使用假设检验去证明假设是否成立,从而达到验证我们想法的目的。本文记录了在日常使用AB实验中涉及到的一些比较常见的陷阱。

辛普森效应

当人们尝试探究两种变量是否具有相关性的时候,会分别对之进行分组研究或细分分析。然而,在分组比较中都占优势的一方,在总评中有时反而是失势的一方。该现象于20世纪初就有人讨论,但一直到1951年,E.H.辛普森在他发表的论文中阐述此一现象后,该现象才算正式被描述解释。后来就以他的名字命名此悖论,即辛普森悖论。

从数学上解释,虽然

,那么

也有可能是成立的。

来看一个经典的例子:

一个美国大学里有商学院和法学院两个学院。单独看两个学院的录取数据,人们都怀疑有性别歧视。但是学校给出的总录取率报告,结果却是相反的!下面来分别看下

法学院:

性别

录取

拒收

总数

录取比例

男生

8

45

53

15.1%

女生

51

101

152

33.6%

合计

59

146

205

商学院:

性别

录取

拒收

总数

录取比例

男生

201

50

251

80.1%

女生

92

9

101

91.1%

合计

293

59

352

单独看两个学院的录取数据,女生的录取率都比较高。但是将两学院的数据加起来,结果却是相反的,男生的录取率反而更高:

性别

录取

拒收

总数

录取比例

男生

209

95

304

68.8%

女生

143

110

253

56.5%

合计

352

205

557

为什么会产生这种现象呢?有学者认为导致辛普森悖论主要体现在权重扭曲或遗漏变量偏差(omitted variable bias)。主要是因为这两个学院男女比例和录取率都很不一样,相当于在细分分析的时候引入了其他影响结果的变量。即使总体 A 的条件期望总是大于总体 B 的条件期望,而由于总体每种 “条件” 的发生概率(比重)不同,使得在将 “部分” 加总之后,所得的 “整体” 结果可能逆转。

假设下图中三种不同颜色的散点代表三个不同的企业的数据。如图所示,无论单独考虑任何一家企业,变量

对于变量

都有正的作用,即回归斜率为正。然而,当你把这三个企业的数据混合在一起进行 “混合回归”(pooled regression),则所得的回归斜率就变为负。混合回归相当于 “无条件期望”,因为没有控制企业的个体固定效应(individual fixed effects),故无法反映变量 x 对于变量 y 的真实作用(混合回归一般不一致)。在理论上,如果能控制足够多的条件,则可以避免。

混合回归

在真实实验场景中,我们要保证实验的流量跟大盘分布保持一致,如性别比例、系统型号比例、高中低活用户比例、不同版本的用户比例等在统计学意义上保持一致。此外,实验放量要控制实验组和对照组放量的比例、时间一致。

AA实验

如果各实验组用户特征分布不均衡,会引入额外的变量,导致实验结果不准确,甚至导致上面讲到的辛普森悖论等问题。常见的要校验的特征,如性别比例、系统型号比例、好友个数等。这里补充介绍下AA实验(空跑),AA实验可以在正式AB实验之前,排查实验的埋点、分流、统计是否有问题。如果实验的埋点、分流、统计没有问题的话,AA实验中各分组的数据表现应该差异不大。

除此之外,如果指标上报异常或者实验组中含有离群用户等,都可以在AA空跑期提前排查出来。比如一些均值类的指标,本质上是没有上限的,一些离群用户产生的极大数值可能就会造成影响。也可辅助进行指标的选取,检测指标的稳定性,如某些指标本身波动性很大,就不太适合用作AB实验的指标。

AA实验

AA实验主要有以下几个作用:

  1. AA实验能够验证实验所在层的分流均匀和正交性,保证分流同质。
  2. 观测指标是否存在指标生产异常,如实验曝光上报异常、异常用户影响等
  3. 评估指标波动范围
  4. 防止上一个AB实验释放的流量带来的惯性的影响(carry over)

AA实验一般也都是保持现状,不会给产品带来额外的风险,当然会有时间上的成本。也有AA回溯等替代方法。

学习效应

当我们想通过AB实验检验对用户来说感知明显的变化时,用户可能习惯了原先的功能或者交互,新的交互或功能对他们来说有一定的学习成本。所以老用户在学习适应阶段的表现可能会与原先有些不同。但实际表现有可能是积极的,也有可能是消极的。

积极的反应又称为新奇效应,实验的指标可能会表现出正向的增长,到那时当用户好奇心消退之后,又会回到之前一般的水平。 举个例子,当某一天我们打开微信,发现微信的导航栏多了一个图标,我们肯定会非常好奇地去点开它看看是什么功能。打开发现它其实就是原来的朋友圈而已,那第二天第三天可能就慢慢习惯了这个新的东西,回到原先的使用习惯。

另一方面,学习效应也有可能表现为消极反应。老用户对改变可能不习惯甚至反感,有一定上手成本,这个时候需要可能会带来短期负面的影响,当然一部分可能最终表现为实验不显著。比如使用的某项功能的入口在实验中又多了一层,用户可能一时没看到就不用了。

实践中,面对可能出现的学习效应,有什么应对方法呢:

  1. 采用入组多天的数据,表征实验组的指标随着时间的变化情况,表征实验指标是否收敛。如果指标有一定的周周期性,实验周期包含周末,观察工作日和周末的不同表现。但是在实验中,每天都去计算实验是否显著、比较两组指标大小是没有意义的,还会导致多重检验问题,只有达到最小样本量以及学习效应消退才能分析实验结果。
  2. 采用全新用户开展实验,全新用户就没有使用惯性的问题。

网络效应

这种情况通常体现在互联网社交网络、双边市场的跨边网络效应中。

互联网产品很多都带有社交属性,每个用户的行为并非完全独立,用户间的行为并非完全独立。如果存在网络效应,我们分组的独立性假设往往不能满足。举个例子,我们在进行推荐算法的优化实验,检验优化方案是否带来了用户活跃或留存的提升。假设好友被分到了实验组,我被分到了对照组。曝光给好友的内容更加的有吸引力,他作出了点赞、评论等互动行为。而产品的社交属性,使我可以看到好友的互动行为,原本不会被曝光给我的内容,我通过好友的互动间接接收到了。也提高了我去互动的概率,提高了活跃程度。这样就发生了实验组想对照组溢出的问题,独立的假设受到了破坏。

另一种情况是发生在类似打车平台这样的共享经济业务中,打车平台就是个双边市场,一边是注册司机,另外一边是乘客。如果在一个地理区域中划分实验组对照组,验证一个乘客端的优化。如果实验组的优化带来了需求的提升,那就会有更多的司机接到了来自实验组的订单。短时间内司机的数量是固定的,分配给实验组的司机多了,自然对照组司机就少了。导致实验组结果高估,且破坏了独立假设。

常见的解决方法是地理分离或者用户聚类。

地理分离从地理上区隔用户,这种情况适合打车平台这样能从地理上区隔的,比如北京是实验组,上海是对照组,只要两个城市样本量相近即可。

用户聚类是指按照用户的关联度将用户聚成簇(Cluster),保证簇内用户的关联强,而簇间的关联弱,那么簇与簇之间是近似独立的。假如一个用户被划分到对照组,那么大部分与他直接联系的用户也应该被分到对照组中。

网络中进行聚类

变量不可控

AB实验中需要给实验组和对照组进行变量控制,让用户得到不同的用户体验。但是很多情况下,比如在很多游戏场景中,我们是没有办法进行控制想要测试的变量的。从用户角度讲,一部分用户无法使用某类功能而另一类用户则可以,可能会引发舆情问题;从开发角度,同时维护多套代码也有一定成本。这就导致我们无法直接使用AB实验。

可能有同学会说,能不能通过营销活动去激励用户进行某个操作或行为,来对用户进行分组,进而研究用户的这个行为和留存是否有关联。实际上这样会产生新的偏差,得到的分组用户特征是有差异的。用户的很多行为是我们无法控制的,如果我们去刺激用户进行某个行为,有的用户对营销活动不敏感,可能会参加营销活动的用户本身活跃程度就比较高。

此外,AB实验还有一定的实验成本,可能损害用户体验等问题。在无法满足AB实验的条件下,可以使用手边已有的历史数据进行推断和决策就变得很重要,这个时候可以用因果推断或者称为观察性研究来解决。

PSM

因果推断中常用的评估因果效应的方法是PSM(Propensity Score Method,倾向分)。PSM做的事情是帮助在历史数据中找到合适的人去做对比,人为地构建出特征相似的实验组和对照组,然后对两组进行比较。

计算得分前我们会先明确Treatment(我们要控制的变量),要控制的特征X(混淆变量)和目标变量Y。定义

为在对象自身特征和外部因素的条件下,实验对象倾向于某个treatment的概率。可以看成是一个二分类问题,使用随机森林或逻辑回归等去求解计算得到PSM倾向分。得到倾向分之后,再用诸如Nearest Neighbor等方法进行匹配。从treatment=0的样本中挑选和treatment=1相似的样本,没有匹配的样本则丢弃掉。匹配之后实验组和对照组在PSM分值的分布是基本一致的。之后再去进行因果效应推断。

总结

在互联网公司中,AB实验已经非常普遍,AB实验是促进业务持续迭代最有效的方式之一。虽然AB实验很好,但是它并不是一劳永逸的。本文列举了一些AB实验实践中可能遇到的问题,辛普森悖论、网络效应、学习效应、变量不可控等。当然除了本文提到的问题,还有其他的需要在实践中注意,如carry over、多重检验问题等。归根结底AB实验只是工具,如何用工具更好地为业务创造新的价值,才是我们的最终目的。

参考:

维基百科-辛普森悖论

陈强《一石二鸟:从迭代期望定律透视辛普森悖论》

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-12-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 辛普森效应
  • AA实验
  • 学习效应
  • 网络效应
  • 变量不可控
  • PSM
  • 总结
  • 参考:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档