什么是 A/B 测试?

关注者
762
被浏览
73575

16 个回答

做为一家提供以A/B测试方法论为基础的Saas创业公司,尽可能详细介绍一下这个事情,希望对大家有帮助:

----------------什么是A/B测试?----------------------
这个摘自:Online Experimentation at Microsoft
Controlled experiments, also called randomized experiments and A/B tests, have had a profound influence on multiple fields, including medicine, agriculture, manufacturing, and advertising. Through randomization and proper design, experiments allow establishing causality scientifically, which is why they are the gold standard in drug tests. In software development, multiple techniques are used to define product requirements; controlled experiments provide a valuable way to assess the impact of new features on customer behavior. At Microsoft, we have built the capability for running controlled experiments on web sites and services, thus enabling a more scientific approach to evaluating ideas at different stages of the planning process. In our previous papers, we did not have good examples of controlled experiments at Microsoft; now we do! The humbling results we share bring to question whether a-priori prioritization is as good as most people believe it is. The Experimentation Platform (ExP) was built to accelerate innovation through trustworthy experimentation. Along the way, we had to tackle both technical and cultural challenges and we provided software developers, program managers, and designers the benefit of an unbiased ear to listen to their customers and make data-driven decisions.

对该资料有兴趣可以找我要:微信magicray1217


翻译过来的意思:(偷懒了,谷歌翻译,略作了修改)


对照实验,也叫随机实验和A /B测试,曾在多个领域产生深远的影响,其中包括医药,农业,制造业和广告。
通过随机化和适当的实验设计,实验构建了科学的因果关系,这就是为什么对照实验(A/B测试)是药物测试的最高标准。
在软件开发中,产品需求通过多种技术手段来实现; A/B测试实验提供了一个有价值的方式来评估新功能对客户行为的影响。
在微软,我们已经实现了运行网站和服务的A/B测试实验能力,从而可以用更科学方法来评估规划过程中不同阶段的想法价值。 在以前的文章中,我们并没有很好的A/B测试实验的例子; 现在我们有了! 我们用震撼人心的效果,来说明先验优先级是否一样能获得大家的信任。
该实验平台(EXP)始建通过值得信赖的实验来加速创新。一路上,我们必须解决技术和文化的挑战,我们给软件开发人员、项目经理和设计师一副“公正的耳朵”,帮助他们听取客户真实的诉求以及用数据驱动的决策。

A/B测试其实是一种“先验”的实验体系,属于预测型结论,与“后验”的归纳性结论差别巨大。A/B测试的目的在于通过科学的实验设计、采样样本代表性、流量分割与小流量测试等方式来获得具有代表性的实验结论,并确信该结论在推广到全部流量可信。这里面又涉及到数据化驱动决策与确定性优化提升等等延伸概念,接下来我详细解释。
(说句题外话,大量的大数据公司都在尝试通过“后验”结论进行未来行为预测,个人觉得然并卵,主要是因为数据不全、脏数据、随机事件、建模人为因素等等影响,方向无比正确,现实无比残酷)

----------------A/B测试的应用场景----------------------

A/B测试这种方法论的应用非常广泛,这里讨论在Web产品、移动产品、数字广告优化领域的应用。应用场景由小到大可以可以分为:
  • 元素/控件层面
  • 功能层面
  • 产品层面
  • 公司层面


------元素/控件层面--------


先用一个例子来说明什么是元素/控件层面A/B测试:

图做的很难看,用来说明问题:
当产品已经相对稳定,已经上线并且有一定量的用户在使用时,
产品经理会面临一个压力:任何的更新或者优化是否一定比原来更好?
比如上面这个界面的变化:背景图片变了、模特换了、CTA按钮的颜色、大小、文案都变了
这么多变化,怎么来衡量 任何的更新或者优化是否一定比原来更好?这个问题
首先,这个问题可以进一步分解为:
  • “好”怎么定义
