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

DataTester 是火山引擎数智平台旗下产品,能基于先进的底层算法,提供科学分流能力和智能的统计引擎,支持多种复杂的 A/B 实验类型。DataTester 深度耦合推荐、广告、搜索、UI、产品功能等多种业务场景需求,为业务增长、转化、产品迭代、策略优化、运营提效等各个环节提供科学的决策依据,让业务真正做到数据驱动。
DataTester 经过抖音、今日头条等字节业务多年验证,截至 2022 年 8 月,已在字节跳动内部累计完成 150 万次 A/B 实验。此外也已经服务了美的、得到、凯叔讲故事等在内多家标杆客户,将成熟的“数据驱动增长”经验赋能给各行业。

点击跳转火山引擎A/B测试DataTester官网了解详情

在创建一个 AB 实验前,通常需要完成以下的准备:

1. 明确实验类型:服务端实验 or 客户端实验

服务端 &客户端分别是什么,以及他们之间的关系是什么?

  • 在网络上提供服务的叫做服务器端(server) ,享受服务的叫做客户端(client)。

  • 服务端,是为客户端服务的,如向客户端提供资源,保存客户端数据。客户端,是指与服务器相对应,为客户提供本地服务的程序。

举个例子:

比如我们玩《王者荣耀》,手机上的《王者荣耀》APP 就是客户端,而我们所连接的《王者荣耀》服务器,就是服务端。

比如刷抖音的时候,我们自己手机上的抖音 APP 就是客户端,抖音自己的服务器就是服务端。我们所看的抖音视频并不是直接存储在手机客户端里的,而是我们在打开客户端后,客户端向服务端发出请求(request),告诉服务端:“用户现在要看视频了,快把视频拿来!”收到客户端的请求后,服务端将会进行回应(response),告诉客户端现在应该给用户展现哪一个视频。

什么是服务端实验 &客户端实验?如何选择实验类型?适用场景是什么?

  • 服务端实验,指通过服务端获取实验分组信息并控制配置生效或下发的实验。

    部分功能只能由服务端来控制,比如内容分发算法(如用户打开今日头条以后在 feed 流中会看见什么内容)、由服务端逻辑控制的产品功能(如推送)等。

    不要求唤起 APP 时就使实验配置生效。客户端有充分时间向服务端发起请求,获得实验配置后再向用户展示策略。

  • 客户端实验,指通过客户端获取实验分组信息并控制配置生效的实验。

    部分功能只能通过客户端控制,比如客户端的 UI 样式、交互功能设计等。

    APP 唤起时,配置即需生效。比如我们要针对 APP 的开屏页面进行 A/B 实验,用户刚刚打开 APP,客户端就需要向用户展现开屏界面了。这种情况下客户端可能来不及向服务端请求配置参数。

2. 制定实验方案

  • 提出问题:为什么我的注册页面转化率不够高?或者为什么我的推荐系统 点击/曝光 比率不理想?

  • 建立实验假设:让注册的按钮文案更又吸引力些?或者更换一套推荐模型?

  • 准备方案:不同的按钮文案,按钮的点击次数和页面进入的流量统计,或者不同的推荐模型,推荐内容点击和进入推荐页面的流量统计。

  • 验证这个假设:构建了一个不同的按钮文案作为实验组 B,与对照组 A 同时上线,展示给具有相同属性的两部分用户,并获得统计数据。

  • 分析数据得出初步结果:如果实验组 B 成功提高了转化率,那么这个假设得到了验证。否则,需要返回第二步来做出其他假设。

3. 了解实验指标

核心指标:实验主要关注的指标,每个实验只可设置一个核心指标。

  • 例如您的产品是电商产品,您可以将下列指标之一作为核心指标:购物车按钮点击率、购买转化率。

必看指标:每个实验都必须关注的指标,常用于进行功能改版时监控用户的体验。

  • 例如修改了按钮文案,按钮的点击率为核心指标,同时监测用户到访 PV 值等。对推荐模型进行实验,在主要核心指标为点击率时,也监测用户停留时长和跳出率等必看指标。

