A/B 测试:数据驱动的产品优化

image

编者按:本文为国内 A/B 测试云服务商 “吆喝科技” 的投稿。文章来源于吆喝科技创始人、CEO 王晔在 “大数据江湖” 的演讲分享。

大数据时代,拥有数据就是拥有了宝贵的财富。现在获得数据已经变得越来越容易。但是数据的价值怎么才能最大的挖掘出来呢?仅仅拥有数据是远远不够的,要使用数据来发挥价值。仅仅让机器来使用数据还是远远不够的,更最重要的在于企业里的 “人” 可以正确高效的使用数据。这就需要企业具备数据驱动的理念。

那么什么是数据驱动的理念?怎么定义数据驱动?有很多人从不同角度给出了不同的解释和阐述。我最喜欢的是 DataStax 公司 CEO Bosworth 的一句话:

“从现在开始的 10年 内,当我们回顾大数据时代是如何发展时,我们会震惊于以往做出决策时信息的匮乏。”

数据驱动的理念在于企业应该充分的用数据方法来优化自己的产品,运营,决策,乃至战略。

具体来说,数据的使用方法可以分为后验和先验两类。

后验就是指对过往采集到的数据进行挖掘分析,从中发现和归纳新的知识,透过现象看本质。1682年 有位天文学家发现了一颗有着巨大拖尾的星体快速划过夜空。他对比过往天文数据,发现 1531年 和 1607年 也有类似的观测记载。他判断这些观测看到的是同一颗彗星,并且预言 76年 以后这颗星还会光顾地球。这就是著名的哈雷彗星,一个靠后验数据挖掘发现的重要天体。

后验数据对企业决策很有用,而我个人觉得先验数据对企业决策可能更有用。什么是先验数据?

在一个决策完全实施以前就能得出它实施后的效果数据,这就是先验数据。在传统中国文化里,我们往往更善于后验数据,通过总结和归纳得出重要的结论。而现代西方文化更讲究 “科学”,找到了先验数据的获取方法,那就是做 “试验”。设定一个合理的小型的试验环境,然后将决策想法在这个环境中实施,得出数据化的结论,最终通过数学方法预测出这个决策想法在真实环境中的表现,这就是先验的方法。

一个非常经典的试验方法就是我们今天要展开讨论的 A/B 测试。A/B 测试是指在所有条件都相等的条件下,只改变一个条件,从 A 改成 B,然后对比两者产生的效果的不同。注意这是一个非常重要的定义,决定了 A/B 测试的科学性。我们来看看 A/B 测试与后验方法的不同:假如我们做了一个新决策,比如改了产品的某个设计,试卖它一天,然后第二天再拿出老设计试卖一天。这样对比新老设计就很可能 “不” 是 A/B 测试。新设计销售好,并不一定是因为新设计好,可能是因为时间不同,新设计试卖那一天正好赶上周边动物园活动带来了很多游客。

正是考虑到后验方法的局限性,西医(现代医学科学)首先引入了 A/B 测试的方法来验证新药的疗效。新药的验证可能是这样一个流程:100 位患者,被测试医生悄悄划分为 AB 两组,注意患者自己并不知道自己被分组,注意 AB 两组患者的健康情况应该是接近一致的;A 组患者将会得到试验新药,B 组患者将会得到长的和新药几乎一模一样的安慰剂;如果最终 A 组患者比 B 组的疗效更好,才能证明新药的药效。

那么对应到技术产品里,A/B 测试的方法就是将产品的用户流量分割成 A/B 两组,一组试验组,一组对照组,两组用户特点类似,并且同时运行。试验运行一段时间后分别统计两组用户的表现,再将数据结果进行对比,就可以科学的帮助决策。比如在这个例子里,50%用户看到 A 版本页面,50%用户看到 B 版本页面,结果 A 版本用户转化率 23%,高于 B 版本的 11%,在试验流量足够大的情况下,我们就可以判定 A 版本胜出,然后将 A 版本页面推送给所有的用户。

有了 A/B 测试,产品的优化过程就可以看作两个阶段。

第一个阶段是后验的,通过统计分析目前的用户行为和系统指标来判断产品的哪些地方可以做改进,比如是注册页面流失率太高需要优化?还是购物车报废率太高需要改进?

