什么是 A/B 实验,为什么要开 A/B 实验?
更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群
1、什么是 A/B 实验
A/B 实验也被称为 A/B 测试,实验的基本思路是在线上流量中取出一小部分(较低风险),完全随机地分给原策略 A 和新策略 B(排除干扰),再结合一定的统计方法,得到对于两种策略相对效果的准确估计(量化结果)。
这一套基于小样本的实验方法同时满足了低风险,抗干扰和量化结果的要求,因此不论在互联网产品研发还是科学研究中,都被广泛使用。
A/B 实验的应用一
Instead of saying "I have an idea," what if you said "I have a new hypothesis , let's go test it, see if it's valid, ask how quickly can we validate it." And if it's not valid, move on to the next one. —— Satya Nadella CEO, Microsoft
微软 CEO Satya Nadella 在business insider采访中,关于假设检验的这一段回答简练地描述了微软基于实验-分析-决策的数据驱动文化。
事实上,微软也是世界上最早采用 A/B 实验评估每一个重大 feature 的科技公司之一,从 bing 的搜索排序到 MSN 的交互设计,数据驱动的决策无处不在,每年为微软规避大量风险并创造可观回报。
下图,从 bing 这一侧面展示了微软实验平台同时运行的实验数量十年以来的井喷式发展。
A/B 实验的应用二
另外值得一提的是,这一套基于假设检验的实验方法并非科技公司首创,其影响远比我们想象得深远,可靠性也已经得到了长足的验证。
比如,在医学界,每一种新型药物研发都会伴随着一系列动物实验和临床测试,这些实验的效果都会以类似但更为严格的假设检验方法进行评估,最终被认定安全有效的药品才会进入市场,造福患者。
下图所示就节选自某种放射性疗法在乳腺癌治疗中的有效性报告,红框中的 95%CI(95%置信区间)和 p(p-value)就是假设检验中常用的统计术语。
2.为什么要开 A/B 实验
如今,大多数互联网产品野蛮生长的时代已经过去,人口红利到顶,产品策略需要从快糙猛的跑马圈地方式转向深耕细作精细化运营方式,要精细化运营,就需要采用数据来驱动。
数据驱动的必要性
何为数据驱动?试想以下几种场景:
小 A 凭着丰富的经验直接修改了产品的线上策略,一周后发现效果不升反降,遂下线。
小 B 和小 C 同时上线了两个产品功能,一周后产品数据有下降,都认为是对方的问题,谁也不肯接锅。
小 D 上线了一个新策略,随后进入十一黄金周,用户交互有所下降,小 D 觉得一定是假期埋没了自己的辛苦贡献,但也辩不明白,无处申冤。
小 E 辛苦工作一整年,开发了 365 个不同的功能上线,年终写总结时却写不出到底在哪些方面究竟贡献了多少。
想必不论是研发还是产品运营的同学,都不希望自己辛苦工作过后落入上述的几种尴尬的境地中,因此数据驱动业务增长就显得很有必要。
那么数据变化和产品动作之间到底存在什么样的因果关系呢?
假设,某互联网公司承载了上亿规模的 DAU,每天有数以百计的新特性等待上线,一方面业务人员无法承担其中任何一个错误特性直接影响上亿用户体验的严重后果,另一方面业务人员又希望能够分离并量化每个特性的影响。
因此,我们需要设计并坚持使用一套数据驱动的方法,使得业务人员可以以较小的风险对新 feature 进行评估,积极试错积累经验;并且我们设计的该方法有能力排除其他因素(比如同时开发的其他 feature 以及时间因素等)的干扰;最后,除了‘好’或者‘不好’,我们希望这个方法最好也能够给出 定量的结果。
如何做到数据驱动?
为了解决上述问题,普遍使用的方法论是小流量随机实验,也就是我们常说的 A/B 实验。
在推崇“数据驱动增长”的字节,A/B 实验是一种信仰。在经过多年的内部业务的打磨,目前已通过火山引擎正式把 A/B 实验平台对外服务,取名为 DataTester。它基于先进的底层算法,提供科学分流能力,提供智能的统计引擎,实验结果可靠有效,助力业务决策。深度耦合推荐、广告、搜索、UI、产品功能等多种业务场景需求,为业务增长、转化、产品迭代、策略优化、运营提效等各个环节提供科学的决策依据,让业务真正做到数据驱动。
DataTester 经过抖音、今日头条等字节业务多年验证,截至 2022 年 8 月,已在字节跳动内部累计完成 150 万次 A/B 实验。此外也已经服务了美的、得到、凯叔讲故事等在内多家标杆客户,将成熟的“数据驱动增长”经验赋能给各行业。
点击跳转 火山引擎DataTester官网了解更多
什么是 A/B 实验,为什么要开 A/B 实验?的更多相关文章
- 操作系统-实验一、DOS使用命令实验
实验一.DOS使用命令实验 一.实验目的 DOS是市场上早期获得巨大成功的桌面操作系统,现在很多同学都不太熟悉.本实验的目的就是让同学们读者从操作系统理论的观点来重新认识它们,了解和掌握DO ...
- 20145216 20145330 《信息安全系统设计基础》 实验五 简单嵌入式WEB 服务器实验
20145216 20145330 <信息安全系统设计基础> 实验五 简单嵌入式WEB 服务器实验 实验报告封面 实验步骤 1.阅读理解源码 进入/arm2410cl/exp/basic/ ...
- 20145208《信息安全系统设计基础》实验五 简单嵌入式WEB 服务器实验
20145208<信息安全系统设计基础>实验五 简单嵌入式WEB 服务器实验 20145208<信息安全系统设计基础>实验五 简单嵌入式WEB 服务器实验
- 20145210 20145226 《信息安全系统设计基础》实验五 简单嵌入式WEB服务器实验
20145210 20145226 <信息安全系统设计基础>实验五 简单嵌入式WEB服务器实验 结对伙伴:20145226 夏艺华 实验报告封面 实验目的与要求 · 掌握在ARM开发板实现 ...
- 20145221 《信息安全系统设计基础》实验五 简单嵌入式WEB服务器实验
20145221 <信息安全系统设计基础>实验五 简单嵌入式WEB服务器实验 实验报告 队友博客:20145326蔡馨熠 实验博客:<信息安全系统设计基础>实验五 简单嵌入式W ...
- 实验5 简单嵌入式WEB服务器实验 实验报告 20135303 20135326
北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级: 1353 姓名:20135303 魏昊卿 学号:2013532 ...
- 20145303 20145339 《信息安全系统设计基础》 实验五 简单嵌入式WEB服务器实验
20145303 20145339 <信息安全系统设计基础> 实验五 简单嵌入式WEB服务器实验 实验目的与要求 1.掌握在ARM开发板实现一个简单WEB服务器的过程 2.学习在ARM开发 ...
- 20155212 实验四 《Android程序设计》 实验报告
20155212 实验四 <Android程序设计> 实验报告 (一)Android Stuidio的安装测试 参考<Java和Android开发学习指南(第二版)(EPUBIT,J ...
- 20162330 实验四 《Android程序设计》 实验报告
2016-2017-2 实验报告目录: 1 2 3 4 5 20162330 实验四 <Android程序设计> 实验报告 课程名称:<程序设计与数据结构> 学生班级:1623 ...
- 2017-2018-2 20165312 实验四《Android程序设计》实验报告
2017-2018-2 20165312 实验四<Android程序设计>实验报告 一.安装Android Studio并进行Hello world测试和调试程序 安装Android St ...
随机推荐
- QAction常用接口总结
目录 public (一)构造函数 (二)setShortcut (三)setStatusTip Signals (一)trigger() public (一)构造函数 1.QAction(const ...
- List 切割成小 list 分批处理数据
使用 Google Guava 库中的方法对 bmList 进行分割. Lists.partition() 方法用于将一个列表按指定大小进行分割,返回一个包含分割后子列表的新列表. 在这个例子中,bm ...
- Redis创始人开源最小聊天服务器,仅200行代码,几天功夫已获2.8K Star!
中午时候,在技术交流群里聊起关于Redis创始人的一些趣事,比如离开Redis之后,去写科幻小说之类的. 因为好奇科幻小说,TJ君就去搜索了一下.结果一搜,发现Redis作者最近居然又搞了个新活儿! ...
- SQL改写案例1
一开发哥们找我改写SQL,他写的逻辑始终不对,安排! -- 他写的SQL: -- order_id 是主键 with a as ( select str_to_date(regist_time,'%Y ...
- Meissel–Lehmer 算法
前言 推荐先行阅读我的blog文章----Min_25 筛 什么是Meissel–Lehmer 算法 Meissel-Lehmer 算法是一种基于 \(ϕ\) 函数的的快速计算前缀质数个数(当然也可以 ...
- 删除当前文件夹不是.vue文件,电脑命令符
::-----------------------------------------@echo offsetlocal EnableDelayedExpansionset _thisFilePath ...
- 手动部署Kraft模式Kafka集群
手动部署Kraft模式kafka集群 基本信息 IP地址 Hostname Release Kafka-Version 172.29.145.157 iamdemo1 Centos7.9 kafka_ ...
- 谷歌浏览器和火狐浏览器如何查看HTTP协议?
按F12
- 关于fstream对象的open方法报错183的问题
当使用fstream,ifstream,ofstream,这几种对象打开文件, 但文件已经存在的时候, 调用GetLastError()函数,会返回错误代码183, 这个代码代表该文件已经存在,是正常 ...
- [CF1854E] Game Bundles
题目描述 Rishi is developing games in the 2D metaverse and wants to offer game bundles to his customers. ...