A/B Test︱一轮完美的A/B Test 需要具备哪些要素(一)

您所在的位置:网站首页 显著性分析中a和ab A/B Test︱一轮完美的A/B Test 需要具备哪些要素(一)

A/B Test︱一轮完美的A/B Test 需要具备哪些要素(一)

2024-06-28 22:27| 来源: 网络整理| 查看: 265

文章目录1 A/B Test 实验的业务意义2 相关概念理解2.0 AB实验2.1 AA分组 —— 更好筛选样本2.2 混杂因素2.3 根据实验种类分类2.4 互斥实验2.5 流量正交&正交实验2.6 分层原则2.7 灰度发布2.8 留存率2.9 统计 假设检验2.10 p-value2.11 校验灵敏度MDE3 AB test完整流程3.1 完美的 ABTest的流程是什么?3.2 核心指标/方案确认与假设检验3.2.1 假设检验3.2.2 观测指标3.3 样本量选择3.3.1 样本量计算3.3.2 样本量选择准则3.4 流量切割/分流3.4.1 辛普森悖论3.4.2 分流与分层3.5 如何确定实验需要多少天?3.6 测试效果显著性检验3.6.1 显著性假设3.6.2 Z检验3.6.3 如果假设不显著3.6.4 假设检验计算工具3.6.5 一些不显著的现象与解决4 A/B TEST 合理的分组4.1 CR - 完全随机分组**CR(Complete Randomization)完全随机分组:**4.3.2 RR(Rerandomization)4.3 自适应分组5 一些厂子工程化实践5.1 58招聘推荐系统 AB Test5.2 美团 A/B平台5.3 AB实验平台在贝壳找房的设计与实践5.4 火山引擎 a/b 测试平台5.5 伴鱼技术:从 0 到 1 搭建技术中台之 A / B Testing 平台实践参考文献:1 A/B Test 实验的业务意义

文章[2] 策略的改变,不是由我们随便“拍脑袋”得出,而是一种建立在数据基础上的思维方式,数据反馈会告诉我们做的好不好,哪里有问题,以及衡量可以带来多少确定性的增长。

2 相关概念理解2.0 AB实验

为了验证一个新策略的效果,准备原策略A和新策略B两种方案。

随后在总体用户中取出一小部分,将这部分用户完全随机地分在两个组中,使两组用户在统计角度无差别。 将原策略A和新策略B分别展示给不同的用户组,一段时间后,结合统计方法分析数据,得到两种策略生效后指标的变化结果,并以此判断新策略B是否符合预期。

上述过程即A/B实验,亦被称为“对照实验”或“小流量随机实验”。 最常见的一种A/B Test方式(可见文章[7]):

在这里插入图片描述在这里插入图片描述

其应用场景包含:

图片图片2.1 AA分组 —— 更好筛选样本

文章[2]提及,如何更好地筛选样本 首先看如何解决第一个问题:

避免因流量分配不平衡,A/B组本身差异过大造成对实验结果的误判。

为解决该问题,我们引入了AA分组:

基于实验者圈定的流量,通过AA分组将该流量分为无显著性差异的实验组和对照组。

我们这样定义无显著性差异这一约束:

首先,实验者选取的用于刻画实验流量的指标,在实验组和对照组之间无统计上的显著性(即上节所描述的基于均值的假设检验);

其次,在所分出的实验组和对照组之间,这些指标的差值最小,即一个寻找最优解的过程。

从实验者的实验流程看,在实验前,圈定进入该实验的流量,然后确定用于刻画实验流量的指标,最后调用AA分组,为其将流量分成合理的实验组和对照组。

图片图片2.2 混杂因素

文章[4]有提及:

混杂因素就是研究对象的个体差异,它们不是你试图进行比较的因素,但却最终导致分析结果的敏感度变差,比如不同城市的人,不同年龄段的人,性别……,进行实验的时候要尽量避免混杂因素对结果的影响

2.3 根据实验种类分类

根据实验种类分类

水平实验:类似于Overlapping Layer中的实验,是属于同个“层”的实验,实验是互斥的,在同一“层”上实验可以理解为是同一种实验,例如:关键词“层”表示这一层的实验都是关键词相关的,该层上存在实验H1和H2,那么流量绝对不会同时命中H1和H2。垂直实验:类似于Non-overlapping Layer中的实验,分布于不同“层”之间,实验是不互斥的,例如在关键词“层”和CTR“层”上在相同的分桶上配置了实验V1和V2,那么流量可以同时命中V1和V2。条件实验:表示进入某“层”的实验需要满足某些条件,水平实验和垂直实验都可以是条件实验。

根据流量类别分类

这种分类主要了为了用户体验,使平台在操作上更加的简单、易用:

