更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群

日前,在 WOT 全球创新技术大会上,火山引擎 DataTester 技术负责人韩云飞做了关于字节跳动 A/B 测试实践分享。DataTester 是字节跳动内部应用多年的 A/B 实验平台,至今已承载了字节内部 500 余条业务线的 A/B 实验任务,累计开展的实验多达 150 万次。

字节跳动内部有着非常浓厚的数据文化和实验文化。抖音、今日头条的名字都经由 A/B 测试确定,而 A/B 测试也被作为基础环节,嵌入在了字节内部产品研发的链路中。

通常来说,一个产品新功能的研发流程如下所示:

而字节内部的产品新功能研发流程则会在常规的基础研发流程中,额外嵌入两个环节:埋点设计与 A/B 实验方案设计。

A/B 实验在字节,就像研发敲代码、产品写需求文档一样,是产品从构思、设计到上线全流程中不可或缺的一环。

举个例子,假如抖音团队希望提升产品的用户活跃度,计划通过给产品增加一个“熟人 Tab”的方式进行,那么整个的产品优化改动流程是什么样子的呢?

首先,从产品经理做 PRD 方案的时候开始,就会提供不止一种产品方案,包括用户路径方案、按钮位置方案等,不同的方案对于用户在抖音上的使用及留存数据,影响一定是不同的。多种方案的数据效果,将通过 A/B 测试进行量化。

下方的页面样式,就是“熟人 Tab”放置的 3 种不同方案示例:

V0 组:不设置“熟人 Tab”,不出现“熟人关注内容”,不出现熟人投稿后展示

V1 组:设置“熟人 Tab”,出现“熟人关注内容”,熟人投稿后展示在“关注 Tab”页

V2 组:设置“熟人 Tab”,不出现“熟人关注内容”,熟人投稿后展示在“熟人 Tab”页

上述 3 组方案即为在 DataTester 中开启实验的 A/B 实验组。

由于抖音的用户体量大,如果草率的决定某个产品设置可能会对整个生态有很大的影响,因此会首先开启小规模、小流量的多重 A/B 实验。A/B 实验的目的,一方面要验证这个功能是否能有效达成初始设计目标,另一方面也要验证新功能是否对抖音大盘核心数据有正向影响,如是否能长期提升用户活跃度以及投稿的意愿等。

在上述提到的例子中,DataTester 的实验结果显示 V2 组试验指标各项均更为优秀,说明新增“熟人 Tab”对比其他方案而言能对抖音价值有更为明显的提升,那么后续在产品迭代中,会考虑全量上线这个产品优化策略。

DataTester 而今也通过火山引擎对外开放服务,截止目前,已服务了包括美的、得到、凯叔讲故事等在内的上百家外部企业,为业务的提效、增长、产品迭代、运营活动等各个环节提供了科学的决策依据,将成熟的“数据驱动增长”经验赋能给各行业。

点击跳转 火山引擎A/B测试DataTester 了解更多

