mcpField
A
ab-testing-ecommerce

ab-testing-ecommerce

github.com/finsilabs营销与增长6086 次安装5 天前更新
代码仓库

关于 ab-testing-ecommerce

面向电商团队的 A/B 测试技能,指导实验工具选择、样本量估算、平台实施和结果解读。强调预先设定停止规则,以减少过早结束测试造成的误判。

主要功能

  1. 01按电商平台选择测试工具
  2. 02启动前计算所需样本量
  3. 03配置实验与稳定分组
  4. 04结合收入和护栏指标解读结果

适用场景

  1. 01验证商品页、结账或定价改动
  2. 02预估实验需要的访客数量
  3. 03判断实验何时结束并发布变体
  4. 04避免定价测试中的用户分组变化

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill ab-testing-ecommerce

安装后在 Claude Code 中输入/ab-testing-ecommerce确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

tile.json
evals/exposure-tracking-conversion-tracking-an/
criteria.json
task.md
evals/pricing-test-consistency-guardrail-metri/
criteria.json
task.md
evals/sample-size-calculation-and-server-side-/
criteria.json
task.md

详细介绍

电商 A/B 测试

概述

A/B 测试(拆分测试)通过受控实验进行:随机抽取一部分访客查看变体,其余访客查看对照组。随后通过统计分析判断差异是真实存在,还是由偶然因素造成。良好的测试规范——开始前计算所需样本量、测试至少运行两个完整星期,并且绝不提前停止——能帮助区分真实洞察与噪声。

本技能将指导你如何在特定平台上运行 A/B 测试、选择合适的工具,以及正确解读结果。

何时使用本技能

  • 需要调整产品页面、结账流程或定价,并希望通过数据验证时
  • 需要为提高准确性,将客户端 A/B 测试工具迁移到服务端分配时
  • 需要在开始实验前计算统计功效时
  • 需要分析实验结果,并判断何时发布或弃用某个变体时
  • 运行定价测试,并需要确保每位客户看到的价格一致时
  • 想了解测试达到有效意义所需的样本量时

核心说明

步骤 1:确定平台并选择合适的测试工具
平台推荐工具原因
ShopifyGoogle Optimize(免费,已停止服务)→ Convert.com 或 IntelligemsIntelligems 专为 Shopify 打造,并支持通过固定分配进行定价测试;Convert 可通过 Shopify 主题集成
Shopify(定价测试)Intelligems唯一能在 Shopify 上进行真正的服务端价格测试且不会出现闪烁的工具
WooCommerceNelio A/B Testing 插件或 Google OptimizeNelio 可与 WordPress/WooCommerce 原生集成;自动跟踪 WooCommerce 转化事件
BigCommerceConvert.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 进行基于主题的测试

  1. 安装 Convert.com,并通过 Online Store → Themes → Edit code → theme.liquid 添加跟踪脚本
  2. 在 Convert.com 中,前往 Experiences → Create Experience → A/B Test
  3. 使用可视化编辑器创建变体(更改按钮颜色、标题、布局)
  4. 设置目标:Add to Cart 或 Purchase(Convert 会自动跟踪 Shopify 购买事件)
  5. 设置流量分配(大多数测试采用 50/50)
  6. 将计算出的最小样本量设为停止条件

选项 B:使用 Intelligems 进行定价测试

  1. 从 Shopify App Store 安装 Intelligems
  2. 前往 Intelligems → Price Tests → New Test
  3. 选择要测试的产品,并设置变体价格
  4. Intelligems 会在服务器端处理粘性分配——同一位客户始终会看到相同的价格
  5. 将测试时长设为预先计算的样本量对应的时长
  6. 在 Intelligems 的控制面板中查看结果:它显示每位访客的收入(而不仅仅是 CVR)作为主要指标

Shopify 结账测试(仅限 Shopify Plus):

  • 使用 Checkout Extensibility 或 Shopify Functions 创建结账变体
  • Shopify Plus 提供通过 Checkout profiles 进行的内置 A/B 测试

WooCommerce

使用 Nelio A/B Testing(推荐)

  1. 从 WordPress 插件目录安装 Nelio A/B Testing
  2. 前往 Nelio A/B Testing → Add New Test
  3. 选择测试类型:
    • **Page Test:**测试不同的落地页或产品页面变体
    • **WooCommerce Test:**测试产品定价、描述或图片
    • **Headline Test:**测试页面标题或 CTA
  4. 将目标设为 WooCommerce Order(转化事件)
  5. Nelio 会实时跟踪统计显著性——不要仅仅因为达到显著性就提前停止;请等待达到预先计算的样本量
  6. 在 Nelio A/B Testing → Results 中查看结果

替代方案:Google Optimize(免费,需要 Google Analytics 4)

  1. 创建 Google Optimize 账户并将其关联到 GA4 媒体资源
  2. 通过 MonsterInsights 插件(最简单的方法)或手动在 <head> 中,将 Optimize 容器 ID 添加到 WordPress 网站
  3. 在 Optimize 中创建 A/B 测试,并将其指向 WooCommerce 产品或结账页面的 URL
  4. 使用 GA4 事件设置目标(例如,purchase)

BigCommerce
  1. 前往 Storefront → Script Manager → Create a Script
  2. 添加 A/B 测试工具脚本(Convert.com、VWO 或 Optimizely),并将放置位置设为 Head,页面范围设为 All pages
  3. 在测试工具中创建实验,目标定位到 BigCommerce 产品或分类页面 URL
  4. 将转化目标设为跟踪订单确认页面 URL(/order-confirmation)
  5. BigCommerce 还在 Marketing → Banner Manager 下提供内置的多变量测试,用于横幅级测试(仅限横幅的视觉内容)

自定义 / 无头架构

对于无头店面,请使用服务器端分配,以避免闪烁并支持定价测试:

使用 GrowthBook(开源,推荐)

  1. 安装 GrowthBook:npm install @growthbook/growthbook
  2. 在服务器端使用用户 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");
  1. 将曝光和转化数据回传至 GrowthBook:
gb.setTrackingCallback((experiment, result) => {
  analytics.track("Experiment Viewed", {
    experimentId: experiment.key,
    variationId: result.key,
  });
});

// On order completion:
analytics.track("Purchase", { revenue: order.total });
  1. 在 GrowthBook UI 中查看统计结果——它会对你的数据进行贝叶斯或频率学派显著性检验
第 4 步:正确解读结果

查看结果时:

  1. 等待预先计算的样本量达到要求——不要因为结果“看起来显著”就提前结束
  2. 查看每位访客的收入,而不只是 CVR——结账测试可能会提高 CVR,却降低 AOV;两者都要衡量
  3. 至少运行完整的 2 周——一周中的不同日期会造成影响,使 7 天测试的结果失真
  4. 查看护栏指标——即使主要指标有所改善,也要检查退货率和客户服务工单量
指标检查内容
主要指标每位访客的收入(不只看 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

评论

支持 Markdown