普通实验:最基本的实验,根据流量类别进行配置。引用实验:流量分类是整个配置中心基础,但实际上存在一些实验是跨流量了,而引用实验则可以配置在不同的流量种类中。全局实验:可以理解为特殊的引用实验,全局实验在所有流量上都生效。 演示一个包含水平、垂直实验的案例:在这里插入图片描述在这里插入图片描述2.4 互斥实验

互斥组,也称互斥层、实验层。“实验层”技术是为了让多个实验能够并行不相互干扰,且都获得足够的流量而研发的流量分层技术。

举个例子,假如我现在有4个实验要进行,每一个实验要取用30%的流量才能够得出可信的实验结果。此时为了同时运行这4个实验就需要4*30%=120%的流量,这意味着100%的流量不够同时分配给这4个实验。那么此时我们只能选择给实验排序,让几个实验先后完成。但这会造成实验效率低下。实验层技术就可以完美解决这个问题。

我们把总体流量“复制”无数遍,形成无数个流量层,让总体流量可以被无数次复用,从而提高实验效率。各层之间的流量是正交的,你可以简单理解为:在流量层选择正确的前提下,流量经过科学的分配,可以保证各实验的结果不会受到其他层实验的干扰。

互斥实验:互斥组中的所有实验都不会共享用户,如果一个用户/设备命中了实验A,就不会命中该互斥组中的其他实验。

举例,你要同时按钮颜色和按钮形状的实验,就需要将两个实验加入到一个互斥组列表。

2.5 流量正交&正交实验

可见文章[11],本篇火山引擎的文档,描述的蛮清晰。

互斥组=互斥层=实验层

每个独立实验为一层,一份流量穿越每层实验时,都会随机打散再重组,保证每层流量数量相同。

举个例子。假设我现在有2个实验。

实验A(实验组标记为A1,对照组标记为A2)分布于实验层1,取用该层100%的流量; 实验B(实验组标记为B1,对照组标记为B2)分布于实验层2,也取用该层100%的流量。 (要注意,实验层1和实验层2实际上是同一批用户,实验层2只是复用了实验层1的流量)

如果把A1组的流量分成2半,一份放进B1组,一份放进B2组; 再把A2组的流量也分成2半,一份放进B1组,一份放进B2组。

那么两个实验对于流量的调用就会如下图所示。

此时实验A和实验B之间,就形成了流量“正交”。

图片图片

流量正交有什么意义呢?

我们可以发现,因为A1组的一半流量在B1中,另一半流量在B2中,因此即使A1的策略会对实验B产生影响,那么这种影响也均匀的分布在了实验B的两个组之中;

在这种情况下,如果B1组的指标上涨了,那么就可以排除B1是受A1影响才形成上涨。这就是流量正交存在的意义。

对与分层实验有个很重要的点就是每一层用完的流量进入下一层时,一定均匀的重新分配。

整个流量有一个分散,合并,再分散的过程,保证第二层中的每个实验分配的流量雨露均沾,这就是所谓的流量正交。

图片图片

文章[8]中的另外一个例子,来表达流量正交:

图片图片2.6 分层原则

同一层存在多个互斥实验,层与层之间,流量是正交的

也就是说流量在穿越每一层实验时候,都会被再次随机打散,经过上层实验一的流量可能会经过下层的任何一个实 验,可能是实验一,也可能是实验二。如图:

图片图片2.7 灰度发布

是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。

灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。(百度百科)

灰度实现思路:

当某个实验效果非常好时,可以动态调整该实验的流量占比,从而迅速得到收益,并且在大流量上验证该实验的有效性。一旦确认该实验效果非常良好,便可以在全流量上线。

灰度发布的应用场景:

比如开发完成一个新功能,但线上用户量很大,不确定全量发布后功能效果或者反馈如何,担心会存在潜在的问题。

此时,您可以使用灰度发布,逐步发布1%、5%、30%、50%、100%流量,在增量发布的过程中根据用户反馈来进行实时调整流量大小,或者回滚。

比如已通过A/B实验决策出优胜版本,可以直接将优胜版本全量固化至Feature,即通过Feature的方式立即实现全量发布。

比如您想在十一假期期间针对线上用户做一个活动,需要提前完成准备工作,那么您可以设置定时发布,如每天发布10%流量,共发布7天。

2.8 留存率

实验报告中的留存率指的是“按进组时间拆分的留存率”,是根据【用户首次进实验组的时间】作为起始,用户回到App作为回访,计算用户n日留存。 统计方式如下:

图片图片

举个例子说明:

第一天实验组A的用户数为:10000,第一天base_user为10000。