第二个阶段就是试验阶段,尝试改进这些产品的薄弱环节。比如是不是可以在注册流程里增加一个送优惠券环节?是不是可以精简一下购物车付款的流程?要不要改写文案?要不要替换图片?等等。这就需要对可能的决策进行 A/B 测试评估,只有那些被试验数据证明了真正有改进效果的那些决策才会被真正实施。那些不成功的改进是不会上线的。比如刚才那个案例里面,B 版本的转化率还不如 A 版本,那我们就不该把 B 版本推给所有的用户。

对国际顶级互联网公司来说,几乎所有的产品改动都是要经过严格的 A/B 测试考验之后才能上线。我们来看看他们得到的效果:

这是微软的 bing 搜索引擎通过反复 A/B 测试之后的改版结果,左边是老版,右边是新版。仅仅从肉眼看来,几乎看不出区别。实际上就是在颜色上做了一些微调,结果右边版本比左边版本提升了 10,000,000 美元的年化营收。

这是亚马逊购物网站推出的一个信用卡推销策略。最早这个推销信用卡的广告出现在用户选择购物商品的页面,结果几乎无人问津,还浪费了好几个宝贵的商品展示位置;后来运营人员想出了一个策略,说把这个推销放在用户购物车结算的时候,结果 A/B 测试显示这个改动大幅度提高了信用卡申请率,给亚马逊带来了上亿美元的营收增长。

说到亚马逊,有谁能想起来它的 “加入购物车” 按钮是什么样式么?它是黄色底色,黑色边框,绿色字体……从设计美学来看,是很怪异很难看的。但是反复 A/B 测试会发现这个样式却是用户购买转化率最高的一个设计。数据驱动的优化,结果就是决策要听数据的,而不是听艺术家或者老板的。

这是一个互联网教育网站,在这个主要的学生注册页面,通过反复 A/B 测试试验,发现一个很好的页面排版,可以提升学生注册率 40%以上。这个排版和常用的课程分类不同,将课程按照上课热门程度排序,可能刺激了很多潜在学生的竞争心理。“我不知道该上什么课,但是大家都学的课我不能不学”。用户可能是这么想的。当然,这是马后炮。还是 A/B 测试能告诉我们到底什么排版更好。

这个电商网站卖防水耳机,原来排版是 Call-To-Action 按钮在左文案在右,后来调换了位置,A/B 测试发现这个简单的改动可以提升销量 35%以上。

现实中,通过 A/B 测试可以发现很多产品上的改动或者运营上的策略其实并不产生效果, 有些甚至会有负效果。比如很多改版并不会带来转化率的提升,比如手机 App 里的汉堡菜单经常会带来用户活跃度下降,比如有一些电商网站在增加了商品分类功能之后用户下单率会下跌。

对大多数成熟的互联网产品来说,只有少数的改动策略才会带来提升,所以国际互联网企业都会跑大量的 A/B 测试试验,从各种各样的尝试中找到少数有提升效果的试验,将这些策略全面实施,不断优化产品。A/B 测试先验数据方法,有时候并不是在选择更优的策略,而是在排除掉不好的策略。只有通过 A/B 测试验证好的改动才会上线,这就保证了产品总是在不断优化和提升,而不会出现上下波动的情况耽误进展。

这张示意图很好的展示了使用 A/B 测试优化产品之后的产品迭代效果,每一次新版本的发布都首先经历过小流量的 A/B 测试验证,所以可以保证确定性的提升。每一版更新都比老版要更好一些,日积月累就会大幅度超过 “裸奔” 的竞争对手。

说到这里,就得提一下专业第三方 A/B 测试云服务的作用。A/B 测试的原理听上去很简单,但是实践中会遇到很多问题:

首先是试验流量分割的科学性和试验结果的准确性。举个不恰当的例子,Google 做了一个社交网站 Google+,用自己的员工测试了一下,发现用户活跃度很高。结果发布这个网站给全球用户,结果完全不同。所以如果试验流量采样不科学,就可能带来试验结论的巨大偏差,导致 A/B 测试白费功夫。专业 A/B 测试云服务可以通过对用户进行机器学习分类,再做动态采样来保证试验流量的代表性(representative sampling)。

(大家可以留意一下第二张图)

