Forecasting Annual Contribution Margin (Not Revenue) From An RPV Win

Metricuno
May 30, 2026
7 min read
Forecasting Annual Contribution Margin (Not Revenue) From An RPV Win — Translate an A/B test's RPV lift into annual contribution margin, not revenue. Net out COGS, payment fees, and shipping to forecast real P&L impact.
Quick answer

Annualized revenue from an RPV win overstates what hits the P&L. Here's how to convert the lift into incremental contribution margin a CFO will actually sign off on.

Quick answer

Take the RPV lift × annual sessions to get incremental revenue, then multiply by your blended contribution margin rate (1 − COGS% − payment fee% − pick/pack/ship% as a share of revenue). For a typical Shopify apparel store, that's roughly 30–40% of the headline revenue number — so a €240k revenue lift forecasts as ~€84k in annual contribution margin, not €240k.

Definition
Experimentation forecasting

Annual contribution margin from an RPV win

The incremental gross profit (after variable costs) that an annualized RPV lift adds to the P&L over 12 months.

When an A/B test wins on revenue per visitor, the headline forecast is usually the annualized revenue lift. That number is correct but misleading — most of it pays for product cost, payment processing, and fulfillment before any of it reaches operating profit. Annual contribution margin from an RPV win is the same forecast restated in profit terms: incremental revenue minus the variable costs that scale with each additional order. It's the figure finance teams will actually credit to the experimentation program, and the one you should use to compare a CRO win against other margin-improving levers.

Also known as
incremental contribution margin from CRO
profit-adjusted RPV lift
CM-adjusted test forecast

Revenue forecasts from A/B tests get inflated for a structural reason: the RPV metric lives in the analytics layer, and the analytics layer doesn't know your unit economics. A €1.20 RPV lift on 200,000 annual sessions looks like €240k of upside in the report, but only the margin slice of that flows through.

If your contribution margin rate is 35%, the same win is worth €84k to operating profit. That's still excellent — but it's the number that should appear in a board deck, a CRO program ROI calculation, or a business case for headcount.

Why the revenue forecast overstates P&L impact

An RPV lift wins by either lifting conversion rate or lifting AOV (or both). In either case, what changes is the number — or size — of orders shipped. Every incremental order carries the full variable cost stack: product cost, the card processing fee, and the pick/pack/ship cost.

On an apparel store with €60 AOV, a typical breakdown is roughly €24 in landed product cost, €1.80 in payment fees, and €4–6 in fulfillment and outbound shipping after customer-paid shipping is netted. That leaves about €28–30 of contribution margin per order — close to 50% on a good SKU mix, lower once returns and discount codes are factored in.

Don't use gross margin

Gross margin (revenue − COGS only) is not the right rate for this forecast. It ignores payment fees and fulfillment, both of which scale with every incremental order. Use a true contribution margin rate that nets all per-order variable costs — the number is typically 8–15 points lower than the gross margin you report on financial statements.

The variable cost stack to subtract

Four cost lines move with each incremental order from an RPV win. Land them all as a percentage of revenue so you can subtract them from 100% to get your CM rate.

First, landed COGS — product cost plus inbound freight and duties, expressed as a percentage of net revenue after discounts. For most DTC categories this lands between 30% and 55%. Second, payment processing — Shopify Payments, Stripe, or Adyen typically 2.5–3.2% plus a fixed fee, blended to ~3% of revenue.

Third, fulfillment and outbound shipping net of shipping revenue collected from the customer. Fourth, the return rate adjustment — if 15% of apparel orders come back, your effective variable cost per gross order is roughly 1 / (1 − return rate) higher than the per-order figure suggests. Skip this step on categories with sub-5% returns; it matters a lot on apparel and beauty.

Typical contribution margin rates by category

Benchmark

Blended contribution margin rate ranges for common DTC categories (after COGS, payment fees, fulfillment, and return impact)

CategoryGross marginPayment feesFulfillment + returns dragContribution margin rate
Apparel (mid-market)55–65%~3%12–18%30–42%
Beauty / skincare65–78%~3%8–12%45–60%
Consumer electronics accessories40–55%~3%10–14%20–35%
Food & beverage (ambient)45–55%~3%15–22%15–28%
Home & lifestyle (small parcel)50–60%~3%12–16%28–40%

