试验层
|
收藏
试验层的作用
为了让多个可能产生相互干扰的试验同时运行,需要将这些试验加入到同一个试验层中,用户进入试验层时只能命中该试验层中的一个试验。
详细分流逻辑参照: 试验分流模型介绍
试验层的类型
根据试验层内分流逻辑的不同,试验层分为“粘性试验层”和“动态试验层”。
粘性试验层
在典型的A/B测试场景中,往往需要保证用户在试验运行周期内,始终保持一致的命中策略。因此在用户请求分流后,即使后续调小试验占用的试验层流量比例,对于已在分流服务端计算生成分流结果的用户,无论其是否在客户端命中过该试验,也不会因为流量调小而出组;在调整各试验组的流量比例时,也不会进行跳组,以此来保证试验策略的一致性。符合这种分流策略的试验,我们定义为“粘性试验”。
粘性试验只能归属于粘性试验层,在粘性试验层中的试验,用户一旦进组后就不会再出组。
动态试验层
然而在某些特定场景下,例如当一个分组指标明显低于预期时,需要通过减小改该分组的流量比例,使整体流量(包括已进组用户)向其他优胜组倾斜。或者调小整个试验的进组流量比例,以确保影响范围不被扩大。在这种场景下,就需要用户命中状态根据设定的流量比例及时变化。符合这种分流策略的试验,我们定义为“动态试验”。
动态试验只能归属于动态试验层,在动态层中的试验,用户命中策略会随试验流量比例调整而动态变化。
试验层管理列表
试验层列表页中展示试验层分组信息,当前以及创建的试验层,包含了名称、在运行的试验数量、当前流量剩余情况、描述、分流主体类型、试验层类型、创建时间、创建人。
- 运行试验数量:当前试验层中在运行的试验数量。(试验状态包括:准备中、运行中和运行中(暂停))
- 剩余可用流量比例:剩余流量按照准备中、运行中和运行中(暂停)状态的试验流量占用进行统计。
支持的操作:新建、编辑、查看试验层剩余流量、分配流量和删除试验层操作。
创建试验层
点击右上角的“创建试验层”按钮新建一个试验层。
1. 试验层名称
试验名称为必填项,不能为空。长度不超过 100 字,支持输入中文、英文、数字、下划线、中划线、引号、双引号,不支持特殊字符。
2.所属分组
如在试验层分组内新建试验层,所属分组为当前分组。
如在「未分组」或「全部」内新建试验层,所属分组可以选择其他分组。
3.分流主体
(1)神策 ID
神策标识用户的 ID,神策 ID 将关联用户的登录 ID 及匿名 ID,用户登录前后会被识别为一个用户进行分流
(2)设备 ID
指神策 AnonymousId,一般应用于客户端试验
(3)登录 ID
指 loginId,通常为客户业务 ID,只对登录的用户进行分流,一般较多应用于服务端试验
(4)自定义 ID
除以上预置 ID 外,客户可根据业务自定义分流主体 ID。例如:手机号、会员 ID 等
4. 试验层类型
选择创建的试验层类型。
动态试验中,用户命中分组可能会随流量调整而发生变化,SDK 需根据命中结果及时上报命中信息。请确保您已将SDK升级到最新版本,低版本SDK用户命中可能会影响统计准确性。
当前已支持的SDK类型及版本依赖如下:
SDK类型 | 版本依赖 |
---|---|
Android | abtesting-sdk-android 1.0.1 |
iOS | abtesting-sdk-ios 1.0.0 |
Web | sa-sdk-javascript 1.25.1 |
微信小程序 | sa-sdk-miniprogram 1.19.2 |
Java | abtesting-sdk-java 1.0.0 |
5. 描述
可以填写描述信息。
编辑试验层
支持对已创建的试验层进行编辑,可以更改试验层名称或描述。
查看和分配试验层流量
在查看和分配试验层流量抽屉中,可以查看进行中和非运行状态的试验信息。
1. 进行中试验包括准备中、运行中和运行中(暂停)状态。
2. 进行中试验可以查看试验进组用户数。
3. 当具备试验层管理权限时,可以通过「分配流量」操作,快速调整试验层内的试验流量。
删除试验层
当试验层内有以下状态的试验时,不支持删除:
- 准备中
- 运行中
- 运行中(暂停)
- 已发布
- 已发布(暂停)
- 待发布(已回滚)
- 上线失败
试验层分组管理
1.试验层分组列表
展示分组序号、分组名称、分流主体、试验层个数、空白域个数、创建日期/创建人、操作。
2.搜索分组
输入分组名称、创建人进行模糊搜索。
3.创建试验层分组
输入分组名称,支持下划线、数字、中英文,字符长度不超过20个。
选择分组的分流主体,试验层只有符合该分组的分流主体才可以加入分组。
4.试验层分组操作
支持重命名、删除分组。
注意事项
关于试验流量分配的补充说明
为了适应不同的试验场景,神策A/B测试提供了粘性和动态的流量分配策略,因其具备不同特性,这里做补充说明。
1. 粘性试验
试验请求大部分发生在APP初始化阶段(服务端试验除外),用户在请求分流后,会在分流服务端保存用户的命中记录,保证用户在一次试验生命周期内,始终保持一致的策略。因此,在用户请求并命中试验后,即使后续调小试验占用试验层的流量比例,已经请求命中试验的用户(包括APP初始化阶段请求试验但可能并未真正触发试验上报$ABTestTrigger事件的用户)也不会再出组,因此可能会导致即使调小流量比例,也没有剩余用户流量被释放出来。
为了更好的说明该逻辑,以下举一个极端的例子:
试验层共有 100 人,其中试验 A 占用流量比例为 100% ,上线后 100 人都启动了 APP 成功拉取到试验结果缓存在本地,其中 50 人进入试验页面触发试验并上报 $ABTestTrigger 事件。此时,调小占用试验层流量到 50%,由于 100 人之前已全部请求到试验结果,因此即使调小流量,未真正命中试验的 50 人也不会被释放。那么可能会导致在当前试验层上线新试验时,即使设置了剩余50%的流量,在上线后,可能也没有流量可用。
因此,在粘性试验中,调小流量时仅针对试验新用户(未请求过分流服务的用户)生效。同样地,在试验运行过程中,若调整各个分组流量比例,最终试验报告呈现的进组人数,可能也无法达到预期设定的比例,随着样本量积累,会越来越趋近于所设定的分组比例。如果您希望粘性试验中有更多用户按后续调整的分组流量比例分流,建议先占用较小的试验层流量比例进行试验,待真正确定分组流量比例时,同步调大试验占有的试验层流量比例,释放更多未命中试验的用户参与新的分组流量比例分流,以达到预期效果。
2. 动态试验
动态试验分流策略不会记录用户历史命中的分流结果,在每次请求分流时,会根据试验设定的流量比例实时计算命中结果。因此如果您的试验场景时传统典型的A/B测试场景,为了保证用户策略的一致性,不建议在试验过程中修改各个试验组的流量比例,以避免用户跳组;也不建议减小试验占层的比例,这种操作会使一部分已命中试验的用户出组,影响用户体验及报告体验。
在动态试验运行中,调小试验占层流量比例或者修改各试验分组流量比例时,会生成新的试验报告版本。试验结果将分阶段进行观测,减量避免流量调整带来的观测误差。
请结合实际业务场景、用户体验及试验目标,合理选择对应的流量分配策略。
注:本文档内容为神策产品使用和技术细节说明文档,不包含适销类条款;具体企业采购产品和技术服务内容,以商业采购合同为准。