3分钟,看懂ABtest基本原理

简介: 今天跟大家分享的是万众期待的ABtest原理。其实ABtest的难度主要在开发上:开发新版本、进行测试、测试数据回传保存等等。在数据上,ABtest原理很简单,只要上一篇《3分钟,看懂假设检验》认真看了的话,能很轻松get哦!


一、ABtest的基本原理


简单来说,ABtest就是当我们在A、B两个方案之间犹豫不决的时候,直接把两个方案测试一把,看看哪个效果好,把测试结果作为参考依据。


因为是抽样测试,所以需要一些统计学方法,估计是否测试能代表整体情况,因此要引用统计学方法。


二、ABtest如何做


ABtest本质上是一个:两总体假设检验问题,要检验A、B两个版本是一样,还是有所区别。和之前介绍的单总体假设检验一样,两总体假设检验,也分步骤:


  • 第一步:明确要检验的A、B两个对象
  • 第二步:明确要检验的指标,是平均值,还是比例
  • 第三步:根据检验目的,给出原假设/备选假设
  • 第四步:根据要检验的指标,选择检验统计量(是不是头都看大了,其实没关系,大部分统计软件,包括excel,都有提供两样本均值的t检验,直接用即可)。


image.png


第五步:给定显著性水平,计算统计量,得出结果:支持原假设还是推翻原假设


image.png



这里的原理和假设检验是一模一样的,小伙伴们可简单理解成:检验的是两个方案的均值/比例,是否等于0。


是不是头又看大了,没关系,这些计算结果在统计软件中都可以直接给出。小伙伴们只要记得:P值小于0.05推翻原假设,就OK啦!


三、ABtest小例子


来看个具体例子:某电商平台,想提升用户客单价,运营部门做了两套方案:A、B激励方案,想小规模投放优惠给用户,测试下效果。已选出两组各12名用户,测试用户客单价如下图所示。此时可以用excel自带的两总体t检验功能来做


  • 第一步,先准备好A、B两个方案的数据


image.png


  • 第二步:明确,要检验的是平均值(检验两个方案的平均客单价是否一致)


  • 第三步:给出原假设。这里可以简单处理,提假设


原假设:方案A客单价均值=方案B客单价均值备选假设:两者不相等这样怼翻了原假设,就说明方案A和方案B有差异啦(记得把要怼翻的放原假设哦)


  • 第四步:代入t检验公式计算


image.png


第五步:解读结论


image.png


既然方案A与方案B不同,A的均值又高于B,那么就认为A更好啦,搞掂!这样就做完啦!


四、ABtest的注意事项


注意1:测试目标要清晰。在实际工作中,有些产品经理/运营的口头禅就是:“AB一下看看”。可如果目标都没确定的话,连如何写假设,如何找检验统计量都无法确定,更没办法定怎么测试了。


特别注意的是,在一次测试中,是很难兼容两个目标的。比如上边的小例子,如果想提升用户客单价,则要推的是贵的商品,要给的激励是满减型激励,让用户买贵一点。


如果想提升用户消费率,则要推的是便宜的商品,要给的激励是秒杀/超低价,让用户先买一笔再说。这两个目标是很难在一个方案A/B里兼容的。


所以小伙伴们,千万别信了产品经理/运营“你先测测看看”的鬼话。如果一开始目标都很混乱,那方案肯定也是四不像,测出来结果乱七八糟,也是很正常的。事前不想清楚,事后只能瞎着急。


注意2:测试方案合理性。有些测试方案本身设计得就不合理,不是拿相似的方案测试,而是明显一个方案很优惠,一个很鸡肋;一个设计很美观,一个设计很丑陋。这种情况下测了也白测。测试方案本身,要是苹果对苹果,西瓜对西瓜才行。


注意3:测试对象相似性。还以上边小例子举例。参与测试的用户群体,可能自身在客单价/消费力上就有差异。这种测试特征的差异,会直接导致:结果上的差异是由于客群特征,而非方案A/B造成的。这是最差的情况了,这样不但会导致测试无效,而且会误导业务判断。


四、Abtest的局限性



正是由于有以上三点要求,导致ABtest是有门槛的:


  • 要有能力设计相近版本方案


  • 要有足够开发支持,把方案落地


  • 要有足够的用户数据,区分用户特征


这些使得ABtest只有在数据充足、开发资源充足、业务方资源充足且没有私心的时候,才能完美落地。因此,虽然ABtest的原理很简单,但是具体应用,还需要结合实际情况做考虑。具体细节,后续再分享。


以上就是今天的分享,喜欢的话,记得转发、点赞、在看,支持一下小熊妹哦,谢谢大家。


相关文章
|
6月前
|
算法 Android开发
Android签名算法的原理
Android签名算法的原理
68 0
|
算法 C# C++
C++算法:多源最短路径的原理及实现
C++算法:多源最短路径的原理及实现
|
3月前
|
数据采集 自然语言处理 算法
Sekiro原理
这篇文章介绍了SEKIRO,一个多语言的、分布式的、与网络拓扑无关的服务发布平台,它支持通过编写不同语言的handler将功能发布到中心API市场,并通过RPC方式调用,特别适用于受限环境下的功能外放和服务提供。
57 0
|
6月前
|
前端开发
iStack详解(一)——iStack基本原理
iStack详解(一)——iStack基本原理
303 4
|
6月前
|
运维 监控 NoSQL
RedisShake的基本原理
RedisShake的基本原理
401 0
|
11月前
|
存储 Kubernetes API
k8s 自身原理 1
k8s 自身原理 1
|
数据采集 缓存 监控
代理的基本原理和多线程的基本原理
代理的基本原理和多线程的基本原理
|
存储 缓存 算法
四、深入剖析【离屏渲染】原理
深入剖析【离屏渲染】原理
511 0
四、深入剖析【离屏渲染】原理
|
缓存 Kubernetes 负载均衡
K8S原理剖析:网络模型原理剖析和实践
K8S原理剖析:网络模型原理剖析和实践
270 0
K8S原理剖析:网络模型原理剖析和实践
|
XML 前端开发 编译器
clingrootsys原理剖析(2):the pme
本文关键字:cern root,rint,root6 cling,clang cling
243 0
clingrootsys原理剖析(2):the pme