一. 概述

编程实验:指的是通过代码编程进行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. 机器学习从入门到放弃:硬train一发手写数字识别

    一.前言 前面我们了解了关于机器学习使用到的数学基础和内部原理,这一次就来动手使用 pytorch 来实现一个简单的神经网络工程,用来识别手写数字的项目.自己动手后会发现,框架里已经帮你实现了大部分的 ...

  2. (int argc, char *argv[])在MCU中的调试使用

    这里主要讲了基于RTT的 finsh->MSH_CMD_EXPORT 方法,在串口终端中调用自定义函数,并传入参数的方法. 在传统的MCU开发中 当我们需要测试一个函数在传入不同参数时的运算结果 ...

  3. 栈与队列应用:逆波兰计算器(逆波兰表达式;后缀表达式)把运算符放到运算量后边 && 中缀表达式转化为后缀表达式

    1 //1.实现对逆波兰输入的表达式进行计算如(2-1)*(2+3)= 5 就输入2 1 - 2 3 + * //先把2 1 压栈 遇到-弹栈 再把2 3压进去 遇到+弹栈 最后遇到*弹栈 2 //2 ...

  4. Vue3设计思想及响应式源码剖析

    一.Vue3结构分析 1.Vue2与Vue3的对比 对TypeScript支持不友好(所有属性都放在了this对象上,难以推倒组件的数据类型) 大量的API挂载在Vue对象的原型上,难以实现TreeS ...

  5. Taro:高性能小程序的最佳实践

    前言 作为一个开放式的跨端跨框架解决方案,Taro 在大量的小程序和 H5 应用中得到了广泛应用.我们经常收到开发者的反馈,例如"渲染速度较慢"."滑动不够流畅" ...

  6. 2021年前端面试题——JS

    目录: DOM事件流有那些阶段? 解释事件冒泡以及如何阻止它? 事件委派/事件委托是什么? 如何理解 JS 中的this关键字? 更改this指向的方法有那些? apply.call.bind 区别? ...

  7. [ICPC2014WF]Sensor Network

    题目描述 A wireless sensor network consists of autonomous sensors scattered in an environment where they ...

  8. [ABC246G] Game on Tree 3

    Problem Statement There is a rooted tree with $N$ vertices, Vertex $1$ being the root. For each $i = ...

  9. [ABC263A] Full House

    Problem Statement We have five cards with integers $A$, $B$, $C$, $D$, and $E$ written on them, one ...

  10. 轻量型 Web SCADA 组态软件 TopLink

    图扑物联 发布了一款工业物联网边缘侧应用场景的轻量型 Web SCADA 组态软件 Iotopo TopLink.该产品采用 B/S 架构,提供 Web 管理界面,软件包大小仅 23MB,无需安装客户 ...