一. 概述编程实验:指的是通过代码编程进行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 开启实验实验调试完毕,在实验列表页点击“开始”,即可开启实验。实验开始后,进组用户可实时查看,指标置信度第二日产出。如下图: