一. 概述

编程实验:指的是通过代码编程进行AB实验,广泛使用于前端优化、策略优化和后端算法优化多种实验场景,包含客户端和服务端实验。 前置条件:接入客户端SDK或者服务端SDK,详见:应用接入

二. 应用场景

如何选择实验类型?适用场景是什么?
  • 服务端实验 :指通过服务端获取实验分组信息并控制配置生效或下发的实验。
    • 部分功能只能由服务端来控制,比如内容分发算法(如用户打开今日头条以后在feed流中会看见什么内容)、由服务端逻辑控制的产品功能(如推送)等。
    • 不要求唤起APP时就使实验配置生效。客户端有充分时间向服务端发起请求,获得实验配置后再向用户展示策略。
  • 客户端实验 :指通过客户端获取实验分组信息并控制配置生效的实验。
    • 部分功能只能通过客户端控制,比如客户端的UI样式、交互功能设计等。
    • APP唤起时,配置即需生效。比如我们要针对APP的开屏页面进行A/B实验,用户刚刚打开APP,客户端就需要向用户展现开屏界面了。这种情况下客户端可能来不及向服务端请求配置参数。

三、操作演示

快速了解编程实验创建流程
 

四. 操作说明

在实验列表页点击“+创建实验”,选择编程实验,进入实验创建流程:

4.1 创建实验

4.1.1 输入基本信息

实验名称 :实验名称建议取与实验内容相关的名称,如有实验版本迭代可以增加版本号后缀,让你的伙伴能够快速了解到实验是做什么的、是在哪个迭代版本的。
实验描述 :实验内容简述,可以让项目相关人员更清晰地知道到这个实验是如何做的,解决什么问题,同时也便于后期查看和管理历史实验时一目了然。
实验类型 :客户端实验、服务端实验。
实验时长 :指实验开启的时间,一般为了避免工作日与周末的用户行为差异,至少观察 2 个完整周(14天)
实验标签:可以给实验打上自定义或者通用标签,用于筛选、归类实验。
实验负责人:默认为实验创建者。
 

4.1.2 设置生效策略

是否互斥:当前实验是否需要与其他实验互斥来避免同一个用户进入两个会相互影响的实验时可以选择手动创建。例如,你要同时做按钮颜色和按钮形状的实验,就需要将两个实验加入到一个互斥组列表。了解更多互斥组相关内容及如何创建互斥组可查看:互斥组
实验流量:生效实验的用户占满足用户受众用户比例。系统默认为100%流量,您可以通过建议工具(点击流量计算器)来看设置多少流量合适。详见:实验流量建议工具
用户受众规则:通过请求参数、用户分群等来圈选你的实验是面向哪些用户生效的。
体验一致性:保障同一个用户只进入一个实验版本。开启后,用户只要进过当前实验版本(除非暂停,关闭实验),就不再出实验。各实验版本流量权重变更后,历史进组用户不会受到影响,只会影响已分配但未进组的用户,以及未分配的用户。
 

4.1.3 配置实验版本

测试用户命中条件:测试用户的命中逻辑是否忽略发布受众的过滤条件,默认为"无需满足"。
是否关联Feature:选择关联后,可以将实验与 Feature 版本进行绑定,方便后续全量管理。
实验版本/对照版本选择:对照版本一般是当前的策略,实验版本一般是我们想要尝试的新策略,同时可以修改版本的名称。
实验配置参数:填写在调用AB时需要获取的实验配置参数,用来区分当前用户命中的不同的实验策略。
测试用户:创建实验后进行测试实验的用户ID列表。在实验正式开启之前,通常需要先选择几名用户进入测试阶段,观察实验是否能够正常获取想要收集的数据,或客户端是否有bug等。
添加实验版本:点击后可新增一个实验版本。
实验组流量比例分配:用户命中实验后,不同实验版本之间分配的流量比例。
 

4.1.4 实验指标

实验指标可以衡量实验成功与否,实验开始后,在实验报告页面可以看到关注指标在实验版本和对照版本的对比,在这一步,需要选择实验关注指标。
核心指标配置:用来决策实验功能是否符合预期的「直接效果指标」或「成功指标」。更多查看确定评估指标。
监控报警:可选择目标指标点击“监控报警”,填写具体需要的报警策略,选择是否勾选“效果显著”,以及选择报警策略的生效方式。
编辑指标:点击图例中3位置处可进入指标编辑页面,对可指标进行名称、指标类型、是否设为必看指标等进行编辑。
关注指标配置:对需要关注的指标进行配置。
移除指标:移除指标,则在实验报告看不到该指标的数据。
新建指标:可新建一个需要查看的指标。
置信水平:置信水平(也称置信度、置信系数、统计显著性),是指实验组与对照组之间存在真正性能差异的概率。例如在置信水平是95%的情况下,如果某个实验指标的置信度p值<0.05,则说明这个指标相比对照组,是有显著(超过置信水平)差异的。 如需设置置信水平参数值,则需联系集团管理员或应用管理员,前往“系统管理-置信水平设置”进行设置。
 

4.2 开启实验

实验调试完毕,在实验列表页点击“开始”,即可开启实验。实验开始后,进组用户可实时查看,指标置信度第二日产出。如下图:

