查看原文
其他

洞察海外 AB 实验的地区差异效果

周俊龙博士 DataFunSummit
2024-09-11

导读 本文将探讨 AB 实验的地区差异。

主要内容包括:

1. 游戏 AB 实验的地区差异

2. 异质性效果检验与拆分

3. 异质性效果理解与预测

4. 总结

5. Q&A

分享嘉宾|周俊龙博士 腾讯 资深数据科学家 

编辑整理|贾潍佳 山东大学

内容校对|李瑶

出品社区|DataFun


01

游戏 AB 实验地区差异现状

首先简单介绍游戏 AB 实验中地区差异的现状。

1. 实验效果的地区差异

日常 AB 实验场景中,我们关注的往往是整体的效果。假设有 A、B 组两组实验,我们通常关心 A 组是否比 B 组更好。在海外的场景里则会稍有不同,因为我们会同时对多个地区进行实验;或者在同一个实验中,会观测到在不同地区有不同的效果。

举例来说明,假设我们在 3 个地区同时上线新策略和旧策略的对比实验,实验效果分别是:A 地区在线时长提升了 10 分钟,B 地区在线时长提升了 5 分钟,而在 C 地区在线时长降低了 1 分钟。基于这样 3 个地区的实验效果,我们发现,如果关注整体的实验效果,那么可以计算得出:整体实验效果是正向的 5。

这是否意味着我们应该整体上线新策略?显然不是的,对于 C 地区我们应该保留旧策略,而不是使用新策略。

我们检验了腾讯游戏在海外实验中的情况,发现大部分实验都有这样的效果。

那么,如何理解这个差异呢?有两种情形:

第一种:如 A 和 B 地区的实验情况。每个地区都有提升,整体新策略更好;

第二种:如 A 和 C 地区的实验情况。A 地区新策略好,C 地区旧策略好。这时候需要进一步分析,究竟应该整体上线新策略,还是对不同地区应用不同的策略,还是去更细化地理解用户以后,再设计出新的实验策略。

2. 常见处理方法

有过多地区运营实验经验的朋友们应该知道,常见的处理办法是基于地区维度的下钻。这个方法的优势在于它非常简单,而且可以给到每个地区的处理效应的无偏估计,操作起来非常方便。而缺点在于缺少泛化能力,也就是说,当我们发现 A 地区效果是正向,C 地区效果是负向时,我们并不能知道 B 地区到底是什么样的情况。另外,我们知道它们之间有差异,但是不知道这个差异从何而来。

在这里我们提出了地区异质性实验效果分析框架,希望在这个框架中,不仅仅能够发现到这里有差异,还能够能理解差异的来源,帮我们更好地理解这个实验、理解这个地区、理解我们每个地区的用户,进一步也希望可以把这些实验结果外推到其他地区,从而对其他地区未来的实验和策略上线提供指导意见。

02

异质性效果检验与拆分

分析框架的第一步是检验和拆分,我们想知道到底是不是真的有这样的差异。

1. 检测

首先,检测的关键问题是,效果的差异到底是真实存在的,还是只是统计噪声。刚刚例子中的数据比较简单,分别是 5、10、-1,很明显都能看到差异。在现实中,分地区看实验效果时可能会出现 1.5、1.3 这样令人迷惑的数据,到底是真正效果有差异,还是只是因为样本量或其他原因导致的统计噪声。

这时我们就会使用 meta analysis(荟萃分析、元分析)的方法来检测地区的异质性:将每个地区视作一个单独的实验,以此来检测每个地区的实验效果,到底是统计显著的有差异,还是只是噪声。

零假设是两个地区是相同的,来自于同一个分布。如果我们能够拒绝零假设,就会发现地区间的实验效果差异是显著存在的,而并不是简单的统计误差造成的。

图中是 meta analysis 做出来的例子中实验效果的分析结果,很明显,这里是真的有异质性,并不仅仅是统计误差。

