从实验设计和统计两方面,讲解如何做好AB测试?

AB测试的好处相信每个互联网从业者多少应该都知道,简单的说就是设置几组不同方案比较,通过上线后的数据判断哪个效果好。操作方式看着很简单,但想要做一个可靠有效的AB测试并不是这么简单,只有掌握一定的实验设计和统计学知识才可能完成一个有效的AB测试。接下来就从实验设计和统计这两方面讲解如何有效的做AB测试。

从实验设计和统计两方面,讲解如何做好AB测试?

在电商做用研经常会接到交互或设计关于想知道用户喜欢哪个的灵魂提问,面对这样的问题用研大部分时候通过访谈让用户表达偏好,可现实是用户说的和心里想并不一样,这就要求在访谈的时候不能只关注用户说喜欢哪个,要去深挖背后原因、该场景的心理模型、排除额外因素影响等等。因此,要回答这样一个问题往往至少要8个以上用户,对用户各种回答总结分析才能得到相对客观可用的结论,看似简单的提问在实际操作中成本其实很高。其实除了访谈外,我们还可以借助眼动仪、脑电等仪器和内隐实验测试了解用户真实的反应,不过这些总归是在成本和效率不能适应快节奏的要求。

AB测试能很好的解决这些问题,不仅“见效快,而且疗效好”。AB测试的好处相信每个互联网从业者多少应该都知道,简单的说就是设置几组不同方案比较,通过上线后的数据判断哪个效果好。操作方式看着很简单,但想要做一个可靠有效的AB测试并不是这么简单,只有掌握一定的实验设计和统计学知识才可能完成一个有效的AB测试。当然开发埋点等这些资源也很重要,但不是本文做讨论。接下来就从实验设计和统计这两方面讲解如何有效的做AB测试。

AB测试严格的说是一种相对简单的实验研究。实验研究是人为地创设一定的情境,从而操纵或控制变量变,基本目的在于解释变量之间的因果关系,即回答“为什么”的问题。实验研究有严格的研究设计,包括样本选择、研究的情境和方式、实验程序、设计方法等等,以保证实验结果的科学性。因此,对于AB测试要保证实验效果,同样需要对实验关键要素做好把控才能获得准确的结论。不过,AB测试毕竟是线上进行的快速验证实验,在有些地方是不可能与实验室研究相一致的,我们这里只关注实验的样本选择和设计方法。

样本确认

样本确认从准确性和数量两个方面入手,准确性是指针对实验目标群体的圈选,数量则是实验最低选择的样本数量。大多数情况下,我们在进行AB测试时是在某个具体场景下进行的,在群体圈选上也都是在该场景下随机选择一定样本给予不同处理,这种情况下样本的准确性基本可以不用考虑了,不会出现偏差。因此样本选择的重点就是在数量的控制上,落到线上的实验就是流量的分配上。我们的目标是希望尽快完成测试获得结论做决策,另外就是希望收益最大化,所以我们在流量分配时要有所权衡,区分以下几种情况:

不影响用户体验类:这类的实验一般只是在做感知层面的改动,不会造成严重的用户障碍,比如UI实验、文案类测验等,这类的测试可以均匀分配流量,可快速达到想要的效果;

不确定性强的实验:这类实验主要是在操作或流程上有较大变动,会因为与现有用户习惯存在差异可能导致较大的数据波动,比如产品新功能或新版本上线,这类实验一般需要小流量实验,在允许的时间范围内得到结论;

希望收益最大化的实验:这类实验大部分多数有较确定的方向或手段,只是无法确定哪个方向和手段的效果更好,比如运营活动等,这时应尽可能将效果最大化,一般分配较大流量,预留小部分做对照组评估ROI即可;

从实验设计和统计两方面,讲解如何做好AB测试?

根据实验的假设和预期,实验的用户量可以通过统计检验的公式去推算最小用户量是多少,根据要检验的变量水平不同使用不同的检验公式。下面这个公式是根据实验目标计算样本量的:

从实验设计和统计两方面,讲解如何做好AB测试?

其中,Zα/2 和 Zβ可以通过查表求得,根据检验样本所服从的分布不同去查找相应的表格,我们多数用的是T检验和卡方检验。S是样本标准差,即我们要做检验的那群样本的标准差。 (μx – μ0)是我们要检验的差值,其中μx可以理解为要测试的那群样本均值,μ0是测试目标要达到的均值。我们根据自己有的数据带入公式就能计算出所需样本量了。

其实我们可以通过一个专门的网站来计算所需要的样本量,这里又分为两种情况,一种是比率型的数据验证,一种是数值型的验证:比率型的数据,包括转化率、留存率、点击率等都是可以的。以转化率为例,某个页面的转化率为11.8%,预期改动后能提升0.2pp,网站计算出来的最小样本量是67.8W,如果页面每天的流量是20W,那至少要4天以上的时间才能验证实验结论。这里要注意预期提升效果的设定,为了保证实验能有结果,这里可以低估,不可高估,因为高估后的样本需求量会极具缩小,会严重影响实验结果。

从实验设计和统计两方面,讲解如何做好AB测试?

