更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【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. 高性能队列——Disruptor(转)

    https://tech.meituan.com/disruptor.html 背景 Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中 ...

  2. WebViewJavascriptBridge.js代码学习

    //notation: js file can only use this kind of comments //since comments will cause error when use in ...

  3. 记一次在线客服系统用户遭勒索,索要茶水费事件的 Windbg 分析与应对

    本文记录了几个月前,客户在使用在线客服系统过程中,遭到勒索威胁,索要茶水费 的事件.经过应对,快速的化解了攻击威胁,并继续安全使用至今. 讲故事 威胁次日,收到报警,服务器 CPU 使用率持续超过 8 ...

  4. React、Umi、RN 整体理解

    可以少去理解一些不必要的概念,而多去思考为什么会有这样的东西,它解决了什么问题,或者它的运行机制是什么? React 1. React 起源和发展(是什么?) React 是用于构建用户界面的 Jav ...

  5. RIPEMD加密技术

    摘要:RIPEMD(RACE Integrity Primitives Evaluation Message Digest)是一种密码散列函数,广泛应用于网络安全领域.本文首先介绍RIPEMD的起源和 ...

  6. 【luogu题解】P9749 [CSP-J 2023] 公路

    \(Meaning\) \(Solution\) 这道题我来讲一个不一样的解法:\(dp\) 在写 \(dp\) 之前,我们需要明确以下几个东西:状态的表示,状态转移方程,边界条件和答案的表示. 状态 ...

  7. 自研、好用的ORM 读写分离功能使用

    Fast Framework 作者 Mr-zhong 代码改变世界.... 一.前言 Fast Framework 基于NET6.0 封装的轻量级 ORM 框架 支持多种数据库 SqlServer O ...

  8. [c/c++][考研复习笔记]内部排序篇学习笔记

    考研排序复习笔记 插入排序 #include<stdio.h> #include<stdlib.h> #define MaxSize 9 //折半插入排序 void ZBIns ...

  9. [ABC261C] NewFolder(1)

    Problem Statement For two strings $A$ and $B$, let $A+B$ denote the concatenation of $A$ and $B$ in ...

  10. Mybatis-Flex之增、删、改

    方法全解 (1) INSERT BaseMapper 的接口提供了 insert 和 insertBatch 方法,用于新增数据: insert(entity):插入实体类数据,不忽略 null 值. ...