一文读懂火山引擎A/B测试的实验类型(1)——编程实验的更多相关文章

  1. kubernetes基础——一文读懂k8s

    容器 容器与虚拟机对比图(左边为容器.右边为虚拟机)   容器技术是虚拟化技术的一种,以Docker为例,Docker利用Linux的LXC(LinuX Containers)技术.CGroup(Co ...

  2. 一文读懂MySQL的事务隔离级别及MVCC机制

    回顾前文: 一文学会MySQL的explain工具 一文读懂MySQL的索引结构及查询优化 (同时再次强调,这几篇关于MySQL的探究都是基于5.7版本,相关总结与结论不一定适用于其他版本) 就软件开 ...

  3. 一文读懂HTTP/2及HTTP/3特性

    摘要: 学习 HTTP/2 与 HTTP/3. 前言 HTTP/2 相比于 HTTP/1,可以说是大幅度提高了网页的性能,只需要升级到该协议就可以减少很多之前需要做的性能优化工作,当然兼容问题以及如何 ...

  4. 一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现

    一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现 导读:近日,马云.马化腾.李彦宏等互联网大佬纷纷亮相2018世界人工智能大会,并登台演讲.关于人工智能的现状与未来,他们提出了各自的观点,也引 ...

  5. 一文读懂高性能网络编程中的I/O模型

    1.前言 随着互联网的发展,面对海量用户高并发业务,传统的阻塞式的服务端架构模式已经无能为力.本文(和下篇<高性能网络编程(六):一文读懂高性能网络编程中的线程模型>)旨在为大家提供有用的 ...

  6. 从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路

    本文原作者阮一峰,作者博客:ruanyifeng.com. 1.引言 HTTP 协议是最重要的互联网基础协议之一,它从最初的仅为浏览网页的目的进化到现在,已经是短连接通信的事实工业标准,最新版本 HT ...

  7. 一文读懂 深度强化学习算法 A3C (Actor-Critic Algorithm)

    一文读懂 深度强化学习算法 A3C (Actor-Critic Algorithm) 2017-12-25  16:29:19   对于 A3C 算法感觉自己总是一知半解,现将其梳理一下,记录在此,也 ...

  8. [转帖]MerkleDAG全面解析 一文读懂什么是默克尔有向无环图

    MerkleDAG全面解析 一文读懂什么是默克尔有向无环图 2018-08-16 15:58区块链/技术 MerkleDAG作为IPFS的核心数据结构,它融合了Merkle Tree和DAG的优点,今 ...

  9. [转帖]一文读懂 HTTP/2

    一文读懂 HTTP/2 http://support.upyun.com/hc/kb/article/1048799/ 又小拍 • 发表于:2017年05月18日 15:34:45 • 更新于:201 ...

  10. [转帖]从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路

    从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路   http://www.52im.net/thread-1709-1-2.html     本文原作者阮一峰,作者博客:r ...

随机推荐

  1. 如何使用Python将PDF转为Excel

    PDF文件是一种静态文档格式,通常难以编辑,而Excel则是一个灵活的表格工具.如果你需要处理PDF表格中的数据,那么将其导出为Excel文件可以大大节省工作时间和精力.Excel提供的强大数据编辑和 ...

  2. python3使用pymsql操作mysql数据库

    操作系统 :Windows 10_x64 python版本 :3.9.2 pymysql版本: 1.0.2 MySQL版本: 5.7.38   之前写过一篇关于python操作mysql数据库的文章: ...

  3. 🔥🔥Java开发者的Python快速进修指南:函数基础

    话不多说,今天我们要介绍的是函数.本系列文章追求短而精,今天我们将重点讨论函数以及与Java方法的区别.与Java方法不同,函数不需要像Java方法一样讲究修饰符等其他特性,它只需要使用"d ...

  4. 从DPlayer说起,有哪些开源的H5播放器

    引言 ​ H5指的是HTML5,也就是介绍网页播放器(只是列出而已).首先我不是什么大佬,并没有完全体验过以下我会介绍的全部播放器:其次,因为我水平比较低,主要介绍拥有中文文档的播放器,不了解开发的朋 ...

  5. 手撕Vue-Router-添加全局$router属性

    前言 经过上一篇文章的介绍,完成了初始化路由相关信息的内容,接下来我们需要将路由信息挂载到Vue实例上,这样我们就可以在Vue实例中使用路由信息了. 简而言之就是给每一个Vue实例添加一个$route ...

  6. Windows_Cmd常用操作配置

    目录 特定功能执行命令 显示系统当前版本 电源管理 历史命令相关 显示路由表 显示本地 ARP 缓存 测试主机 联通性 查看网卡信息 修改DOS窗口中的编码格式 诊断域名系统 (DNS) 基础结构的信 ...

  7. 自定义springboot-starter 动态数据源

    自定义springboot-starter 动态数据源 如果使用的是spring或springboot框架,spring提供了一个实现动态数据源的一个抽象类AbstractRoutingDataSou ...

  8. ACPM高效C++组件管理让音视频终端SDK性能更好、稳定性更高

    本专栏将分享阿里云视频云MediaBox系列技术文章,深度剖析音视频开发利器的技术架构.技术性能.开发能效和最佳实践,一起开启音视频的开发之旅.本文为MediaBox技术架构篇,重点从 ACPM介绍. ...

  9. [USACO2022OPEN S] Subset Equality S

    [USACO22OPEN] 题目描述 奶牛们正在尝试一种相互交换编码信息的新方法,她们在相关的字母中混入不相关的字母,使信息难以解码. 奶牛们传输两个字符串 \(s\) 和 \(t\),每个字符串的长 ...

  10. Vue2.0 学习 第三组 条件语句

    本笔记主要参考菜鸟教程和官方文档编写.1.v-if在div或者之类的dom中使用v-if可以控制是否插入该dom,控制由v-if的true和false决定.如:<div id="app ...