"好"的定义就很复杂,不同的元素/控件的目的不一样,就拿“购买”这个CAT按钮来说,它的目的应该是“点击”,也就是说“点击次数”是衡量它好与不好的一个指标,当然还有其它如“点击率”、“首次点击次数”等等。
不同的产品侧重不同,为了简单点说明白,这里假定“点击次数”是衡量这个优化的唯一指标

  • “好”怎么衡量
接下来就到了难点了,怎么衡量?
再回过来看看微软的描述:
At Microsoft, we have built the capability for running controlled experiments on web sites and services, thus enabling a more scientific approach to evaluating ideas at different stages of the planning process.在微软,我们已经实现了运行网站和服务的A/B测试实验能力,从而可以用更科学方法来评估规划过程中不同阶段的想法价值。
这里涉及到“科学的方法”涉及到很多统计学的概念,我就不一一解释了,有兴趣可以看看,我用这个栗子来描述这几个词到底是个啥:
假定这是个电商的APP,产品有100万用户
  • 样本空间、样本特征、实验流量
样本空间:100万用户

样本特征:这100万用户有各式各样的特点(性别、地域、手机品牌与型号、甚至是不是爱点按钮等行为。。)

实验流量:100万用户成为100%的流量;假定将这100万用户根据样本特征与相似性规则分为100组,那每组就是1万人,这1万人就是1%的流量
  • 采样、代表性误差、聚类
相似性采样:在A/B测试的实验中,需要保证小流量的实验具备代表性,也就是说1%的流量做出来的实验结果,可以推广到100%的用户,为了保证这一点,需要保证1%的流量的样本特征与100%流量的样本特征具备相似性。(说个最简单的逻辑:假定把所有小米手机用户均匀的分到这100组中,那第一组的所有小米手机用户的特征与第2组-第100组的所有小米手机用户具备相似性)

代表性误差:代表性误差,又称抽样误差。主要是指在用样本数据向总体进行推断时所产生的随机误差。从理论上讲,这种误差是不可避免的,但是它是可以计算并且加以控制的。(继续小米。。尽管把小米用户均匀的分成了100组,但是不能完全保证每个组里的小米用户的数量、性别、地域等特征完全一样,这就带来了实验误差风险)

聚类:物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类,也就是在分配小米用户的过程中,需要按照实验目的的不同把特征相似性高的用户认为是一类用户,比如定义100次点击为高频点击,可能在某些情况下也会认为99次点击的用户跟100次点击的用户是一类用户

  • 置信度与置信区间
统计学中,一个概率样本的置信区间(Confidence interval)是对这个样本的某个总体参数区间估计。置信区间展现的是这个参数的真实值有一定概率落在测量结果的周围的程度。置信区间给出的是被测量参数的测量值的可信程度,即前面所要求的“一定概率”。这个概率被称为置信水平
置信度:简单来将表示可信程度,一般来说95%的置信度就很好了,一些及其严苛的A/B测试实验才会到99%的置信度。差别在于,越高的置信度得出结论的实验时间越长、流量要求越高

置信区间:从前面的概念中也讲了,1%的流量尽管具备了代表性,但是跟100%的流量还是有差异的嘛,所以实验结果的评判要有一定的前提的,置信度就是这个前提,置信区间表示在这个置信度的前提下,实验结果很可能会落在一个区间内,比如下图,95%的置信度的前提下,置信区间为[-2.3%, +17.4%],可以解读为这个A/B测试的实验既有可能使“点击次数”降低2.3%,又有可能提升17.4%。说明这个实验结果还不稳定,可能是试验时间短或者是流量不够。


理解完这些,我们继续回来说“好”怎么衡量:
实际上,你需要一整套工具。。。。知道为啥我们创业做这个了吧,实在有点复杂。
有兴趣可以看看我们网站appadhoc.com或者直接加我微信:magicray1217
这里我就不安利了。。

