剖析字节案例,火山引擎 A/B 测试 DataTester 如何“嵌入”技术研发流程
更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群
日前,在 WOT 全球创新技术大会上,火山引擎 DataTester 技术负责人韩云飞做了关于字节跳动 A/B 测试平台的分享。DataTester 是字节跳动内部应用多年的 A/B 实验平台,平台自建立至今,承载了字节 500 余个业务线的 A/B 实验任务,累计已开展过 150 万次实验,现在字节跳动每天会新增实验 2000 余个,同时在 DataTester 上运行的实验有 3 万余个。
字节跳动内部有着非常浓厚的数据文化和实验文化,抖音、今日头条的名字都经由 A/B 测试确定,而 A/B 测试也是整个研发链路上的必经一环。本文将以字节研发流程中的两个个案例,介绍 A/B 测试在研发全流程中的角色。
1.产品系统重构
今日头条是一款信息类互联网产品,它会基于数据挖掘的推荐引擎向用户推荐文章。今日头条早期的信息流服务是使用 Python 的一项单体服务,但随着字节业务发展的迅速,今日头条的流量也迎来了爆发式增长,产品在性能工程上的复杂度也在急剧升高。
为了优化产品,使之更加适应大流量下的响应,今日头条的信息流业务设计了一次大规模服务化重构:语言选型从 Python 切换到了 Golang,从单体服务架构演变成了分层的微服务架构。

但这个重构设计,是围绕产品性能方面的技术指标展开的,但对于用户体验的影响和业务目标的影响,却无法通过短期观察得到结论。为了避免复杂的新系统上线后,降低头条用户的产品使用体验,因此在重构方案设计完毕后,今日头条业务花费了 6 个月以上的时间,开展了新方案和旧方案对比的 A/B 测试,总共进行过几十次 A/B 实验,多点开启灰度测试,并不断分析结果、迭代方案,确认改进点对业务数据指标的影响。
在半年多之后,这个复杂的新系统终于结束了 A/B 测试,并推全上线。上线后的新系统对今日头条大部分全局指标几乎无影响,甚至一些关键指标取得了显示正向的结果。
2.产品 Bug 修复
这个案例是字节直播产品的场景。该产品在设计了新的精排模型,原本期望是想召回模型学习到更多信息,提前做一些召回符合用户兴趣的内容,提升部分产品关键指标。但在实际操作中,由于模型配置出现了 Bug,上线失败。

因此,该直播产品的团队针对这个 Bug 进行了修复,但只能采用使精排模型变得更复杂的方案。新的功能虽然已经成功跑通,但由于模型更加复杂,对于用户产品体验负向影响的风险会随之升高。
为了验证新开发的功能对用户体验的影响,该团队使用 DataTester 开启了 A/B 测试,他们将用户分为新用户组、老用户组分别开启实验,通过数据观察发现,新的功能对于新用户的而言没有什么实质性影响,新用户的使用时长、留存等指标依然是在一个特定区间波动;但在老用户组的实验数据中,他们发现老用户在内容人均阅读时长上,有了 0.3%的显著提高。虽然 0.3%是一个看起来不大的数字,但对于字节产品的用户体量而言,这种幅度的提升,在用户内容消费时长上的实质提升很大。
上述两个案例是 DataTester 在字节跳动应用的缩影,实际上,在字节整个的研发流程中,开发、上线、BugFix、优化、重构,A/B 测试都会作为基础设施中的一环,来服务于整个研发流程。除此之外,A/B 实验也广泛应用于字节跳动业务的方方面面,从产品命名到交互设计,从改变字体、弹窗效果、界面大小,到推荐算法、广告优化、用户增长...... 可以说,DataTester 已经融入在字节的每一个业务和每一项决策中。