火山引擎 DataTester:A/B 实验如何应用在抖音的产品优化流程中?的更多相关文章

  1. 火山引擎 DataTester:让企业“无代码”也能用起来的 A/B 实验平台

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 当数字化变革方兴未艾,无代码正受到前所未有的关注.Salesforce 的数据显示,52%的 IT 部门表示,公司 ...

  2. 还原火山引擎 A/B 测试产品——DataTester 私有化部署实践经验

      作为一款面向ToB市场的产品--火山引擎A/B测试(DataTester)为了满足客户对数据安全.合规问题等需求,探索私有化部署是产品无法绕开的一条路.   在面向ToB客户私有化的实际落地中,火 ...

  3. 火山引擎 A/B 测试产品——DataTester 私有化架构分享

    作为一款面向 ToB 市场的产品--火山引擎A/B测试(DataTester)为了满足客户对数据安全.合规问题等需求,探索私有化部署是产品无法绕开的一条路. 在面向 ToB 客户私有化的实际落地中,火 ...

  4. 如何又快又好实现 Catalog 系统搜索能力?火山引擎 DataLeap 这样做

      摘要 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维.治理.资产.安全等全套数据中台建设,降低工作成本和数据维护成本.挖掘数据价 ...

  5. 火山引擎MARS-APM Plus x 飞书 |降低线上OOM,提高App性能稳定性

    通过使用火山引擎MARS-APM Plus的memory graph功能,飞书研发团队有效分析定位问题线上case多达30例,线上OOM率降低到了0.8‰,降幅达到60%.大幅提升了用户体验,为飞书的 ...

  6. 火山引擎 DataLeap 的 Data Catalog 系统公有云实践

      Data Catalog 通过汇总技术和业务元数据,解决大数据生产者组织梳理数据.数据消费者找数和理解数的业务场景.本篇内容源自于火山引擎大数据研发治理套件 DataLeap 中的 Data Ca ...

  7. 火山引擎DataLeap数据调度实例的 DAG 优化方案

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 实例 DAG 介绍 DataLeap 是火山引擎自研的一站式大数据中台解决方案,集数据集成.开发.运维.治理.资产管理能力 ...

  8. 火山引擎 DataLeap:3 个关键步骤,复制字节跳动一站式数据治理经验

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维.治理. ...

  9. JuiceFS 在火山引擎边缘计算的应用实践

    火山引擎边缘云是以云计算基础技术和边缘异构算力结合网络为基础,构建在边缘大规模基础设施之上的云计算服务,形成以边缘位置的计算.网络.存储.安全.智能为核心能力的新一代分布式云计算解决方案. 01- 边 ...

  10. 火山引擎 DataLeap:揭秘字节跳动数据血缘架构演进之路

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维 ...

随机推荐

  1. go 中如何实现定时任务

    定时任务简介 定时任务是指按照预定的时间间隔或特定时间点自动执行的计划任务或操作.这些任务通常用于自动化重复性的工作,以减轻人工操作的负担,提高效率.在计算机编程和应用程序开发中,定时任务是一种常见的 ...

  2. 单个Nginx发布多个react静态页面

    在有些网络环境中,端口是一种比较稀缺的资源,而我们又恰好有多个前端项目需要发布,我们可以采取将多个项目映射到同一个端口上面的方案加以解决. 本教程前端项目主要以react为主,部署在linux服务器上 ...

  3. mysq数据库查询之分组查询

    一.什么是分组查询分组查询:将查询结果按照指定字段进行分组二.分组查询的基本语法select 查询字段 from 表名 [where 条件] group by 分组字段名 [having 条件表达式] ...

  4. 每日总结|9.21-Hive搭建及报错解决方案

    搭建 安装hive 把 apache-hive-3.1.2-bin.tar.gz 上传到 linux 的/opt/software 目录下 解压 apache-hive-3.1.2-bin.tar.g ...

  5. idea配置servlet项目找不到servlet jar包爆红【解决办法】

    1.看你的implements 后面的Servlet是否大写了 2.大部分原因就是缺少servlet-api jar包或者idea找不到jar包 如果你是爆红的,那么问题就在这里,点击-号,重新添加这 ...

  6. 解决IDEA加载maven工程缓慢

    如图,哪里没有加哪里 -DarchetypeCatalog=internal

  7. The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission,iphone手机video标签报错

    The request is not allowed by the user agent or the platform in the current context, possibly becaus ...

  8. LCIS最长公共上升子序列!HDU-1423

    This is a problem from ZOJ 2432.To make it easyer,you just need output the length of the subsequence ...

  9. django分页器使用

    https://docs.djangoproject.com/en/3.2/topics/pagination/ Django 提供了高级和低级方法来帮助您管理分页数据--即,分成多个页面的数据,并带 ...

  10. 牛客刷Java记录第四天

    第一题,单选题 class Car extends Vehicle { public static void main (String[] args) { new Car(). run(); } pr ...