基本的衡量逻辑如下图:(看起来很复杂,其实真正使用的时候比较简单)
别人那里借的图,罪过罪过~


是时候讲讲数据化驱动决策与确定性提升是什么意思了:
数据化驱动决策:A/B测试是典型的靠谱数据化驱动决策,拿这个栗子来说:无论是绿按钮还是橙色按钮只有用户真正使用了才能判断到底哪个更好,所以可以先用A/B测试的方式,让比如1%或者5%的用户进行实验,让用户用实际的行为来告诉你哪个好。假设结论是下图,那就很不幸,你原来绿色的版本更好。因为这1%或者5%的用户通过“点击次数”这个指标告诉你,他们不喜欢橙色的设计。这就是数据化驱动决策,不用一屋子人你拍桌子我瞪眼的争辩到底那个设计好,让真实的用户跟数据告诉你到底哪个更好。

确定性提升:这就更好解释了,有了这么个工具,每次只有效果好了才会上线,也就意味着每次优化都能比以前更好,无论是产品经理的自信心、用户的体验还是投资人那里,咱都可以理直气壮地说,我的每次更新,都比以前更好了。。。

到了我最喜欢的真实栗子的时间了:
Airbnb的产品方法论
知乎日报原文:都说在做某界的 Airbnb,Airbnb 到底做了什么

灰度发布 和 A/B测试:重要页面的修改和流程上的调优,通过灰度发布到1%或者5%的用户,看其实际对用户的数据影响(访问时间增加、留存提高、下单率提高等),决定此修改到底是100%发布还是被砍掉

Google:
每个月从上百个A/B测试中找到十几个有效方案,月营收提升2%左右,10亿美元的规模
广告位左移一个像素带来X%的增收,左移两个像素带来Y%的亏损
任何产品改动需要A/B测试才能上线

Facebook:
6个月内所有版本完全线上灰度发布,通过不断进行用户流量分割的方式进行实验,获得无Bug口碑

写了这么多,才第一条。。我真是话痨=。=b

------功能层面--------

A/B测试这么伟大的方法论只用来测界面(当然真有效啊!!!),有点太小瞧它了,无论是推荐算法还是定价策略,用这个方法论,轻松搞定啊!

为了简单理解,说个定价策略,如上图。
一个价格包含这个几个因素:
1.价格区间:
用我最朴素的理解,人类是喜欢折扣的不理性动物:人们明显更乐意花45折买一个价值900块钱的东西而不是花67折买一个价值600块的东西,尽管东西一样,最终价格一样都是400块。
所以你看电商广告都是打折配合几个垫背的低价来卖。。。

2.价格精度:
以前去超市经常能发现2.99元或者8.99,现在都变成2.32或者4.23,这是弄啥嘞?
这里面太多心理学与营销的东西就不说了,在某些情况下,即使几分钱的价格变化对用户转化的影响是巨大的,比如一个东西原来卖400元,那现在改成399还是401可能对总营收的影响并不巨大,但是配合用户转化率的变化,可能营收的差异就天差地别了。

3.价格周期:
伴随着产品迭代、促销等等因素影响,什么时候降价是对自己最有利的策略,完全可以A/B测试来解决


------产品层面--------
A/B测试在产品层面的应用主要是通过“灰度发布”来实现的。
就目前移动端的产品来说,iOS的应用商店审核期是个大大大坑,任何BUG打补丁还得再来一遍,也就意味着补丁的审核期内用户带着BUG使用,这个太致命了,用户的获取成本高的吓人,因为这个流失太不值得了,基于A/B测试的灰度发布更重要的不是优化,而是保护性发布,先通过小流量的实际用户测试,有BUG或者新版本体验不好,可以立即回滚到老版本,简单有效。

------公司层面--------
A/B测试其实也是谷歌管理方法论,具体文章请参考:
Google 的产品策略:两边下注
可以这么说,Google 的一整个产品线就是一系列可观的 A/B 测试。

