观点 | 为什么在数据驱动的路上,AB实验值得信赖?(下)

技术

在线AB实验成为当今互联网公司中必不可少的数据驱动的工具,很多公司把自己的应用来做一次AB实验作为数据驱动的试金石。在连载的上中,我们介绍了AB实验与数据驱动的背景以及AB实验的基本架构,本篇重点介绍实验指标的选取与数据分析。

picture.image

文 | 松宝 来自 字节跳动数据平台团队增长平台

在线AB实验成为当今互联网公司中必不可少的数据驱动的工具,很多公司把自己的应用来做一次AB实验作为数据驱动的试金石。

数据 => 洞察 => 优化,循环往复寻找最优解,寻找增长的方法。

AB中有句经典的名言:大胆假设,小心求证。

本系列连载会从数据驱动、AB实验基本架构、指标选取与数据分析等角度切入, 在连载的上中,我们介绍了AB实验与数据驱动的背景以及AB实验的基本架构 ,本篇重点介绍实验指标的选取与数据分析。

A/B Test

AB实验的指标选取

对于一个应用或者产品来说,可能会有很多指标的选择,哪些指标需要被重点关注,哪些仅仅是关注,哪些是可以不关注。为什么要定义这个指标,这个指标的定义是为了说明什么情况,如果这个指标发生变化,将需要怎么去解释它。

01 - 指标特性

1、 按照实验的角度来划分

  • 核心指标 :需要优化的目标指标,决定这个实验的最终发展方向。这种指标在一个实验是非常少的,在运行之后是不做改变的。
  • 非核心指标指标: 与核心指标有因果关系的+基础数据的指标,基础数据的指标是应用运行的底线。

2、指标敏感性和鲁棒性

  • 指标敏感性: 指标对所关心的事物是否足够敏感
  • 指标鲁棒性 :指标对不关心的事物是否足够不敏感

可以通过预先小规模试验来验证,或者AA试验来排除伪关系。

3、指标分类

(1)计数或者求和(比如:访问页面的用户数)

(2)指标分布的平均数,中位数,百分位

(3)概率与比率

(4)比例

02 - 自顶向下设计指标

(1)高层次的指标(比如:活跃用户数,点击转化率CTR等等)

(2)指标细节(比如:如何定义用户活跃)

(3)使用一组指标,并将它们整合成一个单一指标(比如:总体评价指标OEC)

总体评价指标OEC:如果是使用一套指标,可以把他们聚合成一个指标,比如构造一个目标函数,或者是简单的加权指标: 比如OEC = A * 0.6 + B * 04 + C * 2

举个例子: 点击率的定义

  • 定义一:登陆后总点击次数 / 登陆后的去重后的访问总数

  • 定义二:被点击的页面数 / 总页面数

  • 定义三:总的页面点击次数 / 总页面数

A/B Test

数据分析

有了AB实验,并且有实验指标选取之后,实验结果的分析就成为一件非常重要而且有挑战的事情。 产生一组数据很容易,但是从数据中分析得到实验的洞察(Insight)并不简单。

01 - 实验结果显著

上面有说到实 验结果的可信度,接下来详细来介绍。

说到实验结果是否显著,我们需要知道统计学中2类统计错误,我们简单说明一下,这里我们不展开说。

(0)两类统计学错误

在统计学的世界里,我们往往只说概率,不说确定,在现实世界中往往只能基于样本进行推断。在AB实验中,我们不知道真实情况是什么,因此做假设检验的时候就会犯错误,这种错误可以划分为两类:

  • 这是第一类错误 :实际没有区别,但实验结果表示有区别,我们得到显著结果因此否定原假设,认为实验组更优,发生的概率用 𝛂 表示。

  • 这是第二类错误:

实际有区别,但是实际结果表示没有区别,我们得到不显著的结果因此无法拒绝原假设,认为实验组和对照组没有区别,发生的概率用 𝜷 表示。

理想状态下当然是希望可以同时控制这两类错误,但是这是不可能的,两个概率值之间是负向关系,其中一个值的减少必然伴随着另一个值的增大,为什么呢?后续有机会再分享。

是否显著,是否可信,我们可以通过以下几种因素来判断:

(1) p值

展示该指标 在实验中犯第一类错误的概率,该概率小于显著性水平 α ,统计学中称为 显著, 1-α 为置信度或置信水平。

  • 简单来说:p值判断不同版本的实验结果之间 不存在显著差异的概率
  • p-value越小越可信 ,有显著差异的指标,P-value=0.01的比P-value=0.05的可信度更高。
  • p值基本上还有另一个相对应的叫作t值,这个p值其实就是在t分布下≥t值的概率密度值(P(x≥t))。

picture.image

通常情况下:

  • p值 > α(显著水平α,α 值一般5%) ,说明A版本和B版本没有太大差别,不存在显著性差异。
  • p值 < α(显著水平,α 值一般5%),说明A版本和B版本有很大的差别,存在显著性差异。
  • 我们根据判断 p 值和第一类错误概率 α 比较,已经做了决策。是不是觉得大功告成,不,我们可以继续考虑power统计功效来衡量实验的可信。也就是我们要同时考虑第二类错误概率,这时候引入power统计功效。

(2)power统计功效(1 - 𝜷)

实验能正确做出存在差异判断的概率:

  • 可以理解为有多少的把握认为版本之间有差别。
  • 该值越大则表示概率越大、功效越充分。
  • 一般来说,我们一般并设置的最低的统计功效值为80%以上。认为这样的可信度是可以接受的。

举个例子: 实 验A显示,power(统计功效)为92%,那么就可以理解为有92%的把握认为版本A和版本B之间是有差别的。

