关于 ab-testing-ecommerce
面向电商团队的 A/B 测试技能,指导实验工具选择、样本量估算、平台实施和结果解读。强调预先设定停止规则,以减少过早结束测试造成的误判。
主要功能
- 01按电商平台选择测试工具
- 02启动前计算所需样本量
- 03配置实验与稳定分组
- 04结合收入和护栏指标解读结果
适用场景
- 01验证商品页、结账或定价改动
- 02预估实验需要的访客数量
- 03判断实验何时结束并发布变体
- 04避免定价测试中的用户分组变化
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ finsilabs/ awesome-ecommerce-skills --skill ab-testing-ecommerce安装后在 Claude Code 中输入/ab-testing-ecommerce确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
tile.jsonevals/exposure-tracking-conversion-tracking-an/criteria.jsontask.mdevals/pricing-test-consistency-guardrail-metri/criteria.jsontask.mdevals/sample-size-calculation-and-server-side-/criteria.jsontask.md详细介绍
电商 A/B 测试
概述
A/B 测试(拆分测试)通过受控实验进行:随机抽取一部分访客查看变体,其余访客查看对照组。随后通过统计分析判断差异是真实存在,还是由偶然因素造成。良好的测试规范——开始前计算所需样本量、测试至少运行两个完整星期,并且绝不提前停止——能帮助区分真实洞察与噪声。
本技能将指导你如何在特定平台上运行 A/B 测试、选择合适的工具,以及正确解读结果。
何时使用本技能
- 需要调整产品页面、结账流程或定价,并希望通过数据验证时
- 需要为提高准确性,将客户端 A/B 测试工具迁移到服务端分配时
- 需要在开始实验前计算统计功效时
- 需要分析实验结果,并判断何时发布或弃用某个变体时
- 运行定价测试,并需要确保每位客户看到的价格一致时
- 想了解测试达到有效意义所需的样本量时
核心说明
步骤 1:确定平台并选择合适的测试工具
| 平台 | 推荐工具 | 原因 |
|---|---|---|
| Shopify | Google Optimize(免费,已停止服务)→ Convert.com 或 Intelligems | Intelligems 专为 Shopify 打造,并支持通过固定分配进行定价测试;Convert 可通过 Shopify 主题集成 |
| Shopify(定价测试) | Intelligems | 唯一能在 Shopify 上进行真正的服务端价格测试且不会出现闪烁的工具 |
| WooCommerce | Nelio A/B Testing 插件或 Google Optimize | Nelio 可与 WordPress/WooCommerce 原生集成;自动跟踪 WooCommerce 转化事件 |
| BigCommerce | Convert.com 或 VWO(通过脚本注入) | 两者都可通过 BigCommerce 店面脚本管理器集成 |
| 自定义 / 无头架构 | LaunchDarkly(功能标记 + 实验)或使用 GrowthBook(开源)构建 | 服务端分配,不会出现闪烁;GrowthBook 免费且可自托管 |
步骤 2:在启动前计算所需样本量
切勿在不知道每个变体所需访客数的情况下启动测试。没有预先确定的停止规则就运行测试,会导致频繁查看结果并产生假阳性。
使用 https://www.evanmiller.org/ab-testing/sample-size.html 上的免费计算器,或参考以下指南:
- 基准转化率: 从平台分析中提取当前 CVR(最近 30 天)
- 最小可检测效应: 你希望检测到的最小提升幅度(通常为 0.3–1 个百分点)
- 统计功效: 标准值为 80%
- 显著性水平: 95% 置信度(alpha = 0.05)
示例: 一家 CVR 为 2.5%、希望检测到 0.3 个百分点提升的 Shopify 店铺,每个变体大约需要 8,600 个会话。按每天 500 个会话计算,每个变体至少需要运行 17 天。
在测试开始前写下所需样本量。这就是你的强制停止规则。
步骤 3:在平台上设置实验
Shopify
选项 A:使用 Convert.com 进行基于主题的测试
- 安装 Convert.com,并通过 Online Store → Themes → Edit code → theme.liquid 添加跟踪脚本
- 在 Convert.com 中,前往 Experiences → Create Experience → A/B Test
- 使用可视化编辑器创建变体(更改按钮颜色、标题、布局)
- 设置目标:Add to Cart 或 Purchase(Convert 会自动跟踪 Shopify 购买事件)
- 设置流量分配(大多数测试采用 50/50)
- 将计算出的最小样本量设为停止条件
选项 B:使用 Intelligems 进行定价测试
- 从 Shopify App Store 安装 Intelligems
- 前往 Intelligems → Price Tests → New Test
- 选择要测试的产品,并设置变体价格
- Intelligems 会在服务器端处理粘性分配——同一位客户始终会看到相同的价格
- 将测试时长设为预先计算的样本量对应的时长
- 在 Intelligems 的控制面板中查看结果:它显示每位访客的收入(而不仅仅是 CVR)作为主要指标
Shopify 结账测试(仅限 Shopify Plus):
- 使用 Checkout Extensibility 或 Shopify Functions 创建结账变体
- Shopify Plus 提供通过 Checkout profiles 进行的内置 A/B 测试
WooCommerce
使用 Nelio A/B Testing(推荐)
- 从 WordPress 插件目录安装 Nelio A/B Testing
- 前往 Nelio A/B Testing → Add New Test
- 选择测试类型:
- **Page Test:**测试不同的落地页或产品页面变体
- **WooCommerce Test:**测试产品定价、描述或图片
- **Headline Test:**测试页面标题或 CTA
- 将目标设为 WooCommerce Order(转化事件)
- Nelio 会实时跟踪统计显著性——不要仅仅因为达到显著性就提前停止;请等待达到预先计算的样本量
- 在 Nelio A/B Testing → Results 中查看结果
替代方案:Google Optimize(免费,需要 Google Analytics 4)
- 创建 Google Optimize 账户并将其关联到 GA4 媒体资源
- 通过 MonsterInsights 插件(最简单的方法)或手动在
<head>中,将 Optimize 容器 ID 添加到 WordPress 网站 - 在 Optimize 中创建 A/B 测试,并将其指向 WooCommerce 产品或结账页面的 URL
- 使用 GA4 事件设置目标(例如,
purchase)
BigCommerce
- 前往 Storefront → Script Manager → Create a Script
- 添加 A/B 测试工具脚本(Convert.com、VWO 或 Optimizely),并将放置位置设为 Head,页面范围设为 All pages
- 在测试工具中创建实验,目标定位到 BigCommerce 产品或分类页面 URL
- 将转化目标设为跟踪订单确认页面 URL(
/order-confirmation) - BigCommerce 还在 Marketing → Banner Manager 下提供内置的多变量测试,用于横幅级测试(仅限横幅的视觉内容)
自定义 / 无头架构
对于无头店面,请使用服务器端分配,以避免闪烁并支持定价测试:
使用 GrowthBook(开源,推荐)
- 安装 GrowthBook:
npm install @growthbook/growthbook - 在服务器端使用用户 ID 进行初始化,以实现粘性分配:
import { GrowthBook } from "@growthbook/growthbook";
const gb = new GrowthBook({
apiHost: "https://cdn.growthbook.io",
clientKey: process.env.GROWTHBOOK_CLIENT_KEY,
attributes: {
id: userId, // stable user ID for consistent assignment
loggedIn: !!customerId,
},
});
await gb.loadFeatures();
// Assign variant — deterministic for the same userId
const checkoutButtonVariant = gb.getFeatureValue("checkout-button-color", "blue");
- 将曝光和转化数据回传至 GrowthBook:
gb.setTrackingCallback((experiment, result) => {
analytics.track("Experiment Viewed", {
experimentId: experiment.key,
variationId: result.key,
});
});
// On order completion:
analytics.track("Purchase", { revenue: order.total });
- 在 GrowthBook UI 中查看统计结果——它会对你的数据进行贝叶斯或频率学派显著性检验
第 4 步:正确解读结果
查看结果时:
- 等待预先计算的样本量达到要求——不要因为结果“看起来显著”就提前结束
- 查看每位访客的收入,而不只是 CVR——结账测试可能会提高 CVR,却降低 AOV;两者都要衡量
- 至少运行完整的 2 周——一周中的不同日期会造成影响,使 7 天测试的结果失真
- 查看护栏指标——即使主要指标有所改善,也要检查退货率和客户服务工单量
| 指标 | 检查内容 |
|---|---|
| 主要指标 | 每位访客的收入(不只看 CVR) |
| 护栏指标 | 退货率(变体不应导致退货增加) |
| 护栏指标 | 购物车放弃率 |
| 置信度 | p < 0.05 且达到最低样本量 |
最佳实践
- 开始前计算样本量——运行测试直到结果“看起来显著”属于 p 值操纵;将预先计算的样本量设为停止规则
- 定价测试使用服务端分配——客户端工具会造成价格闪烁,并可能在页面重新加载时显示不同价格,带来法律和用户体验风险
- 同一页面上同时运行的实验不要超过 3–4 个——实验之间的交互效应会污染所有结果
- 排除内部团队流量——在测试工具的排除列表中添加办公室 IP,避免内部浏览污染结果
- 开始前记录假设——写下你预期会发生什么以及原因;事后生成假设会导致确认偏误
- 至少运行完整的 2 个工作周——考虑一周中的不同日期以及周末购物模式的差异
常见问题
| 问题 | 解决方案 |
|---|---|
| 测试因结果“看起来显著”而提前结束,之后提升幅度却消失了 | 将预先计算的样本量设为强制停止规则;配置测试工具,在达到样本量前锁定结果 |
| 同一用户在不同会话中看到不同变体 | 使用与稳定用户 ID(而非会话 ID)关联的服务端分配;Intelligems 和 GrowthBook 默认会正确处理 |
| 结账测试显示 CVR 提升,但 AOV 下降 | 始终将每位访客的收入作为主要指标;CVR 和 AOV 可能朝相反方向变化 |
| Shopify 定价测试出现价格闪烁 | 使用 Intelligems,而非客户端工具——它会在页面渲染前通过服务端分配价格 |
| 新奇效应在第一周夸大了变体结果 | 分别报告包含和不包含前 3 天数据的结果;第一周大幅飙升后又回落,通常是新奇效应 |
相关技能
- @conversion-rate-optimization
- @product-analytics
- @customer-analytics
- @sales-reporting-dashboard
- @attribution-modeling