1.什么是A/B 测试?有什么用?
做过App功能设计的读者朋友可能经常会面临多个设计方案的选择,例如某个按钮是用蓝色还是黄色,是放左边还是放右边。
传统的解决方法通常是集体讨论表决,或者由某位专家或领导来拍板,实在决定不了时也有随机选一个上线的。虽然传统解决办法多数情况下也是有效的,但A/B测试可能是解决这类问题的一个更好的方法。
简单来说,A/B测试就是为同一个目标制定两个版本,这两个版本只有某个方面不一样,其他方面保持一致,例如两个版本只有按钮的颜色不一样。让一部分用户使用A版本(实验组),另一部分用户使用 B版本(对照组)。试运行一段时间后,分别统计两组用户的表现, 然后对两组数据进行对比分析,最后选择效果更好的版本正式发布给全部用户。
 
2.A/B测试是怎么来的呢?
2007年,参议员的巴拉克•奥巴马在芝加哥参加了总统竞选。谷歌的产品经理丹•西罗克是奥巴马竞选团队“新媒体分析”部门的负责人。他用A/B测试优化了竞选网站的“捐款”按钮,使得捐款金额增加了5700万美元。
他对这个“捐款”按钮做了什么呢?
西罗克在奥巴马捐赠页面上进行了A/B测试,发现:
1)对于第一次访问竞选网站的用户,按钮文字是“捐赠并领取礼物”效果最好。
2)对于长期访问竞选网站,但是从来没有捐款的用户,按钮文字是“捐款”效果最好。
3)对于过去曾经捐过款的用户,按钮文字是“捐助” 效果最好。
在奥巴马就任总统后,西罗克创办了一家网站优化公司(Optimizely。)。在下一轮的总统选举中,这家公司的客户名单里是各个总统竞选团队。
现在A/B测试已经广泛应用于互联网公司,帮助优化产品。
吴恩达在主题为“AI是新的电力”的演讲中说到,能够定义互联网公司的并不是你是否有网站,而是你是否进行A/B测试,是否有很短的周期迭代,是否把决策权由CEO交给工程师和产品经理。
 
3.A/B测试案例
爱彼迎(Airbnb)是一家提供民宿服务的平台,创建于2007年,现在已经估值约300亿美元。
在2011年初,爱彼迎团队通过查阅数据寻找房源预订量比较低的地区。他们发现纽约市的房源预订量竟然不达标。要知道,纽约可是热门的旅行地区,为什么房源预定量低呢?
在观察这个地区的房源照片时发现,这些照片都是手机拍的,拍的即不清晰也不美观。如果房东发布的房源信息里有拍摄效果更加专业的照片,房东是不是会更容易租出自己的房子呢?
为了验证这个假设,爱彼迎团队先挑选了一部分房东作为实验组,免费为他们提供专业的摄影服务。
然后,将实验组的平均住宅预定量和纽约其他公寓的平均预订量进行对比。
数据显示,如果房源信息里有专业拍摄的住宅照片,房源预订量高于爱彼迎平均房源预定量的2- 3倍。也就是说,照片质量会影响预定量,说明前面的假设是成立的。
根据这个A/B测试结论,爱彼迎推出一个摄影计划,聘请了20名摄影师,专门为房东提供专业的拍照服务,这使得爱彼迎的房源预定量实现了快速增长。爱彼迎团队进一步决定向所有房东推广这一业务,这极大的提升了房源预定量。
 
同样,Google 用A/B测试来调整和测试它的算法和网站的设计; Facebook 通过A/B测试上线新功能、新版本,优化广告营收。电商巨头亚马逊通过A/B测试来不断完善网站,优化用户体验。
如果你对你的网站或者 App 感到十分不满,但又担心改头换面的重新设计会带来风险,那么可以尝试使用A/B测试,最终在得到一个全新的网站的同时,也会带来转化率的提升。
 
补充:其实A/B 测试的底层方法是对比分析方法
分析方法:如何进行对比分析?​www.zhihu.com
 

