更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【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 Nadellabusiness 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 实验?的更多相关文章

  1. 操作系统-实验一、DOS使用命令实验

    实验一.DOS使用命令实验 一.实验目的      DOS是市场上早期获得巨大成功的桌面操作系统,现在很多同学都不太熟悉.本实验的目的就是让同学们读者从操作系统理论的观点来重新认识它们,了解和掌握DO ...

  2. 20145216 20145330 《信息安全系统设计基础》 实验五 简单嵌入式WEB 服务器实验

    20145216 20145330 <信息安全系统设计基础> 实验五 简单嵌入式WEB 服务器实验 实验报告封面 实验步骤 1.阅读理解源码 进入/arm2410cl/exp/basic/ ...

  3. 20145208《信息安全系统设计基础》实验五 简单嵌入式WEB 服务器实验

    20145208<信息安全系统设计基础>实验五 简单嵌入式WEB 服务器实验 20145208<信息安全系统设计基础>实验五 简单嵌入式WEB 服务器实验

  4. 20145210 20145226 《信息安全系统设计基础》实验五 简单嵌入式WEB服务器实验

    20145210 20145226 <信息安全系统设计基础>实验五 简单嵌入式WEB服务器实验 结对伙伴:20145226 夏艺华 实验报告封面 实验目的与要求 · 掌握在ARM开发板实现 ...

  5. 20145221 《信息安全系统设计基础》实验五 简单嵌入式WEB服务器实验

    20145221 <信息安全系统设计基础>实验五 简单嵌入式WEB服务器实验 实验报告 队友博客:20145326蔡馨熠 实验博客:<信息安全系统设计基础>实验五 简单嵌入式W ...

  6. 实验5 简单嵌入式WEB服务器实验 实验报告 20135303 20135326

    北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全系统设计基础                班级:  1353 姓名:20135303 魏昊卿 学号:2013532 ...

  7. 20145303 20145339 《信息安全系统设计基础》 实验五 简单嵌入式WEB服务器实验

    20145303 20145339 <信息安全系统设计基础> 实验五 简单嵌入式WEB服务器实验 实验目的与要求 1.掌握在ARM开发板实现一个简单WEB服务器的过程 2.学习在ARM开发 ...

  8. 20155212 实验四 《Android程序设计》 实验报告

    20155212 实验四 <Android程序设计> 实验报告 (一)Android Stuidio的安装测试 参考<Java和Android开发学习指南(第二版)(EPUBIT,J ...

  9. 20162330 实验四 《Android程序设计》 实验报告

    2016-2017-2 实验报告目录: 1 2 3 4 5 20162330 实验四 <Android程序设计> 实验报告 课程名称:<程序设计与数据结构> 学生班级:1623 ...

  10. 2017-2018-2 20165312 实验四《Android程序设计》实验报告

    2017-2018-2 20165312 实验四<Android程序设计>实验报告 一.安装Android Studio并进行Hello world测试和调试程序 安装Android St ...

随机推荐

  1. 管道channel

    管道 go语言中管道底层是一个环形队列(先进先出),写入(send)和 取出(recv)都是从同一个位置按照同一方向顺序执行. sendx表示最后一次插入元素位置,recvx表示最后一次取出元素的位置 ...

  2. DP:三角形的最小路径和

    给定一个三角形,找出自顶向下的最小路径和.每一步只能移动到下一行中相邻的结点上. 例如,给定三角形: [     [2],    [3,4],   [6,5,7],  [4,1,8,3]] 自顶向下的 ...

  3. centos 7.9安装Prometheus

    一.Prometheus功能 Prometheus 在系统监控和警报方面非常强大,它适用于多种应用场景.以下是一些常见的 Prometheus 应用场景,以及具体的例子: 性能监控:Prometheu ...

  4. 如何保证Spring Boot接口安全的呢?

    在保证Spring Boot接口安全时,我们需要关注的主要方面包括:认证(Authentication).授权(Authorization).数据安全性(Data Security).以及防止常见的W ...

  5. 面试题——为什么 Vue 中不要用 index 作为 key?(diff 算法详解)

    前言 在vue中使用v-for时需要,都会提示或要求使用  :key,有的的开发者会直接使用数组的 index 作为 key 的值,但不建议直接使用 index作为 key 的值,有时我们面试时也会遇 ...

  6. Android学习day01【搭建Android Studio】

    是Google开发的操作系统 Android开发是移动应用开发的表现形式之一 还有很多的开发形式,就不一一列举了 完整项目精简的开发流程 开发工具 Android studio(强烈建议) Andro ...

  7. 文心一言 VS 讯飞星火 VS chatgpt (149)-- 算法导论12.2 4题

    五.用go语言,证明:如果一棵二叉搜索树中的一个结点有两个孩子,那么它的后继没有左孩子,它的前驱没有右孩子. 灵捷3.5 . 文心一言: 为了证明这个性质,我们首先需要明确二叉搜索树(BST)的定义和 ...

  8. .net 获取客户端真实ip

    Nginx 如何设置 情况1 在只有1层nginx代理的情况下,设置nginx配置"proxy_set_header X-Forwarded-For $remote_addr;". ...

  9. 【I/O设备】显示设备 Display

    显示设备 电信号→视觉信号 属于软复制输出设备:输出内容不能长期保存 显示内容分为:字符.图形.图像 按显示器件分类:CRT.LCD.OLED等 (PD.LED.ELD.ECD.EPID) 按显示原理 ...

  10. 用Spring导致的无法运行Java文件的问题的解决方案

    一般来说,这个问题主要是出现在用idea社区版的Spring Initializr这个插件来创建Spring项目.接下来我会以图的方式进行解说. 第一步创建Spring项目: 这里用maven的方式进 ...