第二天实验组A的用户数为:10400,其中9200用户是第一天便已经在A中的用户,1200用户为当天新进组用户;第二天base_user为1200,第一天的次日留存为9200/10000=92%。

第三天实验组A的用户数为:10200,其中8000用户为第一天便已经在A中的用户,1100用户为第二天进入A中的用户,1100为第三天进入A的用户;第三天的base_user为1100, 第一天的2日留存为8000/10000=80%, 第二天的次日留存为1100/1200=91.67%。

然后分别把每个进入实验日期的指标用base_user进行加权平均,得到次日留存率、第2天留存率等。

当日"已进组用户" 表示当日曝光进组的总用户数,包括之前已进组的老用户和初次到访的"新进组用户"。

2.9 统计 假设检验

文章[11] 涉及统计假设检验的一些解释:

第一类错误&显著性水平(α) 第一类错误,指原假设正确(真),但是我们假设检验的结论却显示原假设错误。这一过程中我们拒绝了正确的原假设,所以第一类错误是“弃真”。 第一类错误在实际操作中表现为:实验结论显示我的新策略有用,但实际上我的新策略没有用。 在统计学中,我们用显著性水平(α)来描述实验者犯第一类错误的概率。 当某个实验组的指标是显著的,说明这个实验结果大概率是可信的。 这个概率是95%,也就是说,系统有95%的信心确认这个实验结果是准确的。

显著性水平存在的意义是什么?

一个按钮从蓝色改成红色,一个窗口从左边移到右边,到底用户体验会变好还是变差呢?

我们并不确定,因此我们试图使用A/B实验的办法,帮助我们转化这种“不确定”——观察小流量实验中新旧策略的表现,从而确定新旧策略的优劣。

但是,这样就能完全消除不确定性了吗?答案是不能,因为存在抽样误差。

举个例子,假设瑞士人均收入为中国的十倍,那么随机抽三个瑞士人和三个中国人,能保证样本里这三个瑞士人的平均收入是三个中国人的十倍吗?万一这三个中国人是马云,王健林和一个小学生呢?

反过来想,假设在1%的流量下,组A(按钮呈红色)比组B(按钮呈现蓝色)购买率高,将流量扩大至100%,能保证策略A的表现仍旧比策略B出色吗?显然,我们还是不确定。

抽样误差带来的不确定性,使得我们在做小流量实验时,永远没法保证结论是完全正确的。

幸运的是,对于抽样的不确定性,在统计学中,我们有一套方法来量化这种不确定性到底有多大,这便是显著性水平(α)存在的意义。

置信水平/置信度/置信系数

置信水平(也称置信度、置信系数、统计显著性),指实验组与对照组之间存在真正性能差异的概率,实验组和对照组之间衡量目标(即配置的指标)的差异不是因为随机而引起的概率。

置信水平使我们能够理解结果什么时候是正确的,对于大多数企业而言,一般来说,置信水平高于95%都可以理解为实验结果是正确的。因此,默认情况下,「A/B 测试」产品将置信水平参数值设置为95%。

在A/B实验中,由于我们只能抽取流量做小样本实验。样本流量的分布与总体流量不会完全一致,这就导致没有一个实验结果可以100%准确——即使数据涨了,也可能仅仅由抽样误差造成,跟我们采取的策略无关。在统计学中,置信度的存在就是为了描述实验结果的可信度。

第二类错误( β )&统计功效(statistics power):

在统计学中,统计功效 = 1 - 第二类错误的概率,统计功效在现实中表现为:我的新策略是有效的,我有多大概率在实验中检测出来。

中心极限定理

显著性水平的理论依据便是中心极限定理。我们可以量化抽样误差的根基在于中心极限定理的存在。

什么是中心极限定理?

由于存在抽样误差,我们每次实验所得到的指标结果,都可能与我们期望得到的真正结果有误差。假设我们从总体中抽取样本,计算其指标的均值,每一次计算,样本均值都会受抽样误差影响。

假如我们做无数多次实验,那么理论上,这无数多个样本均值中,总应该有一个是“真的”,不受抽样误差影响的,这个值在统计学里被称为“真值”。

中心极限定理定告诉我们,如果我们从总体流量里不断抽取样本,做无数次小流量实验,这无数次抽样所观测到的均值,近似呈现正态分布(就是下图这样的分布)。

这个分布以真值为中心,均值越接近真值,出现的概率就越大;反之均值越偏离真值,出现的概率就越小。

图片图片2.10 p-value

即概率,反映某一事件发生的可能性大小,主要在 abest 中说明实验的提升的显著性,并且往往与假设检验相挂钩。

统计学根据显著性检验方法所得到的 P 值,一般以 P < 0.05 为有统计学差异, P



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3