其次是试验结果的敏感性问题。因为试验结果是统计学意义上的结果,比如以 95%置信区间的形式展示出来,如果不确性太强,那么对我们也没有多少用处。例如我们吆喝科技自己的官网,在早期做 A/B 测试试验的时候,就因为试验流量太少而得不出什么结论。举个例子,我们尝试把 “申请注册” 这个表单更换了一个样式,得出试验结果是申请注册率 “平均” 提高了 4 倍!但是置信区间太宽,从-200%到 +1000%,到底是提升了还是降低了很难判断,显然不是一个很有用的结论。

这个反例是因为当时我们的访客数量太少,试验中只有 500 左右,而且随机性太强,只有 1%的用户会申请,所以置信区间很宽。随着试验运行时间加长以及试验流量增大,置信区间可以逐渐收敛。专业 A/B 测试系统可以利用统计学算法对小采样进行更细致的模型分析,加速置信区间的收敛。

最后要谈到的是 A/B 测试的效率问题。很多朋友尝试 “手工” 做 A/B 测试,先由技术人员写点代码来做分流,收集一段时间数据再写点代码来把数据分开统计,最后发现老页面点击 100 下,新页面点击 98 下,然后过几天数据又变化了。这个体验就是 “验证 1 个小小的想法,花了几天,最后还是不知道是提高了,是降低了,还是没有变”,觉得 A/B 测试没有实用价值。

专业的 A/B 测试云服务就是给大家提供各种各样方便的 API,图形界面,编辑工具,分析工具,可以大幅度提高 A/B 测试的效率。有了强大的工具,一个人一个星期就可以做大量试验,其中哪怕只有少数是成功的(大部分试验无效,小部分试验失败),一个星期提升 20%,一个多月就可以超过竞争对手 1 倍了。

这张图展示了 Google 从 07年 以来 A/B 测试试验数量的增长情况。 Google 是从 2004年 到 2007年 构建了自己的强大的 A/B 测试引擎的,在这之后,Google 的优化效率和对应的优化努力都直线上升,现在每个月都会跑几百个 A/B 测试试验。我以前在 Google 负责搜索广告优化的时候,天天都会做 A/B 测试,也会不断改进 Google 自己的 A/B 测试系统,来提高效率。有这样一个强大的工具,Google 完全不担心竞争对手的逆袭。

Facebook 是移动互联网时代的王者,Facebook App 在每次 AppStore 上线的时候都会将未来 6 个月想要做的试验都集成进代码里。然后不断的放小流量进行 A/B 测试,将好的改动发布,将不好的改动下线。这不仅为 Facebook 带来了用户活跃的提升而且使 Facebook 得到了 “没有 bug” 的口碑!这个口碑往往被人忽视,实际上是非常厉害的。

Airbnb 和 Uber 作为新一代线上线下结合的互联网产品,更是从第一天就开始做 A/B 测试,不仅在自己的体系里做,还用第三方工具做,保证所有的决策,从产品,到运营,乃至到战略,都是经过数据驱动的优化决策。每一个改动,都先用 1%的流量来试验,然后再推到 5%,再到 10%,到 20%,到 50%,最后再发布给所有用户。

现在大家把这样的一种数据驱动的工作叫做 “增长黑客”(growth hacking),而增长黑客的武器就和黑客一样,是强大的技术工具与精密的数据分析。A/B 测试是其中必不可少的一环,而且被很多黑客称为增长黑客必杀技。

Ronny 是微软公司的科学家,一手主导了微软多个产品线的线上 A/B 测试系统的搭建与使用。发表过很多著名的关于 A/B 测试的学术论文,可以说是这个领域的顶级专家。7 条经验如下:

效果惊人:某些微小的改动可能造成对 KPI 的巨大影响

耐心测试:但是大多数改动都不会大幅度提高 KPI。这里说一个很有意思的 Twyman 法则:凡是看上去很出人意料的图表,通常都是因为数据统计错了

你很不同:各个产品几乎完全不同,所以复制他人经验往往得不到什么效果

速度是关键:任何能加速用户响应时间的改动都会给 KPI 带来提升

关注产品质量本身:点击率容易提高,流失率很难改进,勿将精力都放在提高某个页面的点击率上

快速轻量迭代:尽量不要做复杂的大量改动的大试验,尽量做很多很多个简单改动的小试验

用户数量是基础:几千上万用户才容易展开高效的 AB 测试

