Install
openclaw skills install @leooooooow/pricing-testerDesign and evaluate A/B tests for different price points, discount levels, and bundle combinations to find the highest-converting offer structure.
openclaw skills install @leooooooow/pricing-testerPricing Tester helps you design rigorous, honest A/B tests for ecommerce price points, discount mechanics, and bundle configurations — then interpret the results with enough statistical discipline that you can act on them. The core idea: conversion rate alone is the wrong scoreboard. A lower price almost always converts better, so the goal is to find the offer structure that maximizes profit per visitor, not raw conversion, while protecting downstream metrics like refund and chargeback rates.
Use this skill whenever you need to choose between price points, decide how deep a discount should go, configure a bundle ladder, or settle an argument about "which price made more money" with evidence instead of opinion.
| Decision | Strong | Acceptable | Weak |
|---|---|---|---|
| Primary metric | Profit per visitor (price − COGS − fees) × CR | Revenue per visitor (when margins are flat across variants) | Conversion rate alone |
| Optimize for | Profit per visitor, with CR + refund rate as guardrails | Revenue per visitor with a margin floor | "Whichever converts best" |
| Sample size | Pre-calculated from baseline CR + target MDE + power 80% | Rough rule-of-thumb estimate, fixed before launch | "We'll watch it and see" |
| Test duration | Pre-set, ≥ 1–2 full business cycles (incl. weekends/paydays) | Fixed calendar window covering a representative period | Stop as soon as it "looks significant" |
| Number of variants | 2–3 (control + 1–2 challengers) | 4 with a clean hypothesis and bigger traffic | 5+ "let's see what sticks" |
| Randomization unit | Stable visitor/customer ID, sticky across sessions | Cookie/device with reasonable persistence | Per-pageview or per-session (price flicker) |
| Significance threshold | p < 0.05 two-sided, decided before launch | p < 0.10 for low-risk, reversible changes | Whatever threshold the winner happens to clear |
| Stopping rule | Fixed-horizon (run to planned N) or proper sequential test | Pre-registered single interim check | Peeking daily, stop on first green |
| Allocation | 50/50 (or even split), held constant for the whole test | Fixed unequal split decided up front | Shifting traffic toward the "leader" mid-test |
Define the hypothesis and primary metric. Write one falsifiable sentence: "Raising price from $34.99 to $39.99 will increase profit per visitor despite a lower conversion rate." Choose the primary metric up front — almost always profit per visitor = (price − COGS − payment/fulfillment fees) × conversion rate. Pick guardrail metrics (refund rate, chargebacks, support tickets, AOV) that must not degrade for the winner to count.
Choose variants and guardrails. Keep it to a control plus 1–2 challengers; every extra variant splits traffic and dilutes power. Change one thing at a time (price, or discount, or bundle structure) so the result is interpretable. Decide the margin floor and the maximum acceptable drop in any guardrail before launch.
Estimate sample size and duration. From your baseline conversion rate and the minimum detectable effect you care about, estimate required visitors per variant (see the experiment-design guide for the rule of thumb). Convert that to a calendar duration using current traffic, then round up to cover at least one to two full business cycles so weekday/weekend and payday effects average out.
Set up randomization cleanly. Randomize on a stable, sticky identifier (logged-in customer ID or a persistent cookie) so a visitor always sees the same price across sessions and devices. Verify the split is even and that price is consistent on PDP, cart, and checkout. Exclude internal traffic, and make sure existing customers / email segments aren't all funneled into one arm.
Run without peeking. Lock the test until it reaches the planned sample size or end date. Looking at results daily and stopping on the first "significant" reading massively inflates false positives — if you must check, pre-register a single interim look or use a proper sequential method. Do not change price, creative, or traffic allocation mid-test.
Analyze with significance and profit per visitor. Compute CR, AOV, and profit per visitor for each variant with confidence intervals. Test whether the difference in the primary metric is statistically significant, then ask whether it's also practically significant (big enough to matter after the cost of the change). Check guardrails before declaring a winner.
Decide and document. Pick the variant that maximizes profit per visitor without breaching guardrails — or declare "no detectable difference" honestly when intervals overlap. Record the hypothesis, numbers, decision, and rationale in the output template, then queue the next hypothesis (e.g., test the new price against an even higher one).
Setup. A skincare SKU sells at $34.99 (control). COGS is $9.00; payment + fulfillment fees run ~3% of price + $2.50 flat. Baseline conversion rate is ~4.0% of product-page visitors. Hypothesis: $39.99 will earn more profit per visitor even if it converts a bit worse.
Sample-size sanity check. With baseline CR ≈ 4% and a target minimum detectable effect of ~0.5 absolute points (4.0% → 3.5%) at 80% power, the rule of thumb (see design guide) gives roughly 23,000–30,000 visitors per variant. At 2,500 PDP visitors/day split 50/50 (~1,250/arm/day), that's about 3–4 weeks — long enough to fix the duration before launch.
Observed results (after the planned run):
| Variant | Visitors | Conversions | CR | Price |
|---|---|---|---|---|
| A: $34.99 | 28,000 | 1,176 | 4.20% | $34.99 |
| B: $39.99 | 28,000 | 1,008 | 3.60% | $39.99 |
Profit per visitor. Unit profit = price − COGS − (3% × price) − $2.50.
Is the gap real? Per-visitor profit is higher for B by ~$0.040 (about +4.2%). The CR difference (4.20% vs 3.60%) is itself comfortably significant at this sample size (the standard error of each CR is ~0.12 pts, so a 0.60-pt gap is ~3.5 SE apart). Because B has both meaningfully higher unit margin and a CR drop that's smaller in proportional terms than the margin gain, profit/visitor favors B.
Decision. Ship $39.99. It earns ~4% more profit per visitor and ~14% more profit per order, despite converting worse — exactly the trap that CR-only optimization would have fallen into (CR-only would have wrongly kept $34.99). Guardrail check first: confirm refund rate and AOV didn't worsen at the higher price. Next hypothesis: test $39.99 vs $42.99 to find where profit/visitor peaks.
Setup. Same SKU, COGS $9.00/unit, fees ~3% of price + $2.50 per order (one shipment regardless of quantity). We test three landing-page offers, each as the default add-to-cart:
Hypothesis: a modest quantity discount raises profit per visitor via higher AOV, even if per-unit margin shrinks. Primary metric: profit per visitor. Guardrail: refund rate, and conversion rate must not collapse.
Observed results (planned run, ~24,000 visitors/arm):
| Variant | Visitors | Orders | CR | AOV | Units/order | Profit/order | Profit/visitor |
|---|---|---|---|---|---|---|---|
| Single $39.99 | 24,000 | 864 | 3.60% | $39.99 | 1 | $27.29 | $0.982 |
| 2-pack $74.99 | 24,000 | 792 | 3.30% | $74.99 | 2 | $52.24 | $1.724 |
| 3-pack $104.99 | 24,000 | 660 | 2.75% | $104.99 | 3 | $69.34 | $1.907 |
Profit math (profit/order = revenue − units×COGS − 3%×revenue − $2.50):
Profit/visitor = profit/order × CR:
Reading it honestly. As the offer gets bigger, CR falls (fewer people commit to more units) but AOV and profit/order rise faster, so profit/visitor climbs single → 2-pack → 3-pack. The single-vs-bundle gap is large and clearly significant. The 3-pack vs 2-pack gap in profit/visitor is +$0.18 (+11%) — likely real at this N, but tighter; confirm the CR difference (3.30% vs 2.75%, ~0.15-pt SE each) isn't borderline before treating it as decisive. Also watch the guardrail: a 3-pack can raise refund rate (buyer's remorse on a larger purchase) and tie up more inventory per sale.
Decision. Lead with the 3-pack as the default offer if refund rate holds, while keeping the single and 2-pack as visible options for price-sensitive buyers (this is also a decoy/anchor effect — the 3-pack makes the 2-pack look reasonable). If refunds rise materially on the 3-pack, default to the 2-pack, which still nearly doubles profit/visitor over the single with a smaller CR hit. Document both the winner and the refund guardrail reading. Next hypothesis: test a steeper 3-pack discount ($99.99) to see whether the CR lift offsets thinner per-unit margin.