但是power根本算不出来,power作为需要满足的前提条件,作为先验的输入值。

  • 实验开启前,通过流量计算器中计算流量和实验运行时长。
  • 实验开启后,通过power=80%,然后计算MDE。

(3)MDE检验灵敏度

能有效检验出指标置信度的diff幅度: 通过比较 指标MDE与指标的目标提升率 来判断不显著的结论是否solid,可以避免实验在灵敏度不足的情况下被过早作出非显著结论而结束,错失有潜力的feature:

MDE 越小,说明当前的实验灵敏度越高 并且可以认为:实验组相比于对照组,只有高于 MDE 的提升才能大概率检测出效果显著。小于 MDE 的提升,大概率不会被检测出显著。

  • 当前条件:指当前样本量,指标值和指标分布情况,并假设样本方差与总体指标方差足够接近。
  • 有效检测:指检出概率大于等于80%(也就是犯第二类错误概率 𝜷 <=20%)
  • 主要影响因素:样本量大小

举个例子: 假设你对该指标的预期目标提升率为1%。

  • 如果此时MDE=0.5%, MDE < 预期提升值 ,说明指标变化真的不显著,请结合业务ROI和其他维度里例如用户体验、长期战略价值等来综合判断是否值得上线;
  • 如果那此时MDE=2%, MDE > 预期提升值 ,说明当前能检验出显著性的最小差异值是2%,由于灵敏度不足未能检测出。这种情况下 建议增大样本量, 例如扩大流量、再观察一段时间积累更多进组用户,指标还有置信的可能。

(4)置信区间

置信区间就是用来对一个概率样本的 总体参数的进行区间估计的样本均值范围 。一般来说,我们使用 95% 的置信水平来进行区间估计。

置信区间可以辅助确定版本间是否有存在显著差异的可能性:

  • 如果置信区间上下限的值同为正或负,认为存在有显著差异的可能性;
  • 如果同时正负值,那么则认为不存在有显著差异的可能性。

详细视图中有个值叫 相对差 ,该值就是指标变化的 点估计值 ,而置信区间给出的是指标预期变化的 区间估计值 ,区间估计值有更大的可能性覆盖到指标相对变化的真实值。(假设做100次实验,有95次算出的置信区间包含了真实值)。

  • 可以这样简单但不严谨地解读置信区间 假设策略全量上线,你有95%的把握会看到真实的指标收益在置信区间这个范围内。

(5)决策流程

picture.image

02 - 多次测试

简单的说: 传统的假设检验的设置是对需要检测的「假设」进行唯一测试,然后计算p值。 我们有 5%的概率观测到某一个并没有实际变化的“指标”显得有统计意义上的显著变化。

现实中,对于同一个实验,我们通过AB实验反复观察结果,或者反复针对同一个想法进行迭代。

出现更严重的问题就是:我们针对同一个实验,常常同时观测几十个或者上百个指标,导致出现多次实验的问题,大大增加了观测并不该有显著变化的指标有了统计意义变化的概率。

03 - 方差的计算

t 检测中我们需要对数据的方法进行计算。有时候我们的“方差”计算是有问题的,之前有说到的「随机单元」和「分析单元」不一致的情况下,计算比率型的指标,比如点击率。

我们来看一个场景:经常我们的「随机单元」是用户级别的,然而我们希望计算的是一些页面级别的点击率,然后看对照组和实验组之间的差别的,这个时候就存在「随机单元」和「分析单元」不一致的问题, 传统的计算点击率的「方差」公式可能存在问题。

04 - 样本比率偏差

在理想的状态下,对照组和实验组的流量是一半一半的,也就是50%的进入到对照组,50%的进入到实验组。 但是现实是残酷的,比如会出现50.27%的用户进入到对照组,另外49.73%的用户进入 到实验组。

这种情况正常吗?我们还信任这样的实验结果吗?

这样情况的排查和分析。简单的说,我们需要把这样的分流结果当作假设检验,看这样的结果是否异常。

05 - AA实验

AA实验往往作为检测平台稳定性和实验设置是否正确的重要手段。

也就是说,对AB系统本身进行测试,以确保系统在95% 的时间内正确识别出没有统计学意义上的显著差异。

06 - 对照组和实验组之间干涉

传统的实验我们假设对照组和实验组是完全隔绝的,然后实际中,完全的隔离是不可能的。

举个例子: 社招网络中,朋友与朋友的关系,我们按照传统的随机划分流量的方法,可能一个用户在对照 组,他的朋友在实验组,这样这个用户可能接触到对照组的一些信息,从而违背了假设检验的一系列基本假设。

07 - 指标的长期效果

有 一些“指标”的效果在A/B实验之后,可能会出现一些“恶化”,也就是说,效果可能没有之前那么明显了,甚至会出现效果完全消失。

如果遇到短期效果与长期效果可能出现不一致的情况,建议延长测试时间,观察长期效果。

但是长期存在一些问题:

(1)ssid跳变的情况,进行实验时候,通过随机分配的ssid,进行确定用户身份,但是用户可以在浏览器中修改localstorage中的ssid,保持一个稳定的样本几乎不可能,实验进行的越久,问题越严重。

(2)幸存者偏差的情况,过度关注幸存者,忽略没有幸存的而造成错误结论。

(3)选择偏差的情况,由于ssid跳变,只有登陆的用户组成,不具备代表性。 更多前端实践也可以关注「松宝写代码」,松宝写的不止是代码!

picture.image

点击 阅读原文

了解

火山引 擎A/B测试

产品介绍

火山引擎A/B测试

A/B测试,摆脱猜测,用科学的实验衡量决策收益,打造更好的产品,让业务的每一步都通往增长。 后台回复数字“8”了解产品

- End -

欢迎关注字节跳动数据平台官方公众号

31
0
0
0
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论