2. 拆解

当我们发现了确实有实验效果的差异以后,就需要去理解造成差异的原因。需要重新去思考一下我们关注的统计量,也就是要对这个实验效果去做拆解。

在一般的情况下,我们关注的是 A 组和 B 组的差异,统计学上叫做 ATE(平均处理效应,τ),如果我们关注的 Y(outcome)是次日留存,也就是想知道实验对次日留存是否有提升效果。很多时候我们也会有一些微观变量,例如用户特征,可以基于这些微观的特征来得到一个 CATE(条件处理效应)。这样的 CATE 就是所关注的微观变量的函数。我们定义为 τ(x)。相当于,如果知道用户的特征,就可以估计对于这一类特征的用户的处理效应有多大。

游戏场景里,x 可能包括历史在线时长、单日时长等变量,我们可以用机器学习的方法建模,或者是一些更复杂的 meta learner 的方式,比如 X-learner、t-learner,就能够知道 τ 和 τ(x)。

接下来,就可以对每个地区(脚标 c)定义它们的处理效应和条件处理效应,τc 和τc(x)。

这样拆解的好处是,可以帮助我们理解什么叫做异质性。我们知道,如果不存在异质性,也就是说如果每个地区的实验效果都是一模一样的,就一定会有,对于每个地区都有 τc=τ,且对于所有地区 τc(x)=τ(x)。简单来说就是我们不仅仅发现每个地区的平均处理效应是一样的,更重要的是 τ(x) 也是一致的,也就是说假设同样的人换到了不同的地区,同样特征的玩家在不同的地区,实验效果也要是一样的。基于这两点我们才能说确实是没有实验效果上面的异质性。

如果存在异质性,会是怎样的情况呢?举一个简单的例子,如果我们只关注 ATE,就会发现对于两个地点 c 和 c',如果它们的 ATE 是不一致的,会有两种可能:
  • 件处理效应不同,也就是 τc(x)≠τc'(x)虽然两个人长得都一模一样,属性也一模一样,但是在日本和在美国就是不一样。
  • 布不同,也就是 Fc(x)≠Fc'(x)虽然同一类型的玩家在不同地区,他们的条件处理效应是一样的,但是由于在不同地区的玩家分布不同,当做加总的时候,也会发现 τc≠τc'

基于以上拆解,我们就定义出了两种可能的异质性的来源:
  • 件处理效应不同,这是根本的不同;
  • 理效果一致,但分布不一致。
重新定义一下现有的统计量 τc=τ(c)+εc,本质上就是在衡量这两个统计量的差异。如果差异仅仅是由分布差异导致的,那么就肯定会有 τc(x)=τ¬c(x),且 τ(c)≈τc。如果不成立,则说明前提假设不对,即在 CATE 上地区间分布不一致,需要进一步分析。

宏观方面,也可能是不同地区的文化不一样,比如不同地区的网络效果不一样。那么,可以进一步写为 τc(x)=τ(x, Vc),也就是关于宏观变量的函数。就此,拆解完成了很重要的一环,能够区分异质性的来源,是来自于 CATE 的差异,还是来自于分布的差异。

03

异质性效果理解与预测

做完拆分以后,就可以开始做理解和预测的工作。

1. 理解

我们利用一个研发实验来检查这个问题。首先对条件处理效应 CATE 做建模,可以发现,最重要能解释这个实验效果的变量是用户在线天数。我们把不同地区的实验效果从大到小排序,选出实验效果最好的、一般的和最差的三个地区,把用户在线时间做了分布绘图。可以发现,游玩时间分布在三个地区的分布明显不一样,这表明,很有可能处理实验效果的差异来自于分布的不同。

进一步地,把刚才的 τc 和 τ(c)估计出来,画在这张图上。可以看到,黑线是 45 度线,拟合出来的处理效应是这条红色虚线,红线与黑线是非常接近的,也就意味着我们预测的实验效果和真实的实验效果是高度相关的,进一步也就说明至少在这一个实验里面,微观变量(例如在线时间时间)的 CATE 在不同的地区大致是相同的,实验效果的不同主要还是来自于分布的不同。

