GA中A/B测试的误差
|

再谈GA数据的不一致,罪魁祸首竟是它!

GA中A/B测试的误差
GA中A/B测试的误差

关于GA数据不一致的问题,极诣在这些年先后探讨过两次。2018年《当1+1≠2,Google Analytics出Bug了?读懂用户、会话、交互层级》中,我们介绍了维度不同造成的指标差异,在2019年《99%的Google Analytics用户不知道转化到底有多少》中,我们进一步对数据差异进行了讨论。但是,即便我们深刻理解了不同层级的维度和指标,GA的数据依旧会出现不匹配,这种不匹配甚至会影响到我们A/B测试的结果!这是为什么呢?本篇将从数据采样的角度揭示GA数据的底层逻辑。

在阅读本文之前,笔者假定读者已经

  1. 能够正确为报表设定维度和指标
  2. 正确理解User、Session和Hit
  3. 了解GA的Session会在当地时间凌晨进行切割
  4. 理解GA为了报表制作效率采用了抽样方法

那么我们开始吧。

GA的抽样报告

当为生成一份报告而收集的会话数超过 50 万次(对于 Google Analytics 360,则为 1 亿次)时,系统就会自动对这些会话进行抽样。从报表名称旁的小绿盾(黄盾)你可以看出是否是100%的数据,还是经过了采样。

你可以在速度和精度直接选择
你可以在速度和精度直接选择

如果不为100%,则显示为小黄盾。想要避免小黄盾的方法是减少数据量。方法可以是缩短日期范围或者减少不必要的维度降低复杂性。当你以为小绿盾100% of sessions就万事大吉了,我只想模仿学长说“图样图森破”,这远没有你想得那么简单。因为你拿到的数据可能依旧是经过抽样的!

关闭在报告中启用用户指标 Enable Users Metric in Reporting

GA的帮助文档说得很清楚:

2017 年初,Google Analytics(分析)开始更新“用户数”和“活跃用户数”指标的计算方法,以期更高效地计算用户数,从而获得准确度较高且错误率较低(通常低于 2%)的结果。

2%是谷歌使用的HyperLogLog(HLL)算法快速采样后的导致的系统误差,谷歌使用的准确性参数为14。这就意味着68%的估算误差范围在±0.41%;95%的估算误差范围在±0.81%;99%的估算值误差范围在±1.22%。这可谓相当精确的。

要想避免这个2%的误差就必须关掉在“报告中启用用户指标”

你需要管理员权限关掉这个设置
你需要管理员权限关掉这个设置

当你关掉以后,你的小绿盾才真正意味着100%。请注意,这个开关只是切换计算方法,切换计算方法只是更改利用报告中原始数据来计算指标的方式,而不会更改基础数据。

那么你可能要问了,为什么非要切换回Session呢?一般的A/B测试不都是以User来进行的吗?其实你真的低估了2%误差的影响力。

2%看上去有多严重?

2%听上去问题不大,看上去也不大,比如说下面这组图:

2%误差下实际值与估算值对比
2%误差下实际值与估算值对比

看上去没那么大区别是不是?我们假设做A/B测试,Control组和Test组各有相同用户。我们可以看到下表:

使用估算与使用确数比较
使用估算与使用确数比较

上表显示了使用估算数在不同用户级下的实际P值。极诣曾经介绍过A/B测试的基本统计原理,P值的意义是有多大可能实验要证明的命题为假。P=0.05或5%则意味着,5%的可能该论断为假,而95%的可能该论断为真,即95%的置信。当我们使用各两万名用户来进行实验,并使用估算数据得出Test组效果更好时,此时真实的P值为5.79%,我们用估算值实验相对于用确数变得不准确,两者相差16%。这个时候我们不能说95%的情况下Test组比Control组好,因为它只达到了94.21%​。​

当我们使用500万每组时,使用估算数据达标时,实际的P值为71.04%,也就是说更有可能Control组比Test组更好。当我们要求越严苛,使用估算数据和真实数据之间的差距就越大。如果我们对P的要求提升到P=0.001,那么各两万名用户的结果精度就会直接相差70%

使用估算数据可能得出完全相反的结果
使用估算数据可能得出完全相反的结果

上图中的HLL为使用HyperLogLog估算值得出的结果。Impl.为采纳,Reject为驳回。

避免估算值造成的影响

通过上面的介绍我们可以看到,即便是2%的误差也可能“四两拨千斤”给我们造成麻烦。那么如何才能使用实际数据进行A/B测试呢?

如果你使用的是付费版的GA,那么你可以导出非抽样的报告,也可以通过BigQuery来获得非抽样数据。如果你使用的是免费版GA,首先我们要关掉User Metric,然后建立一个Custom Report。如下图:

建立Custom Report获得实验真实数据
建立Custom Report获得实验真实数据

至此,我们详细讲述了GA的抽样和克服误差严谨进行A/B测试的方法。值得一提的是GA4中尚未提供User Metric的开关,Custom Report也未启用。这将留待我们之后探索。

本文大量参考并引用了Georgi Georgiev的《The Perils of Using Google Analytics User Counts in A/B Testing》。

类似文章