数值型的数据,比如人均时长、客单价等。数值型的会更复杂一些,需要用T检验,这里需要们多次尝试计算样本量,这里其实还是需要用到公式里面的值,需要将对比的平均数、标准差填到工具中,平均数我们分别填写当前的数据和预期的数据,图中我填写的左边是11秒,右面填写预期是12.5秒。标准差这里则都填写大盘的标准差,也就是公式里面的S。样本量上左边填写大盘的每日样本数,右边就需要进行尝试变动,直到下方显著变化时就是最小样本数。

从实验设计和统计两方面,讲解如何做好AB测试?

实验设计

确定样本量后,其实只是确定需要投入的时间,影响实验效果和结论的是我们如何去设置实验方案。这里我们从三个变量讲解如何设计好一个实验。

首先是因变量的确定。很多情况下做测试我们没有真正搞清楚要验证的目标变量是什么,只是提出一个设想就开始了测试,而拿到数据不知道怎么分析验证了。比如,某会场目标是分流,交互和设计侧也做了很多策略,但上线拿到数据后却不知如何下手分析了,不知道“分流”该怎么去评判。其实问题就出在没有事先将目标和数据变量关系理清楚。那怎么去解决这个问题呢?这里采用一个定义和一个模型来完成因变量的确定。

一个定义是“操作性定义”,它是指可以一个概念由测定他的程序来下定义。例如,上面提到的“分流”,测定方式是有多少流量进入到了二级页面,多少流量进入二级页面这个指标就是页面的点击率,点击率越高说明分流的效果就越好。那我们在设计实验和验证效果的时候就可以从提升点击率上入手。

一个模型是“GSM”模型,分别是目标(Goal)、信号(Signal)和测量(Metirc)。根据模型我们通过目标对应到用户或者产品会出现的信号,这个信号对应某些用户和产品的行为现象,而这个行为现象的出现就有一定的测量指标反应出来。还是用“分流”的例子,页面分流效果增加这个是目标,这个目标下用户会更多的去到其他分会场或者子页面,这个用户的行为现象就对应了每个坑位的点击会更多,相应的就是点击率的提高。

从实验设计和统计两方面,讲解如何做好AB测试?

确定完因变量,接着就是自变量操纵了。自变量简单来说就是咱们做ab测试中要改变的那个因素,可以是交互方式、页面设计、新功能等等。自变量在理解上没什么问题,但我们会遇到自变量操纵程度和数量上的错误。操纵程度是指有些变量变化幅度不够,不能引起因变量的改变。比如,通过改变字体大小去提升用户点击,如果大小变化不够是无法引起用户注意的,自然也不会有想要的实验结果。自变量数量是指同时改变几个影响变量,如通过字体颜色和利益点共同去提升点击,其中的字体颜色和利益点就是2个变量,而这两个变量怎么搭配就需要根据变量的水平数和实验方式去设计,不同的实验设计又对应着不同的统计处理方法,如果展开又可以是一个复杂的篇幅。因此关于自变量个数,我们最好就只设置一个变量,这样得到的结论会更有说服力。至于其他变量的控制,就是接下来要说的额外变量了。

最后要讲的额外变量的控制,这个往往是容易被忽视但也是最难的部分。我们在做AB测试的时候都有意识的把出了自变量以外的影响因素给控制好,可有时等到数据收回来才发现有些额外的因素影响或者有些因素根本没能力去控制。这个时候我们要掌握常用的几种额外变量处理手段,以达到纯粹的测试目标。

第一种是“消除法”,即把额外变量排除出去。例如,我们实验测试遇到大促,而大促对页面点击转化都会有很大影响,这个时候就要考虑避开,将大促影响排除。

第二种是“恒定法”,即使额外变量在实验中保持恒定不变。例如,我们打算对比不同的楼层查看方式对点击转化的影响,其中坑位数量是一个额外的影响因素,这个是时候我们就要保证用户在不同组上看到的商品坑位数是一样的,即保持额外因素的恒定。

第三种是“统计控制法”,就通过一定的统计学手段排除额外变量的干扰。比如在大促期间做测试,必然会因为每年大促投入资源影响对比,这个时候可以通过回归或者协方差分析的方法排除一下每年大促增长对实验页面数据影响。当然除了以上3种外还有一些实验设计的方式去排除额外变量影响,这个方法就是配合自变量提前做好实验设计即可。

最后来总结一下,做好一个AB测试主要从2方面入手:一是样本确认,确定测试最小的样本数,保证实验验证效果;二是实验设计,分别从因变量的确定、自变量的操控和额外变量的控制做好设计。以上这些就是如何做好AB测试前期设计的要点,后面我们还要对不同设计做数据分析和效果检验,要知道如何设计多变量的方案,如何选择合适的统计分析方法,如何计算测试ROI等问题,如果这篇文章大家反馈比较多的话,下期再继续分享实验设计和数据分析方法的问题。

业界动态

远智教育APP的设计语言

2020-9-24 16:59:14

业界动态

一个话痨:为什么会在你的社区沉默寡言

2020-9-24 17:23:24

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索