大家应该都听说过 “不要把所有鸡蛋都放到一个篮子上。” 这句话的意思是说永远都要有 B 计划,它赞美的是多样化的优点。看看 Google 貌似混乱和令人困惑的产品线你会发现,其实这家公司正谨守着这一价值观。Google 往往喜欢针对同一客户群推出多项竞争产品。这样的话,如果一个产品失败了,也许另一个产品能够补上。


最极端的例子是 Google 的即时通信解决方案。Android 上一度曾出现过 4 款不同的产品:Google Talk、Google+ Messenger、Messaging (Android 的短信应用)以及 Google Voice。Google Hangouts 最终胜出,把其他的都合并进了一个平台。


Google 现在终于有了一个统一的即时通信平台了,这算是不幸中的万幸了吧。且慢,据印度经济时报报道,Google 已经在开发第 5 款产品了。据称这款即时通信产品将不需要 Google 账号,其目标针对的是 Whatsapp。Google 的 KitKat(Android 4.4)把原来的 SMS 应用撤掉,用 Hangout 来代替发短信,而到了 Lollipop 又添加回一个 SMS 客户端,所以很快我们又将回到有 3 个短信客户端的情况了。更新后一体版的 Hangout 由给 Android 增加了第二个拨号应用,这样现在除了 KitKat 引入的 Google Dialer 以外还有一个新的能拨打 VOIP 电话的 Hangout Dialer。现在用户要求统一拨号应用的呼声也开始高涨起来。


不过 Google 平时就是这样折腾的。其行动表明,自己并不相信一个问题只有一种解决方案,哪怕这样会让用户的日子好过得多。因为它需要应对外部各个领域的竞争对手,而且 Google 似乎也认为没理由竞争就不能出自内部—让自己的产品自相残杀。



Google Dialer 与 Hangouts Dialer


其效果就是 Google 几乎所有的产品目录似乎都要进行大型的 A/B 测试。正如 Google 的搜索引擎不断从 Web 上收集数据加以学习和改进一样,Google 公司本身也是这么运作的。它给单个问题提供了多个解决方案,希望能从中决出优胜者。

这种多产品策略对于 Google 的长期健康来说是好的,但它也浪费了许多资源。到处都是重复的工作,但 Google 的 Adsense 和 Adwords 带来了那么多的收入,至少现在 Google 挥霍得起。


这对于客户来说也不是最好的。它往往会给用户选择造成困惑,不知道在 Google 的生态体系里面应该如何二选一,尤其是在智能手机上面同一用途的 app 往往有好几个。虽如此,但 Google 更看重长期市场存在而不是短期的易用性。这一点也许是 Google 和苹果最大的不同。苹果提供了一个聚焦的用户体验,非常容易理解。Google 则对做任何事情都提供了多种手段,有的做得不错,有的则过于复杂,而有的则是 “僵尸产品”—未曾积极研发但一直都在好些年。


公司偶尔会通过 “春季大扫除” 的形式来整理多产品策略带来的混乱。2011年,Google 第一次开始产品批量清退时用了 “有的放矢” 的说法,但是现在 Google 推出新产品的速度似乎比清理老产品的速度要快得多。


有时候 Google 看起来纯属手贱无法控制自己。几波人同时做一件事的方式已经成为公司文化的 DNA。公司大部分的时间都是 “三头统治”,由 Larry Page、Sergey Brin 以及 Eric Schmidt 共同运营公司。Larry Page 最终成为 CEO,但 Sergey Brin 现在把持着 Google X,这基本就算是 Google 内部的迷你 Google—这家公司根本停不下来多样化的脚步。


所以下一次你看到 Google 的两款竞争产品希望它们合并时,你得知道这并不能解决问题。Google 最终还是会折腾出新的内部竞争者,然后再度冒出 2 款做同样事情的东西。Google 就是这么爱折腾。如果你是 Google 的用户,对此会感到沮丧,但没办法,Google 就是这样。


