关于 ab-testing-pricing
为电商团队提供价格 A/B 测试的规划与实施指导,涵盖 Shopify、WooCommerce、BigCommerce 及自定义店面。重点是控制分组、指标和实验时长,以减少偏差并避免顾客看到不一致价格。
主要功能
- 01按电商平台选择测试方案
- 02设计假设、指标与流量分组
- 03配置价格变体和访客分组
- 04监测收入、转化率与显著性
- 05检查实验风险与常见问题
适用场景
- 01在全站调价前验证收入影响
- 02比较不同客群的价格敏感度
- 03并行测试不同产品的价格
- 04记录并限制可逆的价格实验
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ finsilabs/ awesome-ecommerce-skills --skill ab-testing-pricing安装后在 Claude Code 中输入/ab-testing-pricing确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
tile.jsonevals/conversion-event-tracking-and-variant-id/criteria.jsontask.mdevals/database-schema-and-deterministic-varian/criteria.jsontask.mdevals/statistical-significance-calculation-and/criteria.jsontask.md详细介绍
价格 A/B 测试
概述
价格 A/B 测试可让你开展受控实验——向一部分访客展示一种价格,向另一部分访客展示不同的价格——再决定是否永久更改价格。这是杠杆效应最高的优化方式之一,但风险也最大:执行不当的测试会破坏客户信任,并产生误导性数据。大多数平台都没有内置的价格 A/B 测试功能,因此需要使用专用应用或自定义实现。本指南将带你了解如何在各大平台上正确设置价格实验。
何时使用此技能
- 需要在全站推出价格变更前,获得数据驱动的证据时
- 测试不同客户群体或产品类别对价格的敏感度时
- 评估新定价模式对收入的影响时(例如,从 $49.99 调整为 $45.00)
- 在不同产品上同时运行多个价格实验,且避免相互干扰时
- 法规或伦理要求价格测试必须记录、设定时限且可撤销时
核心说明
步骤 1:确定商家的平台并选择合适的方法
| 平台 | 推荐工具 | 原因 |
|---|---|---|
| Shopify | Intelligems 或 Neat A/B Testing app | Shopify 原生应用,无需自定义代码即可处理价格变体分配、会话固定和统计报告 |
| Shopify Plus | Intelligems + Shopify Functions | Shopify Functions 支持服务端价格覆盖,是 Plus 上最可靠的方法 |
| WooCommerce | Nelio A/B Testing 插件或 Split Hero | 原生 WordPress 实验插件,支持 WooCommerce 价格测试 |
| BigCommerce | Intelligems(支持 BigCommerce)或 Google Optimize 的替代方案 | BigCommerce 的 Price Lists API 可按客户群体设置特定变体价格 |
| 自定义 / 无头架构 | 使用自有会话分桶逻辑和平台定价 API 构建 | 控制力最强,但需要自定义统计跟踪 |
步骤 2:设计实验
设置任何工具之前,请先定义以下参数:
- 假设——“将价格从 $49.99 降至 $44.99,将使每位访客的收入提高 5% 以上”
- 主要指标——每位访客收入(RPV),而不仅仅是转化率。较低的价格可能带来更高的转化率,但每笔订单的收入也可能更低
- 流量分配——50/50 是标准做法;同一产品同时测试的变体不得超过 2 个
- 最短时长——至少 7 天,以涵盖工作日和周末的差异;理想时长为 14 天
- 最小样本量——使用显著性计算器计算(可使用 abtestguide.com)。宣布获胜方案前,每个变体至少应有 100 次转化
- 排除规则——已按旧价格购买的现有客户,在实验期间不应看到新价格
步骤 3:平台专属设置
Shopify
选项 A:Intelligems(大多数商家的推荐选择)
Intelligems 是领先的 Shopify 价格测试应用。它负责处理会话一致性和统计显著性,并原生集成 Shopify 的结账功能。
- 从 Shopify App Store 安装 Intelligems
- 前往 Intelligems → Tests → New Price Test
- 选择要测试的产品
- 设置变体价格(例如,$49.99 与 $44.99)
- 设置流量分配比例(建议为 50/50)
- 根据样本量计算器设置开始日期和预计结束日期
- Intelligems 通过持久性 Cookie 将访客分配到不同变体,并在其控制面板中报告每位访客收入(RPV)、转化率和统计显著性
需要配置的关键设置:
- Sticky bucketing — 确保同一访客始终看到相同价格(默认启用)
- Returning customer exclusion — 在 Advanced Settings 下,排除之前以原价购买过该产品的客户
- Minimum detectable effect — 将其设置为足以证明价格变更合理的最低收入变化幅度(例如,5%)
选项 B:Neat A/B Testing
如果只需要简单的价格拆分测试,这是一个更轻量的替代方案:
- 从 App Store 安装 Neat A/B Testing
- 创建一个针对特定产品或系列的测试
- 设置价格变体和流量分配比例
- 在 Neat 控制面板中监控结果
选项 C:Shopify Plus — Shopify Functions(高级)
适用于需要完全掌控的 Plus 商家:
- 创建一个 Shopify Function(Discount Function 类型)
- 该函数会接收购物车上下文和客户 ID
- 对客户/会话 ID 进行确定性哈希运算,以分配到不同变体
- 应用固定金额或百分比折扣,金额等于价格差
- 通过 Shopify 订单 Webhook 和自定义分析存储跟踪转化
WooCommerce
选项 A:Nelio A/B Testing 插件
- 从 WordPress 插件目录安装 Nelio A/B Testing
- 前往 Nelio A/B Testing → Add New Experiment → WooCommerce Product Experiment
- 选择产品并设置替代价格
- 配置转化目标(购买该产品)
- 插件会跟踪会话,并报告具有统计显著性的转化率
选项 B:使用 Google Optimize(已停止服务)替代方案进行手动测试
由于 Google Optimize 已于 2023 年停止服务,可以考虑:
- VWO(Visual Website Optimizer) — 支持通过 JavaScript 进行 WooCommerce 价格测试
- AB Tasty — 企业级工具,原生集成 WooCommerce
- Convert.com — 兼容 WooCommerce,并支持服务器端测试
WooCommerce 重要提示:客户端价格变更(基于 JavaScript)仅是表面显示,不会改变实际结账价格。务必确保 A/B 测试工具在 WooCommerce 产品层级更改价格,或通过 woocommerce_get_price 筛选器更改,而不只是更改显示的数字。
BigCommerce
- 使用 BigCommerce 的 Price Lists 功能(Plus 及更高版本提供):
- 前往 Products → Price Lists → Add Price List
- 为你的“处理”价格创建价格列表
- 将价格列表分配给特定客户组
- 将客户分配到相应客户组,从而划分为对照组/处理组
- 使用 BigCommerce 内置分析工具或带有自定义维度的 Google Analytics 跟踪转化
或者,使用 Intelligems for BigCommerce 自动管理访客分组。
自定义 / Headless
对于 Headless 商店前端,你需要实现会话分组、价格解析和转化跟踪:
import crypto from 'crypto';
// Deterministic variant assignment by session ID
function assignVariant(
experimentId: string,
sessionId: string,
variants: { id: string; weight: number }[] // weights must sum to 100
): string {
const hash = parseInt(
crypto.createHash('sha256')
.update(`${experimentId}:${sessionId}`)
.digest('hex')
.slice(0, 8),
16
) % 100;
let cumulative = 0;
for (const variant of variants) {
cumulative += variant.weight;
if (hash < cumulative) return variant.id;
}
return variants[variants.length - 1].id;
}
// Usage: get the price for a visitor
const variantId = assignVariant('exp_price_widget_pro', sessionId, [
{ id: 'control', weight: 50 }, // $49.99
{ id: 'treatment', weight: 50 }, // $44.99
]);
const prices = { control: 4999, treatment: 4499 }; // cents
const priceForVisitor = prices[variantId];
跟踪转化并计算统计显著性:
// Two-proportion z-test for statistical significance
function zTest(
controlConversions: number,
controlVisitors: number,
treatmentConversions: number,
treatmentVisitors: number
): { pValue: number; significant: boolean } {
const p1 = controlConversions / controlVisitors;
const p2 = treatmentConversions / treatmentVisitors;
const pPooled = (controlConversions + treatmentConversions) / (controlVisitors + treatmentVisitors);
const se = Math.sqrt(pPooled * (1 - pPooled) * (1 / controlVisitors + 1 / treatmentVisitors));
if (se === 0) return { pValue: 1, significant: false };
const z = Math.abs((p2 - p1) / se);
// Approximate p-value (two-tailed)
const pValue = 2 * (1 - normalCDF(z));
return { pValue, significant: pValue < 0.05 };
}
确定获胜方案后,使用平台的定价 API(Shopify Admin API、BigCommerce Catalog API)推送价格更新。
步骤 4:监控并结束实验
在实验期间跟踪以下指标:
| 指标 | 查看位置 |
|---|---|
| 每位访客收入(RPV) | Intelligems 控制面板;或根据订单数据计算 |
| 各变体的转化率 | 你的 A/B 工具的分析数据 |
| 统计显著性(p 值) | 你的 A/B 工具;目标为 p < 0.05 |
| 各变体的样本量 | 确保达到预先计算的最低值后再结束 |
仅在满足以下条件时才宣布胜出者:
- 已达到预先计算的最低样本量(不得提前)
- p 值低于 0.05
- 实验至少运行了 7 天
宣布胜出者后,永久更新产品价格并结束实验。
最佳实践
- 使用每位访客收入(RPV),而不只是转化率 — 降低价格可能提高转化率,但会减少收入;RPV 能全面反映情况
- 要求使用固定分组 — 一旦会话被分配到某个变体,就始终显示相同的价格;价格不一致会损害信任并扭曲结果
- 预先登记最低样本量 — 在实验开始前确定所需的转化次数;一旦 p < 0.05 就停止(窥探数据)会提高假阳性率
- 排除现有客户 — 向现有客户展示低于其已支付价格的价格,会引发投诉并导致客户流失
- 每个产品一次只运行一个实验 — 对同一产品运行重叠实验会产生交互效应,使结果难以解读
- 促销期间暂停实验 — 全站促销或营销活动会混淆价格实验结果
- 记录每笔订单的变体分配 — 将变体 ID 存储在订单元数据中,以便之后核查收入归因
常见问题
| 问题 | 解决方案 |
|---|---|
| 访客刷新页面后看到不同价格 | 确保你的 A/B 工具使用持久化 Cookie 或服务器端会话存储进行分组 |
| 窥探数据 — 首次出现 p < 0.05 时就停止 | 预先登记最低转化次数(例如每个变体 200 次),达到后再检查显著性 |
| 价格更改只影响产品页面,不影响结账 | 确保测试工具更改的是实际价格,而不只是显示的数字 — 在购物车和结账页面中进行验证 |
| 机器人流量抬高访客数并扭曲结果 | 记录展示次数前过滤机器人流量;大多数 A/B 工具都内置了机器人过滤功能 |
| 实验在限时促销期间运行 | 全站促销期间暂停所有价格实验 |
相关技能
- @dynamic-pricing
- @price-rules-engine
- @coupon-management
- @discount-engine
- @demand-forecasting