数据驱动概念的兴起,ABTest逐渐被各互联网大厂所应用。ABTest提供了科学的分流能力,能够实施监控实验效果数据,根据用户与产品的互动情况,支持各实验版本的流量的实时调整,保证实验结果数据可靠有效,助力业务决策。
接下来,我们来具体了解下什么是ABTest。
什么是ABTest?
为了验证一个新策略的效果,准备原策略A和新策略B两种方案。然后在用户群中根据一定的分流方式区分出一部分目标用户群,将这部分用户随机的分成两个组。将原策略A和新策略B分别展示给不同的用户组,一段时间后,结合统计方法分析数据,得到两种策略生效后指标的变化结果,并以此判断新策略B是否符合预期。这个过程就是ABTest(或称AB实验,也叫“对照实验”或“小流量随机实验”)。
图1-1大致描述了应用、场景、实验和流量之间的关系,为了更好的了解ABTest,我们先熟悉以下常见的名词。
1、应用
应用是对流量和系统的划分,比如商详页可以是一个应用,购物车也可以是一个应用。应用实现对流量的隔离,一个应用下可以包含多个场景。
图1-1 应用、场景、实验与流量关系图
2、场景
场景是指需要对比不同策略的业务场景,场景是进行ABTest的业务单元,一个场景下可以包含1个或多个的实验(测试中的场景通常至少包含2个实验)。流量在同一应用下的不同场景之间可以被复用。
3、实验
实验代表场景下的策略,由实验配置来描述,即一份实验配置对应一种业务策略。同一个场景下的实验相互之间是互斥的,场景的分流结果仅返回一个实验。
4、流量正交
每个独立实验为一层,层与层之间流量是正交的,一份流量穿越每层实验时,都会再次随机打散,且随机效果离散,这一过程叫正交,这样的实验叫正交实验。 正交实验能最大化的保证各层实验相互独立,确保各个实验不会相互影响。
图1-2 正交实验效果图
5、流量互斥
即为在同一层中拆分流量,且不论如何拆分,不同的流量是不重叠的。 互斥实验时在流量足够的情况下进行的分流策略,各个实验之间也不会相互影响。
图1-3 互斥实验效果图
6、分流器
实验中用到的一个重要组件,它的作用就是通过一定的规则将随机流动的数据分成多个版本,用户会进入分流器后会被自动分配到各个版本中,各个版本对应开发的新旧版本,从而进行稳定测试。
ABTest设计
了解了ABTest的概念之后,如何设计ABTest呢?ABTest设计简图如图2-1所示。