Use the midpoint of your category as a starting point, then validate it against your last 90 days of order economics in the back office. The single biggest swing factor is return rate — apparel forecasts that ignore it overstate CM by 10–15 points.

Worked example: a checkout RPV win on a Shopify apparel store

A checkout test on a Shopify apparel store running 200,000 sessions a year shows a +€1.20 RPV lift, significant at 95%. Headline annual revenue forecast: 200,000 × €1.20 = €240,000. That's the number the test report surfaces, and it's the one most teams put in the slide.

Now apply the CM stack. Landed COGS 40%, payment fees 3%, fulfillment net of shipping revenue 14%, return-adjusted by a 12% return rate. Contribution margin rate ≈ (1 − 0.40 − 0.03 − 0.14) × (1 − 0.12) ≈ 0.43 × 0.88 ≈ 37.8%. Annual contribution margin from the win ≈ €240,000 × 0.378 ≈ €90,700.

What this changes about how you run the program

Once you forecast in CM terms, two test-prioritization decisions invert. Tests that lift AOV through free-shipping thresholds or BOGO can look great on RPV but neutral on CM because they pull customer-paid shipping down and push fulfillment up. Tests that reduce discount code usage often look small on RPV but disproportionately large on CM because every euro saved on discount is a near-100% CM euro.

This is also why pairing the CM forecast with contribution margin-adjusted LTV matters when the winning variant changes customer mix — for example, when a homepage test pulls in more first-time buyers whose CM profile is structurally different from repeat customers. The annualized revenue lift parent forecast is the starting point; the CM adjustment is what makes it defensible to finance.

Frequently asked

Frequently asked questions

Gross margin only nets COGS. It ignores payment processing (2.5–3.2% of every euro) and fulfillment (often 10–18% of revenue on small-parcel DTC). Both scale linearly with incremental orders from an RPV win, so leaving them out overstates the profit forecast by roughly 12–20 percentage points.

No — not for a CRO forecast. The incremental orders from an RPV win come from traffic you already paid for, so marketing cost doesn't change. Including CAC in the rate would double-count it. Marketing only enters the CM equation if the test changes traffic volume (e.g. an SEO change), not for conversion or AOV tests.

Apply a (1 − return rate) multiplier to either the CM rate or the revenue figure. On apparel where returns run 15–25%, this single adjustment moves a forecast by tens of thousands of euros. On categories with sub-5% returns (beauty consumables, food), you can skip it.

Use the category midpoint from the table above as a placeholder, then refine. For a quick estimate, take last quarter's revenue, subtract COGS, payment fees, and fulfillment from the P&L, and divide by revenue. Most DTC stores land between 25% and 50% blended.

Slightly. A lift driven entirely by AOV adds revenue without adding order count, so payment fees (which have a fixed-fee component) and pick costs scale less than linearly. In practice the simplification of applying a flat CM rate is fine — the error is well under 2% for most tests.

Annual revenue forecasting stops at sessions × RPV lift. The CM forecast continues by multiplying that result by your contribution margin rate. The revenue figure is useful for sizing the opportunity; the CM figure is what you defend to finance and use for ROI calculations on the experimentation program itself.

Apply the CM rate to the incremental revenue — that's the variant's RPV minus control's RPV, multiplied by annual sessions. You're forecasting the marginal lift, not the variant's total revenue.

Take the 95% confidence interval on the RPV lift from your test platform and apply the same CM rate to both bounds. A test reporting +€1.20 RPV with a CI of [€0.40, €2.00] becomes a CM forecast of roughly €30k–€150k at 37.8% — present the range, not the point estimate.

Twelve months is the standard horizon for an annualized forecast, but decay is real. UX changes that match a permanent shift in customer expectation hold up; promotional or novelty-driven wins often decay 20–40% within six months. Re-validate winners at the 90-day mark and adjust the forward forecast.

Yes, but be careful. Lowering a free-shipping threshold often lifts RPV while increasing your absorbed shipping cost per order, which compresses the CM rate. Model the new CM rate for the variant separately rather than applying the baseline rate to the lift.

Test ideas before you ship them

Run unlimited A/B tests, attach hypotheses to outcomes, and build a searchable archive of what works — and what doesn't.