创建一个科学决策必备的A/B实验,都需要哪些准备?——火山引擎 DataTester 使用指南的更多相关文章

  1. 创建一个vue 项目 必备的几个插件

    第一步npm安装 首先:先从nodejs.org中下载nodejs 打开控制命令行程序(CMD),node -v 检查是否正常 使用淘宝NPM 镜像 npm  install  -g  cnpm  - ...

  2. Java网络编程Demo,使用TCP 实现简单群聊功能Groupchat,创建一个服务端,使多个客户端都能收到消息

    效果图: 开启服务端 客户端一 客户端二 客户端三 实现代码: 客户端类 import java.io.IOException; import java.net.ServerSocket; impor ...

  3. 实验六:分析Linux内核创建一个新进程的过程

    原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 题目自拟,内容围绕对Linu ...

  4. 创建一个支持异步操作的operation

    NSOperationQueue时iOS中常用的任务调度机制.在创建一个复杂任务的时候,我们通常都需要编写NSOperation的子类.在大部分情况下,重写main方法就可以满足要求.main方法执行 ...

  5. 如何创建一个基本JQuery的插件

    如何创建一个基本的插件 有时您希望在整个代码中提供一些功能.例如,也许你想要一个单一的方法,你可以调用一个jQuery选择,对选择执行一系列的操作.在这种情况下,您可能需要编写一个插件. 链接jQue ...

  6. 使用Cocos studio创建一个简单的project

    前不久我接到了一个项目,项目要求使用Cocos2d-X的最新版本号,Cocos2d-X3.4.对于一直在陶醉在Cocos2d-X2.2.3的世界中的我开说,使用Cocos2d-X3.4忽然认为有点不适 ...

  7. 利用django创建一个投票网站(五)

    创建你的第一个 Django 项目, 第五部分 这一篇从第四部分(en)结尾的地方继续讲起.我们在前几章成功的构建了一个在线投票应用,在这一部分里我们将其创建一些自动化测试. 自动化测试简介 自动化测 ...

  8. 2.4使用属性在 ASP.NET Web API 2 路由创建一个 REST API

    Web API 2 支持一种新型的路由,称为属性路由.属性路由的一般概述,请参阅属性路由 Web API 2 中.在本教程中,您将使用属性路由创建一个 REST API 集合的书.API 将支持以下操 ...

  9. 【译】采用MVC模式创建一个简单的javascript App

    原文标题:Build A Simple Javascript App The MVC Way 作者:joshcrawmer4 翻译人:huansky 初次翻译,翻译的不好,还请见谅 JavaScrip ...

  10. python web编程 创建一个web服务器

    这里就介绍几个底层的用于创建web服务器的模块,其中最为主要的就是BaseHTTPServer,很多框架和web服务器就是在他们的基础上创建的 基础知识 要建立一个Web 服务,一个基本的服务器和一个 ...

随机推荐

  1. 聊聊BIO、NIO与AIO的区别(转)

    转自:https://www.cnblogs.com/blackjoyful/p/11534985.html 题目:说一下BIO/AIO/NIO 有什么区别?及异步模式的用途和意义? BIO:Apac ...

  2. Golang面试题从浅入深高频必刷「2023版」

    大家好,我是阳哥.专注Go语言的学习经验分享和就业辅导. Go语言特点 Go语言相比C++/Java等语言是优雅且简洁的,是我最喜爱的编程语言之一,它既保留了C++的高性能,又可以像Java,Pyth ...

  3. 一张图搞懂sql执行顺序

    冲浪时发现一张很有意思的图,细分了一个长sql语句的执行顺序

  4. 聊聊分布式 SQL 数据库Doris(二)

    Doris中,Leader节点与非Leader节点和Observer节点之间的元数据高可用和一致性,是通过bdbje(全称:Oracle Berkeley DB Java Edition)的一致性和高 ...

  5. 如何通过C++ 给PDF文档添加文字水印

    因PDF文档具有较好的稳定性和兼容性,现在越来越多的合同.研究论文.报告等都采用PDF格式.为了进一步保护这些重要文档内容免受未经授权的复制或使用,我们可以添加水印以表明其状态.所有权或用途.针对工作 ...

  6. 【译】Visual Studio 2022 - 17.8 的性能改进

    Visual Studio 2022 17.8版本欢迎一系列令人振奋的性能增强,包括响应式文件打开体验,改进 Razor/Blazor 的响应性,加速 F5,优化的 C++ 虚幻引擎智能感知和非 SD ...

  7. 匿名远程启动jenkins的job

    安装jenkins插件Build Authorization Token Root job配置中的构建触发器,勾选触发远程构建,输入要用的令牌,如soul 通过jenkins地址调用触发 非参数化jo ...

  8. 【Android】无法通过drawable下的selector类型改变背景颜色?

    举例 我在darwable目录下创建了selector文件,并设置了如下内容 <?xml version="1.0" encoding="utf-8"?& ...

  9. 你真的了解HashSet 和HashMap的区别、优缺点、使用场景吗?

    HashSet 和 HashMap 是 Java 集合框架中的两个常用类,它们都用于存储和管理数据,但在使用方式.功能和性能上有很大的区别. HashSet 和 HashMap 的区别 区别一:用途不 ...

  10. GSM/WCDMA/LTE/NR网元架构

    1.GSM系统网元架构: 一套完整的蜂窝移动通信系统主要是由交换网络子系统(NSS).无线基站子系统(BSS).移动台(MS)及操作维护子系统(OMS)四大子系统设备组成. NSS 包括: MSC: ...