什么?测试猿拯救过数以千计的生命?

什么是 A/B 测试

在自然界长久以来就存在 A/B 测试的活动,事实上,物种的演化本质上就是一种 A/B 测试的过程:

生物在繁衍过程中,会发生基因突变,从而导致后代的性状发生各种不同的变化,严酷的自然选择会把适应环境变化的性状和其对应的基因保留下来。

保留下来的基因,又会发生基因突变,如此往复循环,经过数十亿年的 A/B 测试,自然界才进化出现在这样丰富多才的生物世界。

在人类社会的活动中有意识的引入 A/B 测试,是从疾病治疗的研究开始的

什么?测试猿拯救过数以千计的生命?


15 世纪末,人类开启了大航海的伟大时代。然而航海中容易出现坏血病,发病以后,病人症状会从牙龈出血发展到全身溃烂而死,非常严重。现在我们都知道,得坏血病是因为水手们长期漂流在海上,没有新鲜蔬菜水果,缺乏维生素 C 导致的,但当时不知道,只好胡乱实验,有喝稀硫酸的,有喝海水的,但基本都没用,有时碰巧好了,但闹不清究竟是喝什么好的。几百年过去,一直找不到真正合适的药。

到了 1747 年,英国军舰上有一位医生姆斯 · 林德,灵机一动,想出一个 “ A/B 测试 的方法,把 12 位生病的海员分成 6 组,每组两人,分别用不同的验方,比如第一组吃橘子、柠檬,第二组喝稀硫酸,第三组喝海水 …… 结果六天之后奇迹发生了,第一组吃橘子、柠檬的好了,其他组都没好,反复试都是这个结果,于是真正对症的药找到了,就是吃水果。

虽然因为当时科学还不够发达,背后的病因(缺乏维生素 C)并不知道,但确切有效的疗法和药有了,这就够了。这就是 “ A/B 测试 的神力。

林德发明的科学方法几经周折,直到林德去世后才最终被承认,坏血病从此在英国海军中被消灭,英国也因此成为强大的日不落帝国 ,人们彻底信服了林德的 “ A/B 测试

什么?测试猿拯救过数以千计的生命?


后来,临床医学上的 A/B 测试又经过了很多的实践和迭代,美国耶鲁大学的汤姆教授在 1938 年正式把 A/B 测试系统化,理论化,学科化,成为现代 A/B 测试的开端。

现在 A/B 测试已经成为医学制药行业的标准操作流程,在美国,没有经过 A/B 测试的新药是不能上市的。

在互联网研发实践中的 A/B 测试是指:为了验证一个新的产品交互设计、产品功能或者策略、算法的效果,在同一时间段,给多组用户(一般叫做对照组和实验组,用户分组方法统计上随机,使这多组用户从统计角度是无差别的)分别展示优化前(对照组)/ 优化后(实验组,可以有多组)的产品交互设计、产品功能或者策略、算法,并通过数据分析,判断优化前后的产品交互设计、产品功能或者策略、算法在一个或者多个评估指标上是否符合预期的一种实验方法。

怎么做 A/B 测试

什么?测试猿拯救过数以千计的生命?


从传统医学 A/B 测试中汲取经验的互联网 A/B 测试,已经经历了 20 年左右的发展,有了一套成熟的实验操作步骤。下面借助上面的流程图介绍一下一般的 A/B 测试操作步骤:首先,A/B 测试是服务于特定业务目标的,这些业务目标必须有明确的指标可以进行衡量。互联网产品通常关注的是转化率指标(具体可以是点击转化、下载转化、注册转化、下单转化等)。

确定目标及衡量指标以后,我们需要通过各种手段了解该目标的影响因素,这些手段包括不限于:漏斗分析、热图分析、深入的用户访谈、和竟对的数据对比、设计方案对比、头脑风暴等。除此之外,我们还可以充分利用前人对消费者心理的研究成果,比如霍布森选择效应和罗森塔尔效应。

还有 Wider Funnel 提出的LIFT模型,可以帮助我们发现页面中存在转化障碍的瓶颈,以及从价值主张,清晰度,相关性、注意力分散、紧迫性、焦虑感六个维度来体系化地对障碍进行梳理和攻克。通过这个步骤可以提出一些对目标改进有帮助的解决方案,这时候我们就是在建立假设:使用我们提出的新的解决方案,可以优化目标指标值。

有了试验的假设,下一步就是开始进行试验测试方案的设计。根据我们要优化的页面的历史数据,可以得到希望做试验的页面的原始版本指标值,每日UV数,再根据我们对试验结果的初步预测,也就是各个试验版本相对原始版本的能提升的比例,可以得到实验大致需要分配多少流量,试验的周期多长,才能达到一个合理的统计功效,以较大的概率完成试验效果的收敛。

在这个过程中,可能还需要考虑试验面向的群体是否要做一些特殊的限定,比如,有些业务需要针对新用户进行试验,这时候就需要在试验设置中进行限定,同时对前述判断统计功效的基础数据做一些修正,得到新的试验方案设计。

试验方案设计好了以后,最好让实验按照设计跑起来,到了设计的时间点再去观察实验数据,而不是提前观察。如果需要在实验中间不断观察实验数据做出是否终止实验的决定,则需要根据观察频率对试验效果数据进行一些调整,以使试验数据修正到符合预期的实验置信度。准确理解这个事情需要有比较深入的数学理论基础,如果有必要可以另开主题分享,这里不做深入分析。

到了试验方案设定的结束时间以后,试验停止,并计算试验的效果数据,这里面一般会统计设定置信度下(一般是 95 %)的置信区间,实验的显著性指标 p-value,统计功效等,通过这些指标来判定试验的效果是否符合预期。

A/B 测试容易遇到哪些坑

下面我们总结一下 A/B 测试容易遇到的一些坑。


文章内容为截选,

完整内容请扫描下方二维码

什么?测试猿拯救过数以千计的生命?

别打我,昨天背心都让程序员给打没了什么?测试猿拯救过数以千计的生命?

不多说了,都在码里(⊙_⊙)




什么?测试猿拯救过数以千计的生命?