Google X 生命科学分部的负责人 Andy Conrad 在《财富》的一篇文章中曾提到:


对于一个问题 Larry 会尝试用 1、2 种办法去解决,并且在策略上会对两者都同时下注。

===============都说到这了,聊聊A/B测试需要注意的一些问题吧============
  • 辛普森悖论与区群谬误
先说辛普森悖论,以偏盖全
辛普森悖论(Simpson's Paradox)亦有人译为辛普森诡论,为英国统计学家E.H.辛普森(E.H.Simpson)于1951年提出的悖论,即在某个条件下的两组数据,分别讨论时都会满足某种性质,可是一旦合并考虑,却可能导致相反的结论。
转个果壳的文章,有兴趣可以看看
辛普森悖论:诡异的男女比例
大多数的产品或功能上线前都会进行测试,实际上很多的测试行为并不科学,特别是很多定向的用户测试经常会有这个弊端,简单来说,如果新上线的一个功能,所有的研发工程师都说好,那是不是意味着所有的用户都觉得好?很多情况下是否定的。当然这个例子比较简单,实际上很多A/B测试方法并没有考虑到这个问题,以至于最后得出的结论跟实际情况差异巨大。
要解决这个问题,对采样、聚类、流量分割等要求非常的高,这也是为什么A/B测试工具不能像很多统计工具一样,埋个点看数据,再根据数据反推业务逻辑,而是要充分与业务结合,从一开始就应该考虑业务策略,让用户去选择适合其口味的产品。

先说辛普森悖论,以全盖偏
区群谬误(Ecological fallacy),又称生态谬误,层次谬误,是一种在分析统计资料时常犯的错误。和以偏概全相反,区群谬误是一种以全概偏,如果仅基于群体的统计数据就对其下属的个体性质作出推论,就是犯上区群谬误。这谬误假设了群体中的所有个体都有群体的性质(因此塑型(Sterotypes)也可能犯上区群谬误)。区群谬误的相反情况为化约主义(Reductionism)。


==========写在最后========
大多数的产品或功能上线前都会进行测试,实际上很多的测试行为并不科学,特别是很多定向的用户测试经常会有这个弊端,简单来说,如果新上线的一个功能,所有的研发工程师都说好,那是不是意味着所有的用户都觉得好?很多情况下是否定的。当然这个例子比较简单,实际上很多A/B测试方法并没有考虑到这个问题,以至于最后得出的结论跟实际情况差异巨大。
要解决这个问题,对采样、聚类、流量分割等要求非常的高,这也是为什么A/B测试工具不能像很多统计工具一样,埋个点看数据,再根据数据反推业务逻辑,而是要充分与业务结合,从一开始就应该考虑业务策略,让用户去选择适合其口味的产品。
现在的创业者面临着前所未有的竞争压力,好的想法与用户接受的想法有着各种不可逾越的鸿沟。特别是伴随着激烈的竞争,谁能领先一步可能就变成了赢者通吃的局面。
这个是广告--->通过AB测试来优化产品的方法在国外已经被广泛应用,现在这种代表先进生产力的方法如同GitHub、Docker、APM一样也正在逐渐被国内广大开发团队所接纳。AppAdhoc优化平台能够帮助用户提高产品的设计、研发、运营和营销的效率,降低产品决策风险,同时也能够帮助用户用数据优化移动广告,让流量的变现价值更大。
任何问题,欢迎随时交流。

更多内容欢迎关注我的专栏:
zhuanlan.zhihu.com/milm
zhuanlan.zhihu.com/milm
一起需要提的还有灰度发布

在方法论上都属于试错法。

A/B测试就是上两个方案,部署后看效果。根据效果和一些结果参数决定采用哪个方案。
灰度发布是切一部分业务使用新方案,看效果如何,是否有bug,会遇到什么问题。如果一切OK,就把全部业务切到新的方案上执行。
为什么?