什么是 A/B 测试?的更多相关文章

  1. SignalR系列续集[系列8:SignalR的性能监测与服务器的负载测试]

    目录 SignalR系列目录 前言 也是好久没写博客了,近期确实很忙,嗯..几个项目..头要炸..今天忙里偷闲.继续我们的小系列.. 先谢谢大家的支持.. 我们来聊聊SignalR的性能监测与服务器的 ...

  2. Apache Ignite之集群应用测试

    集群发现机制 在Ignite中的集群号称是无中心的,而且支持命令行启动和嵌入应用启动,所以按理说很简单.而且集群有自动发现机制感觉对于懒人开发来说太好了,抱着试一试的心态测试一下吧. 在Apache ...

  3. 测试一下StringBuffer和StringBuilder及字面常量拼接三种字符串的效率

    之前一篇里写过字符串常用类的三种方式<java中的字符串相关知识整理>,只不过这个只是分析并不知道他们之间会有多大的区别,或者所谓的StringBuffer能提升多少拼接效率呢?为此写个简 ...

  4. TechEmpower 13轮测试中的ASP.NET Core性能测试

    应用性能直接影响到托管服务的成本,因此公司在开发应用时需要格外注意应用所使用的Web框架,初创公司尤其如此.此外,糟糕的应用性能也会影响到用户体验,甚至会因此受到相关搜索引擎的降级处罚.在选择框架时, ...

  5. .NET Core系列 :4 测试

    2016.6.27 微软已经正式发布了.NET Core 1.0 RTM,但是工具链还是预览版,同样的大量的开源测试库也都是至少发布了Alpha测试版支持.NET Core, 这篇文章 The Sta ...

  6. 渗透测试工具BurpSuite做网站的安全测试(基础版)

    渗透测试工具BurpSuite做网站的安全测试(基础版) 版权声明:本文为博主原创文章,未经博主允许不得转载. 学习网址: https://t0data.gitbooks.io/burpsuite/c ...

  7. 在ubuntu16.10 PHP测试连接MySQL中出现Call to undefined function: mysql_connect()

    1.问题: 测试php7.0 链接mysql数据库的时候发生错误: Fatal error: Uncaught Error: Call to undefined function mysqli_con ...

  8. 【初学python】使用python调用monkey测试

    目前公司主要开发安卓平台的APP,平时测试经常需要使用monkey测试,所以尝试了下用python调用monkey,代码如下: import os apk = {'j': 'com.***.test1 ...

  9. CoreCRM 开发实录——Travis-CI 实现 .NET Core 程度在 macOS 上的构建和测试 [无水干货]

    上一篇文章我提到:为了使用"国货",我把 Linux 上的构建和测试委托给了 DaoCloud,而 Travis-CI 不能放着不用啊.还好,这货支持 macOS 系统.所以就把 ...

  10. 从零开始编写自己的C#框架(24)——测试

    导航 1.前言 2.不堪回首的开发往事 3.测试推动开发的成长——将Bug消灭在自测中 4.关于软件测试 5.制定测试计划 6.编写测试用例 7.执行测试用例 8.发现并提交Bug 9.开发人员修复B ...

随机推荐

  1. C#判断某元素是否存在数组中

    string s = "K2:CENTALINE\\lukshing|K2:CENTALINE"; string[] s1 = s.Split('|'); //判断方式是 等于 而 ...

  2. Jquery的一些方法

    $.trim(str);说明:去掉字符串首尾空格.

  3. 策略模式、策略模式与Spring的碰撞

    策略模式是GoF23种设计模式中比较简单的了,也是常用的设计模式之一,今天我们就来看看策略模式. 实际案例 我工作第三年的时候,重构旅游路线的机票查询模块,旅游路线分为四种情况: 如果A地-B地往返都 ...

  4. 前端丨如何使用 tcb-js-sdk 实现图片上传功能

    前言 tcb-js-sdk 让开发者可以在网页端使用 JavaScript 代码服务访问云开发的服务,以轻松构建自己的公众号页面或者独立的网站等 Web 服务.本文将以实现图片上传功能为例,介绍 tc ...

  5. Mybatis一对一映射resultMap子标签中顺序问题

    直接上图 鼠标点上红线出现如下提示 The content of element type "resultMap" must match  "(constructor?, ...

  6. SQL基础随记3 范式 键

    SQL基础随记3 范式 键 什么是范式?哈,自己设计会使用但是一问还真说不上来.遂将不太明晰的概念整体下   什么是 & 分类 范式(NF),一种规范,设计数据库模型时对关系内部各个属性之间的 ...

  7. web3.js支持SimpleChain跨链调用

    SimpleChain的跨链协议已经对外开放很久了,很多应用也已经慢慢支持Simplechain的跨链.最近社区开发者web3.js中集成了Simplechain的跨链接口,开发者只需用npm安装包文 ...

  8. P2034 选择数字——线性dp(单调队列优化)

    选择数字 题目描述 给定一行 \(n\) 个非负整数 \(a[1]...a[n]\) .现在你可以选择其中若干个数,但不能有超过 \(k\) 个连续的数字被选择.你的任务是使得选出的数字的和最大. 输 ...

  9. 【Flutter 实战】动画核心

    老孟导读:动画系统是任何一个UI框架的核心功能,也是开发者学习一个UI框架的重中之重,同时也是比较难掌握的一部分,下面我们就一层一层的揭开 Flutter 动画的面纱. 任何程序的动画原理都是一样的, ...

  10. jpa随手笔记

    jpa注解1.设置Pojo为实体@Entity //标识这个pojo是一个jpa实体 2.设置表名@Table(name = "users") //指定表名为users 3.设置主 ...