DataTester 当前已通过火山引擎面向外部企业开放服务,能基于先进的底层算法,提供科学分流能力和智能的统计引擎,支持多种复杂的 A/B 实验类型。目前,火山引擎 DataTester 已经服务了美的、得到、凯叔讲故事等在内的上百家标杆客户,将成熟的“数据驱动增长”经验赋能给各行业。
点击跳转 A/B测试 DataTester了解更多
剖析字节案例,火山引擎 A/B 测试 DataTester 如何“嵌入”技术研发流程的更多相关文章
- 火山引擎 A/B 测试产品——DataTester 私有化架构分享
作为一款面向 ToB 市场的产品--火山引擎A/B测试(DataTester)为了满足客户对数据安全.合规问题等需求,探索私有化部署是产品无法绕开的一条路. 在面向 ToB 客户私有化的实际落地中,火 ...
- 还原火山引擎 A/B 测试产品——DataTester 私有化部署实践经验
作为一款面向ToB市场的产品--火山引擎A/B测试(DataTester)为了满足客户对数据安全.合规问题等需求,探索私有化部署是产品无法绕开的一条路. 在面向ToB客户私有化的实际落地中,火 ...
- 火山引擎 DataTester:让企业“无代码”也能用起来的 A/B 实验平台
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 当数字化变革方兴未艾,无代码正受到前所未有的关注.Salesforce 的数据显示,52%的 IT 部门表示,公司 ...
- JuiceFS 在火山引擎边缘计算的应用实践
火山引擎边缘云是以云计算基础技术和边缘异构算力结合网络为基础,构建在边缘大规模基础设施之上的云计算服务,形成以边缘位置的计算.网络.存储.安全.智能为核心能力的新一代分布式云计算解决方案. 01- 边 ...
- 火山引擎 DataLeap:揭秘字节跳动数据血缘架构演进之路
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维 ...
- 火山引擎 DataLeap:3 个关键步骤,复制字节跳动一站式数据治理经验
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维.治理. ...
- 火山引擎MARS-APM Plus x 飞书 |降低线上OOM,提高App性能稳定性
通过使用火山引擎MARS-APM Plus的memory graph功能,飞书研发团队有效分析定位问题线上case多达30例,线上OOM率降低到了0.8‰,降幅达到60%.大幅提升了用户体验,为飞书的 ...
- 火山引擎 DataLeap 的 Data Catalog 系统公有云实践
Data Catalog 通过汇总技术和业务元数据,解决大数据生产者组织梳理数据.数据消费者找数和理解数的业务场景.本篇内容源自于火山引擎大数据研发治理套件 DataLeap 中的 Data Ca ...
- 如何又快又好实现 Catalog 系统搜索能力?火山引擎 DataLeap 这样做
摘要 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维.治理.资产.安全等全套数据中台建设,降低工作成本和数据维护成本.挖掘数据价 ...
- 火山引擎 DataLeap:一家企业,数据体系要怎么搭建?
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 导读:经过十多年的发展,数据治理在传统行业以及新兴互联网公司都已经产生落地实践.字节跳动也在探索一种分布式的数据治 ...
随机推荐
- java学习内容-1
java学习内容-1 (一)jdk的使用 (二)定义标识符的规则 (三)java常用类 1.String类 2.Math类 3.Integer和Double类 4.输出 5.Scanner类 例子 ( ...
- java 创建对象的5种方式
1.创建对象的5种方式 1.通过 new 关键字 这是最常用的一种方式,通过 new 关键字调用类的有参或无参构造方法来创建对象.比如 Object obj = new Object(); 2.通过 ...
- 用原型实现Class的各项语法
本人之前对Class一直不够重视.平时对原型的使用,也仅限于在构造函数的prototype上挂属性.原型尚且用不着,更何况你Class只是原型的一颗语法糖? 直到公司开始了一个webgis项目,使用o ...
- C语言【进制、原反补码、数据类型】
C语言[进制.原反补码.数据类型] 1.二进制.八进制.十进制.十六进制在C语言中的使用(赋值及输出)? /** 二进制 赋值时以 0b 或 0B 开头: 输出时没有所属占位符, 十六进制整数输出也比 ...
- Android Sutdio 编入System API 等隐藏API 方法
1. 将 classes.jar 放入 app/libs 文件夹下 右键点击 jar 包,点击 Add as Library 2. 项目级 Gradle 文件新增以下配置 gradle.project ...
- 【Codeforces Global Round 12】 C2 - Errich-Tac-Toe题解(思维)
题面 题目要求不能有有三个连续相同的'X'或'O',注意到这样的连续串它们的横纵坐标之和是连续变化的,考虑将它们按照横纵坐标之和对 \(3\)的模值分组,因为这样分组后相邻的三个相同字符就被分到了三个 ...
- Java操作Word修订功能:启用、接受、拒绝、获取修订
Word的修订功能是一种在文档中进行编辑和审阅的功能.它允许多个用户对同一文档进行修改并跟踪这些修改,以便进行审查和接受或拒绝修改.修订功能通常用于团队合作.专业编辑和文件审查等场景. 本文将从以下几 ...
- 华企盾DSC编辑文件不加密常见问题
1.先查看客户端日志主进程是否是加密进程.日志中是不是勾选智能半透明.加密类型是否有添加 2.用procmon监控保存的文件找出writefile的进程是否有添加,进程树是否有父进程,加密类型是否正确 ...
- java,类、实例化、构造方法、this关键字、方法重载
编写类的步骤: 1.定义类名 2.编写类的属性 3.编写类的方法 public 访问修饰符,表示在整个项目中都可以调用,也可以用其他词 使用class关键字来定义类,如下,定义一个Cat类 给了属性 ...
- 2023.2 IDEA安装激活教程
1.下载安装IntelliJ IDEA 先去官网下载,我这里下载的是最新版本的2023.2,测试过2023最新版本以及2022版本以上的版本没问题. 安装然后打开 提示要输入激活码,先关闭应用,等下再 ...