
A/B实验(一):为什么要做AB实验?
A/B实验(一):为什么要做AB实验
从一杯奶茶开始的故事
最著名和最早的假设检验实验来自英国统计学家 Ronald A. Fisher,他在1920年代提出了假设检验的基本思想,并于1935年出版了《实验设计》(The Design of Experiments)一书。
场景:一位女士声称她能辨别出泡茶时是先加奶还是先加茶。Fisher 为此设计了一个科学实验,随机地给她8杯茶,其中4杯先加牛奶,4杯先加茶,让她猜哪个是哪种。
意义:Fisher用这个实验首次严谨地应用了假设检验的思想——先提出零假设(女士不能区分),定义统计显著性,然后通过实际观察拒绝或不拒绝零假设。
论文/著作:
The Design of Experiments, Ronald A. Fisher, 1935.
“The Lady Tasting Tea: An Experiment in Design … is therefore one of the first practical uses of statistical hypothesis testing.”
—— Ronald A. Fisher, The Design of Experiments, 1935
医学领域的成功
在医学界,每一种新型药物研发都会伴随着一系列动物实验和临床测试,这些实验的效果都会以类似但更为严格的假设检验方法进行评估,最终被认定安全有效的药品才会进入市场,造福患者。
来到互联网时代
A/B实验(A/B Testing)最早被广泛应用并取得巨大成功的是 Google 和亚马逊(Amazon)等美国互联网公司。它们都在2000年左右先后采用了A/B测试的方法来优化网站、广告等产品体验,但最著名、被认为开创里程碑式应用的是Google。
2000年左右,Google在决定页面底部到底显示多少个搜索结果时,通过A/B测试发现不同用户的点击和留存数据有显著差异,由此优化出了现在的Google Search首页,并开启了大量基于数据驱动的产品优化。
Amazon
亚马逊创始人Jeff Bezos非常推崇A/B测试,亚马逊的大部分新功能和页面优化都要通过A/B测试来验证。
Google 的 Ron Kohavi 等人在2009年的一篇综述论文中总结了A/B测试对互联网公司的重要推动作用:
“At Google, Microsoft, and Amazon, hundreds of controlled experiments are run every year, with many resulting in improved products.”
—— Kohavi, R., et al. (2009). “Online Controlled Experiments at Large Scale.” Proceedings of the 15th ACM SIGKDD international conference on Knowledge discovery and data mining.
一些基本概念
为什么要做AB实验?
如今,大多数互联网产品野蛮生长的时代已经过去,人口红利到顶,产品策略需要从快糙猛的跑马圈地方式转向深耕细作的精细化运营方式。要精细化运营,就需要采用数据来驱动。
何为数据驱动?试想以下几种场景:
- 小A凭着丰富的经验直接修改了产品的线上策略,一周后发现效果不升反降,遂下线。
- 小B和小C同时上线了两个产品功能,一周后产品数据有下降,都认为是对方的问题,谁也不肯接锅。
- 小D上线了一个新策略,随后进入十一黄金周,用户交互有所下降,小D觉得一定是假期埋没了自己的辛苦贡献,但也辩不明白,无处申冤。
- 小E辛苦工作一整年,开发了365个不同的功能上线,年终写总结时却写不出到底在哪些方面究竟贡献了多少。
一句话解释:
用统计方法得出功能迭代/UI/逻辑策略的最优解(用部分去推断总体的方法)
假设,某互联网公司承载了上百万规模的DAU,每天大量新特性等待上线,一方面业务人员无法承担其中任何一个错误特性直接影响用户体验的严重后果,另一方面业务人员又希望能够分离并量化每个特性的影响。
因此,我们需要设计并坚持使用一套数据驱动的方法,使得业务人员可以以较小的风险对新 feature 进行评估,积极试错积累经验;并且我们设计的该方法有能力排除其他因素(比如同时开发的其他 feature 以及时间因素等)的干扰;最后,除了“好”或者“不好”,我们希望这个方法最好也能够给出定量的结果。
定义
AB实验,亦被称为随机对照试验或小流量实验。其具体操作是为产品界面、流程、策略等制作两个(A/B)或多个(A/B/n)版本。在同一时间维度下,使总体用户中组成成分相同(相似)的部分用户群体随机访问这些版本,进而收集各群组的用户体验数据和业务数据,最终通过分析评估确定最佳版本并正式采用。
实验分流单元
- 实验随机分流的对象,一般用
uid
- 获取不到的情况(登录注册等情景)用设备号进行分流(
device_id
) - 推荐的分流对象可能是 session(10个视频/图文为一组即为 session),这样能使样本量得到丰富的扩充。
实验人群(人群包)
AB平台上创建实验所生效的人群。特定的实验人群分类一般有用户的性别、注册时间、年龄、城市级别、操作系统等。
- 白名单:实验开始前的测试对象。观察实验策略能否按照预期生效。每个分组中都应该配置白名单。