2. 预测

当我们知道异质性的来源后,就可以泛化实验结果进行预测。

举个例子,如右图所示,假设我们并没有在美国做过该实验,但是想知道在美国做实验的效果预计是什么样的。因为我们已经知道它的异质性效应主要来自于分布,而不是条件处理效应的差异,我们就需要先做拆分再预测。右图可以看到,真实估计出来的处理效应和预测处理效应是高度相关的,说明我们的数据确实能够支持我们的想法。在真正去制定下一步实验策略的时候,重要的并不是国家或地区的差异,而是异质性来源,也就是分布;而且,微观变量比国家地区更为重要。

04

总结

最后进行一下总结。

1. 跨地区异质性分析

跨地区异质性分析的整体链路如下:

首先检测到底有没有异质性存在,如果有就开始做拆分,看异质性实验效果的差异到底是从哪里来的。有一些可能可以被微观变量解释,有一些则不能。需要我们继续拆分,哪个变量是最重要的,分布差异是什么样的。也可以做预测,在未来迭代的时候就可能发现,地区因素并不是最重要的,最重要的是背后的分布不同以及围观变量。在真正制定策略时,可以针对某些变量来制定策略,可能会比针对某一个地区来制定相关的策略更为有效。

2. 总结

在海外场景中 AB 实验会经常出现实验效果的地区差异,我们提出了一个分析框架,可以实现:
  • 测这一差异是否构成显著的异质性;
  • 于异质性,可以拆分其来源;
  • 一拆分可以增进我们对地区的理解,同时为下一步策略迭代提供数据支持。
本次分享就到这里,谢谢大家。

05

Q&A

Q1:实验期如果开了一个空白的 A 实验且显著了,我们如何证明它显著是 A 的问题还是 base 的问题?

A1:逻辑上讲,如果是空白 A 实验效果显著,大概率是 base 或者分流造成的问题,需要查一下 bug。

Q2:如果我们证明了是因为分布不同导致实验结果不同,那么在分析实验结果的时候,还需要保证 AB 组的分布让它尽量相似吗?人群的分布是应该根据某些重要特征,还是应该尽可能多的特征来构建?

A2:首先要去看整体的分流究竟是怎么做出来的。是在地区层面做了分流,还是做了整体的分流后维度下钻,这两个性质会稍有不同,但是要保证 AB 分组的分布是相似的。

Q3:这套方法论是只适用于地区维度,还是也能推广到年龄这些其他维度上?

A3:我认为可以推广。如果年龄分组比较粗,那么细致的分析可能是有必要的。但是年龄粒度比较细,甚至是连续的,那么额外的分组拆分可能不太会有更多的增益,反而会增加 noise,这时候一个 uplift model 可能就已经可以提供足够的信息了。
以上就是本次分享的内容,谢谢大家。


分享嘉宾

INTRODUCTION


周俊龙博士

腾讯

资深数据科学家

纽约大学政治学博士,现就职于腾讯游戏 IEGG 任资深数据科学家,深度参与腾讯游戏的海外发行工作,现主要工作集中于利用因果推断和在线实验方法来提升游戏玩家用户体验。

往期推荐


借鉴 ChatGPT 思想,小布助手在 AIGC 上的探索

数据波动归因分析与指标治理

当推荐遇见大模型,会碰撞出什么样的火花

集团类企业数据治理实践

网易云音乐用户行为归因数据体系建设

因果推断在解决推荐系统偏置问题的研究和产品应用

资料下载:知识图谱与AIGC在京东的实战案例

复杂图上的知识迁移学习

开源delta lake 3.0 优势和发展多模态大模型在文本和视频分析中的应用

点个在看你最好看

继续滑动看下一个
DataFunSummit
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存