Title: 创建和配置 Locale: zh URL: https://sensorswave.com/docs/experiments/create-and-configure/ Description: 掌握在控制台创建和配置实验的完整流程 本文详细介绍如何在 Sensors Wave 控制台创建和配置 A/B 实验,包括填写基本信息、配置变体组、定向分流规则和实验指标。 ## 创建实验基本信息 ### 进入实验管理页面 1. 登录 Sensors Wave 控制台 2. 点击左侧菜单的 **AB** > **实验** 3. 点击右上角的 **新建实验** 按钮 ### 填写基本信息 #### 实验标识(Key) **定义**:代码中使用的唯一标识符。 **命名规范**: - 使用英文小写字母和下划线 - 格式:`模块_功能_目的` - 示例:`cart_button_color_test`、`checkout_flow_optimization` **注意事项**: - 实验 Key 一旦创建不可修改 - 确保在项目中唯一 - 避免使用特殊字符和空格 **示例**: ``` cart_button_color_test recommendation_algorithm_test pricing_strategy_test checkout_flow_optimization ``` #### 显示名称 **定义**:控制台显示的友好名称,方便团队成员理解。 **示例**: ``` 购物车按钮颜色实验 推荐算法对比实验 定价策略测试 结账流程优化实验 ``` **特点**: - 可以使用中文 - 可以随时修改 - 不影响代码 #### 实验描述 详细说明实验的背景、目的和预期效果: **示例**: ``` 背景:当前加入购物车按钮使用蓝色,点击率为 24%,低于行业平均水平。 目的:测试红色按钮是否能提升点击率。 预期效果:红色按钮能将点击率提升到 26.4%(相对提升 10%)。 ``` #### 假设 明确的实验假设,用于指导实验设计和结果判断: **好的假设示例**: - "红色按钮比蓝色按钮的点击率高 10%" - "简化为 3 步的结账流程能将转化率从 20% 提升到 25%" - "深度学习推荐算法比协同过滤算法的点击率高 15%" **差的假设示例**: - "红色按钮更好"(缺少量化指标) - "新流程能提升转化"(没有具体提升幅度) --- ## 配置变体组 ### 添加变体 实验至少需要 2 个变体:对照组和实验组。 #### 对照组(Control) **定义**:当前使用的方案,作为基准。 **配置**: - **变体名称**:`control`(推荐) - **显示名称**:对照组 - **描述**:当前方案(蓝色按钮) #### 实验组(Treatment) **定义**:新的方案,需要验证的版本。 **配置**: - **变体名称**:`treatment`(推荐) - **显示名称**:实验组 - **描述**:新方案(红色按钮) ### 流量分配 设置每个变体获得的用户流量百分比。 #### 50/50 分配(推荐) ``` 对照组:50% 实验组:50% ``` **优点**: - 样本量平衡 - 统计功效最高 - 结果最可靠 **适用场景**:大多数 A/B 实验 #### 70/30 分配(保守策略) ``` 对照组:70% 实验组:30% ``` **优点**: - 降低风险,多数用户使用稳定方案 - 适合高风险实验 **缺点**: - 实验组样本量小,需要更长周期 **适用场景**: - 新功能验证(风险较高) - 核心流程优化(影响面大) #### 多变体分配 如果有多个实验组: ``` 对照组:34% 实验组 A:33% 实验组 B:33% ``` **注意**: - 确保总和为 100% - 每个变体至少分配 10% 流量 ### 变体命名规范 **推荐命名**: - 对照组:`control` - 单实验组:`treatment` - 多实验组:`treatment_a`、`treatment_b`、`treatment_c` **避免的命名**: - `v1`、`v2`(不够语义化) - `test`、`new`(容易混淆) - 中文命名(代码中不方便使用) --- ## 配置分流规则 分流规则决定哪些用户参与实验。 ### 全量分流(默认) 所有用户都有机会参与实验,通过随机算法分配到不同变体。 **适用场景**: - 大多数 A/B 实验 - 面向全体用户的优化 **无需额外配置**,默认即为全量分流。 ### 定向分流 只对特定用户群体进行实验,基于用户属性筛选受众。 #### 可用属性 基于 SDK 预置属性进行定向: **设备属性**: - `$os`:操作系统(iOS、Android、Windows) - `$browser`:浏览器类型(Chrome、Safari) - `$model`:设备型号 **地理位置**: - `$country`:国家 - `$province`:省份 - `$city`:城市 **应用属性**: - `$app_version`:应用版本 完整列表请参考 [预置事件和预置属性](../data-integration/preset-events-and-properties.mdx)。 #### 配置示例 **示例 1:只对 iOS 用户实验** ``` 属性:$os 条件:等于 值:iOS ``` **示例 2:只对北京用户实验** ``` 属性:$city 条件:等于 值:北京 ``` **示例 3:多条件组合** ``` 条件 1:$os 等于 iOS 条件 2:$city 等于 北京 逻辑:AND(同时满足) ``` --- ## 配置实验指标 实验指标用于判断实验成败。实验支持配置任何事件分析类型的指标。 ### 统计学检验支持 以下 6 种指标类型支持统计显著性检验,会在报告数据中显示 P 值、置信区间等统计指标: | 指标类型 | 说明 | 示例 | |---------|------|------| | **COUNT** | 计数类指标 | 点击次数 | | **UV** | 人数类指标(转化率) | 点击人数 | | **SUM** | 总和类指标 | 消费金额 | | **AVG** | 平均值指标 | 平均停留时长 | | **COUNT_PER_USER** | 人均次数 | 人均点击次数 | | **SUM_PER_USER** | 人均金额 | 人均消费金额 | > **说明**:其他事件分析指标类型也可以配置为实验指标,但不会提供统计学检验结果。 ### 指标配置示例 | 指标名称 | 事件 | 类型 | 说明 | |---------|------|------|------| | 按钮点击率 | `AddToCartClicked` | UV | 衡量点击转化率 | | 点击次数 | `AddToCartClicked` | COUNT | 衡量总点击量 | | 人均收入 | `Purchase` | SUM_PER_USER | 衡量人均消费金额 | | 总收入 | `Purchase` | SUM | 衡量整体收入 | | 页面停留时长 | `PageView` | AVG | 衡量平均停留时间 | | 人均浏览次数 | `ProductView` | COUNT_PER_USER | 衡量人均浏览深度 | ### 指标值与指标均值 实验报告数据中包含两个核心指标概念,不同指标类型的计算逻辑如下: | 指标类型 | 指标值(Value) | 指标均值(Mean) | |---------|---------------|-----------------| | **COUNT** | 事件发生的总次数 | 总次数 / 曝光人数 | | **UV** | 触发事件的用户数 | 用户数 / 曝光人数(即转化率) | | **SUM** | 数值属性的累计总和 | 总和 / 曝光人数 | | **AVG** | 触发用户的数值属性平均值 | 等于指标值本身 | | **COUNT_PER_USER** | 触发用户的人均次数 | 等于指标值本身 | | **SUM_PER_USER** | 触发用户的人均金额 | 等于指标值本身 | **累计类指标 vs 人均类指标的分母区别**: - **累计类指标(COUNT、UV、SUM)**:指标均值的分母是**曝光人数**(即分流到该变体的全部用户) - **人均类指标(AVG、COUNT_PER_USER、SUM_PER_USER)**:指标值的分母是**触发事件的用户数**,指标均值直接等于指标值 > **说明**:指标均值用于统计学检验计算(P 值、置信区间等),是实验显著性判断的基础数据。 --- ## 保存和启动 ### 实验状态流转 实验在生命周期中会经历以下状态: ``` 新建实验 ↓ [DRAFT 草稿] ←→ [DEBUG 调试] ↓ [RUNNING 运行中] ↓ [RELEASED 已发布] 或 [FINISHED 已结束] ``` | 状态 | 说明 | |------|------| | **DRAFT(草稿)** | 实验已创建但未发布,可反复修改配置。代码中无法获取实验配置,不记录曝光日志。 | | **DEBUG(调试)** | 用于测试环境验证,仅特定测试用户可见。可在草稿和调试之间切换。 | | **RUNNING(运行中)** | 实验正式上线,正在收集数据并进行分流。SDK 自动记录曝光日志。 | | **RELEASED(已发布)** | 实验达到预期目标后,全量应用选定的优胜变体,实验流程结束。 | | **FINISHED(已结束)** | 实验手动结束,不再收集新数据,保留数据用于回顾。 | ### 保存为草稿 点击 **保存** 按钮,实验保存为草稿状态: **草稿状态特点**: - 可以反复修改配置 - 代码中无法获取实验配置 - 不记录曝光日志 **适用场景**: - 实验配置未完成 - 需要团队审核 - 等待代码集成完成 ### 调试验证 在草稿状态下,可以将实验切换到 **DEBUG(调试)** 状态: - 仅特定测试用户可见 - 用于验证 SDK 集成是否正确 - 确认变体配置无误 - 调试完成后可切回草稿继续修改 ### 启动实验 确认配置无误后,点击 **启动** 按钮,实验进入 **RUNNING(运行中)** 状态: **启动前检查清单**: - [ ] 实验 Key 正确且唯一 - [ ] 假设明确且可验证 - [ ] 变体配置正确(至少 2 个变体) - [ ] 流量分配合理(总和为 100%) - [ ] 指标选择合理 - [ ] 代码已集成并测试(建议先通过 DEBUG 调试验证) **启动后**: - 实验状态变为 **RUNNING(运行中)** - 代码中可以获取实验配置 - SDK 自动记录曝光日志 - 开始收集数据 ### 结束实验 实验运行结束后,根据结果选择: - **RELEASED(已发布)**:实验达到预期目标,全量应用优胜变体 - **FINISHED(已结束)**:手动结束实验,不再收集新数据 --- ## 实验配置最佳实践 ### 1. 清晰的命名 ``` ✅ 推荐: - 实验 Key:checkout_flow_optimization - 显示名称:结账流程优化实验 - 变体名称:control、treatment ❌ 不推荐: - 实验 Key:test1 - 显示名称:实验 - 变体名称:a、b ``` ### 2. 详细的描述 ``` ✅ 推荐: 背景:当前结账流程有 5 个步骤,用户流失率高达 60%。 目的:简化为 3 步,降低流失率,提升支付转化率。 预期效果:支付转化率从 20% 提升到 25%。 ❌ 不推荐: 优化结账流程。 ``` ### 3. 合理的流量分配 ``` ✅ 推荐: - 常规实验:50/50 - 高风险实验:70/30 - 多变体实验:均匀分配或对照组占多数 ❌ 不推荐: - 90/10(实验组样本量过小) - 流量总和不等于 100% ``` ### 4. 一致的变量类型 ``` ✅ 推荐: 对照组:{ price: 299 } // Number 实验组:{ price: 249 } // Number ❌ 不推荐: 对照组:{ price: 299 } // Number 实验组:{ price: "249" } // String ``` ### 5. 完整的指标体系 ``` ✅ 推荐: - 配置多个互补的实验指标 - 核心指标使用支持统计检验的类型(COUNT、UV、SUM、AVG、COUNT_PER_USER、SUM_PER_USER) - 同时关注转化类指标(UV)和数量类指标(COUNT、SUM) ❌ 不推荐: - 只设置一个指标 - 使用不支持统计检验的指标类型作为核心判断依据 ``` --- ## 常见问题 ### Q:实验 Key 可以修改吗? **A**:不可以。实验 Key 一旦创建不可修改。如果需要修改,只能删除实验并重新创建。 ### Q:流量分配可以在实验运行期间修改吗? **A**:不建议。修改流量分配会破坏流量粘性,影响实验结果。如果必须修改,建议停止当前实验,创建新实验。 ### Q:变体配置可以在实验运行期间修改吗? **A**:不建议。修改配置会影响实验结果的可靠性。如果必须修改,建议停止当前实验,创建新实验。 ### Q:如何确保实验配置正确? **A**:使用发布前检查清单,逐项检查实验配置。建议先将实验切换到 DEBUG 状态,在测试环境验证代码集成是否正确。 --- ## 相关文档 - [实验设计](experiment-design.mdx):学习如何设计科学的实验 - [分流策略](targeting-and-allocation.mdx):了解分流规则的配置 - [SDK 集成](sdk-integration.mdx):在代码中集成实验 --- **最后更新时间**:2026 年 1 月 29 日