Real z-tests, guardrail tests, power/MDE, and BH-corrected segment heterogeneity — computed from the source project's own functions.
A/B 实验决策工作台
Trailhead 是一家中型 DTC 户外服饰零售商(约 1.2 亿美元年 GMV,约 58% 会话来自移动端),测试单页结账改版 vs 传统三步结账流程。用户在首次进入结账时按 50/50 随机分组。
数据说明
内置示例的所有统计量都来自实际运行源项目的 build_sample() + proportion_test / welch_test / mann_whitney_test / benjamini_hochberg 函数(seed=7,n=5,000),并非手写示例数字。alpha / power / 规划 MDE 滑杆驱动真实公式实时重算;也可以上传自己的实验 CSV,整套统计流程会在浏览器本地对你的数据重新跑一遍。
以上三项直接驱动下方 Power/MDE 与决策 Memo 的实时重新计算(真实公式,非静态数字)——源项目侧栏里的同名滑杆。
过去两个季度移动端流量占比升到 58%,但移动端结账转化率(8.0%)一直落后桌面端(10.0%)。增长和产品团队想在投入工程做全量改版前,先验证「结账改版」能否补上这个差距。
改了什么:实验组把原来的三步结账(购物车 → 收货 → 支付)换成单页结账:地址自动填充、快捷钱包(Apple Pay / Shop Pay)、减少必填字段。对照组保持现有三步流程。用户在首次进入结账时按 50/50 随机分配。
想法来源:(1) 漏斗分析显示最大流失发生在收货/支付步骤;(2) 移动端用户放弃长表单的会话回放;(3) 客服工单和购后问卷反复提到「结账太长」。
每一条风险都提前映射到一个具体会被检验的护栏指标或检查项——不是先跑实验再想「万一出了问题怎么办」。
主指标决定上线与否;护栏指标防止意外伤害。
转化率
(converted)主指标实验期内下过至少一单的被分配用户占比。用户级:每个用户只计一次,与会话数或订单数无关。
conversion_rate = converted_users / total_users (per arm)
检验方法:双比例 z 检验 · 非合并 95% CI · Cohen's h
人均收入
(revenue)护栏 · 越高越好总收入 ÷ 全部被分配用户(含未转化用户的 $0),即 ARPU。用于发现「转化上升但客单价下降」。
revenue_per_user = sum(revenue) / total_users (per arm)
检验方法:Mann-Whitney U 检验(零膨胀 / 偏态指标)
人均会话数
(sessions)护栏 · 越高越好实验期内每个被分配用户的平均会话数。下降可能意味着参与度降低。
sessions_per_user = sum(sessions) / total_users (per arm)
检验方法:Welch t 检验(不等方差)
页面加载 (ms)
(page_load_ms)护栏 · 越低越好平均页面加载延迟(毫秒)。越低越好——新钱包 SDK 不能拖慢速度。
avg_page_load = mean(page_load_ms) (per arm)
检验方法:Welch t 检验 · 负向护栏
跳出率
(bounce)护栏 · 越低越好跳出用户占比(单次交互即离开)。越低越好——令人困惑的改版会推高它。
bounce_rate = bounced_users / total_users (per arm)
检验方法:Welch t 检验 · 负向护栏
决策规则
仅当主指标转化率显著为正(p < alpha)且没有护栏指标朝错误方向实质性移动时才 SHIP(上线)。否则:RAMP WITH CAUTION(谨慎灰度,为正但某护栏需缓解)、KEEP RUNNING(继续运行,效应小于当前可检测 MDE)、或 DO NOT SHIP(不要上线,主指标受损)。