这几条经验和我个人以及我们公司的实践经验完全吻合,希望以后能帮到大家的实践。“最好的 PM 也只能跑赢一半的 A/B 测试”,欢迎大家在未来的工作中充分使用 A/B 测试这样强大的工具来实现数据驱动的优化增长。

最后,附上几个 QA 问答:

1、测试所需的数据从何而来?

试验数据是统计得来,如果用第三方工具,往往是接入 SDK 然后通过 SDK 汇报到云端的。注意 A/B 测试是真实用户无感知测试,是用的真实流量。

2、A/B 测试的对象如何选取?

好问题。一般来说是根据你的新策略是针对什么用户的就对这些用户进行 “定向” 的 A/B 测试。比如按钮颜色的选择,是针对所有用户的,那就对所有用户进行采样,从所有用户里选 1%来测试。比如推荐算法的选择,可能是针对老用户的,那就只在老用户里采样 10%来测试。

3、一般来说,网站 UV 或者用户数达到多少时,就应该尝试 A/B 测试,也比较容易看到效果了呢?

一般 UV 有上千就可以试试看了:)

4、感觉 A/B 测试是比较适用于 POC 或决策分析,能用于外部攻击的结果分析吗?

这个问题很高端,我个人对安全领域很无知,所以不够资格回答这个问题。A/B 测试的核心在于无感知的分流,对不同流量群的控制,以及对比分析,不知道这个对外部攻击的分析有没有用。

5、测试肯定是有针对性的,A/B 测试一般应用于那些场景?互联网产品推崇快速失败快速迭代,和 A/B 测试有无想关注。

主要应用场景包括灰度发布,新旧版本对比,保证无 bug 和无事故;尝试新决策,比如推送优惠券,或者界面改版,或者算法参数变化,看看哪个改动更好;研究用户行为,比如通过设计好的 A/B 测试来分析用户的喜好。没错,互联网产品讲究快速迭代,增长黑客,A/B 测试是其中的必杀技:)

6、如果 A/B 测试决策后一定时间后进行后验,会出现结果有差异么?如果有怎么做

好问题。有的时候会有这样的情况,一个新试验效果很好,时间长了发现不行了。这被 Google 称为 “User Blindness” 用户盲性。目前的经验是,大部分试验都没有盲性,但是有些是有的。这个仍然是个研究课题……后验发现问题,就只能总结经验,再寻其他方法,没有什么捷径。

7、如何保证 A/B test 只受目标因素影响,不受其他因素的干扰。

这个就是要做到试验流量采样的科学性。A/B 测试的核心思想就是 “所有条件都相等,只有一个条件从 A 改成 B,会发生什么”。我们的做法就是在随机采样的算法里尽量让采样出来的 1%用户的行为的统计分布和 100%用户的分布保持一致。当然,还有一些其他可能干扰的因素需要我们人来应对。一个经验就是把重要的试验跑 7 天,至少覆盖 “周中” 和 “周末” 两个不同时间段,因为用户行为在这两个时间段不一样。

8、是否有专门团队负责实验设计?多个实验并行如何评估实验结果?

像 Facebook, Airbnb, Uber 都是会有专门的 growth hacker 去设计试验,当然优秀的 PM 和运营人员都可以胜任。

9、实际运营中可能需要或者说想要改进的东西有很多,那么在 A/B 测试前是不是有进行其他分析,以便于取舍先做哪个后做哪个测试

好问题。一般来说先期的数据分析很重要,先判断系统什么地方最需要改进,从那里先入手。通常来说,关键转化率相关都是最值得做大量 A/B 测试的,比如注册流程,购买流程,付费流程,等等。

10、结果数据从 A 到 B 效果惊人,改变一个条件就可能导致从 A 到 B,这个条件如何选取,是否有理论依据,感觉容易导致漫无目的的乱测呢?

很多时候是 growth hacker,产品经理,技术大牛的经验远比理论更重要

11、怎么衡量 AB 测试是否真的有效?一般会用什么统计方式进行检验?

一般是在试验结束,发布了 “成功” 的新版之后,通过后验数据来做基础的判断。另一方面,也可以通过反向 A/B 测试做验证,比如发布新版本给 98%的用户,留下 2%用户用老版,看看对比数据有没有问题。

本文转自d1net(转载)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值