Contribution Margin Math

Metricuno
June 22, 2026
6 min read
Quick answer

A framework for building the per-order P&L every other unit-economics number depends on — contribution margin, line by line, with realistic benchmarks for online stores.

Definition
Unit Economics

Contribution Margin Math

The per-order profit left after subtracting COGS, shipping, payment processing, and variable marketing from AOV.

Contribution margin math is the line-by-line per-order P&L that tells you how much real cash each order leaves on the table after the costs that scale with volume. The formula is simple — AOV minus COGS, fulfilment and shipping, payment processing, and variable marketing — but the discipline is in how honestly you fill in the inputs.

It sits underneath almost every decision an online store makes: what ROAS you can afford, how long payback takes, whether a discount code still earns money, and which SKUs deserve more inventory. Get this number right and the rest of your unit economics follows. Get it wrong and you scale a loss.

Also known as
Per-order contribution margin
Variable profit per order
Order-level contribution

Most stores can tell you their gross margin off the top of their head. Far fewer can tell you their contribution margin — the number that actually decides whether a marketing campaign breaks even. The gap between the two is where unprofitable growth hides.

Contribution margin is the bridge between accounting margin and unit economics. It's what feeds Break-Even ROAS, what determines your Payback Period, and what makes the rest of your Unit Economics stack coherent. If you only build one financial model for your store this quarter, build this one.

Phase 1 — Build the per-order P&L

Start with average order value and subtract four cost buckets in order: cost of goods sold, fulfilment and shipping, payment processing, and variable marketing. Everything else — rent, salaries, software, agency retainers — is a fixed cost and belongs in a different model. Mixing them is the most common mistake.

COGS should be landed cost: the unit cost from your supplier plus inbound freight, duties, and any per-unit packaging. If you sell a €60 apparel SKU that costs €14 to land, your COGS percentage is 23%. Track this per SKU if you can; an AOV-weighted average works as a starting point. Shipping should be your real outbound cost net of what the customer paid — if you charge €5 and it costs you €7, the €2 difference is a margin leak you need to see.

Payment processing is usually 1.8–3.2% of order value depending on card mix and region. Variable marketing is the line most teams skip: it's the blended CAC for the marginal order, not your historical average. If paid social is your scaling channel, use its CAC. If you're growing through a mix, weight it. Either way, this number belongs inside contribution margin — not below it.

Phase 2 — Pressure-test the inputs

Once the model runs, three inputs deserve a second pass: returns, discounts, and shipping subsidy. A 12% return rate on apparel doesn't just remove revenue — it adds reverse logistics cost and often unsellable inventory. Build a returns-adjusted AOV that nets out refund-weighted revenue and adds the reverse-shipping cost back as a per-order line.

Discounts get hidden in promo windows. If 40% of orders use a 15% code, your effective AOV is roughly 6% lower than the headline. Free shipping thresholds work the same way: the threshold lifts AOV but the subsidised shipping eats into contribution margin. Model both at their blended monthly rate, not at the list-price ideal.

The variable-marketing trap

Excluding paid media from contribution margin is the single most common error in DTC finance models. It produces a flattering number that suggests you can afford a higher ROAS floor than you actually can — and pushes Break-Even ROAS targets unrealistically low. Always include the marginal customer's acquisition cost. If your blended CAC is €18 on a €60 AOV, that's 30 percentage points of margin gone before the order ships.

Phase 3 — Use it to make decisions

A working contribution margin model turns abstract questions into arithmetic. Can we afford to bid harder on Google Shopping for this SKU? Divide the per-order contribution by the AOV — that's your Break-Even ROAS ceiling. Should we run a 20% storewide promo? Recalculate CM at the discounted AOV and check the sign. Use the Contribution Margin Calculator to run those scenarios in seconds instead of rebuilding the sheet each time.

The same model tells you which SKUs to push and which to sunset. A €40 AOV beauty product with 18% CM throws off €7.20 per order; a €120 electronics SKU with 6% CM throws off €7.20 too — but the second one needs a much lower CAC to survive. The contribution margin per order, not the percentage, is what funds the business. Track both.

Chart

Typical contribution margin breakdown by DTC vertical (% of AOV)

0%10%20%30%40%50%ApparelBeautySupplementsElectronics accessoriesHome goodsShare of AOVVertical

COGS

Shipping & fulfilment

Payment processing

Variable marketing

Contribution margin

Frequently asked

Frequently asked questions

Gross margin only subtracts COGS from revenue. Contribution margin also subtracts every other cost that scales with the order — shipping, fulfilment, payment processing, and variable marketing. Contribution margin is always lower and is the more honest per-order number for decisions like ROAS targets and Payback Period.

Yes — variable marketing belongs inside contribution margin because it scales with order volume. If you exclude it, you'll set an unrealistically low Break-Even ROAS and overspend. Use the marginal-channel CAC (usually paid social or Google Shopping), not your blended historical average.

Build a returns-adjusted AOV. Net out the refunded revenue at your return rate, add reverse-shipping cost as a per-order line, and write off any unsellable inventory at landed cost. For apparel running 12–15% returns, this can move contribution margin by 5–8 percentage points.

Most DTC stores in the €1M–€15M range target 25–40% contribution margin after variable marketing. Apparel and beauty cluster around 30–38%; electronics and bulky home goods often sit lower at 20–28%. The absolute euro amount per order matters as much as the percentage.

Break-Even ROAS is the inverse of your contribution margin before marketing. If your pre-marketing CM is 40%, your break-even ROAS is 1 / 0.40 = 2.5. Any campaign delivering ROAS above 2.5 contributes profit; below 2.5 it burns cash. The two metrics are mathematically locked together.

Both. Per-SKU CM tells you which products to promote, restock, and bid harder on. Per-order CM (weighted by basket mix) tells you what your store can afford for blended CAC. Most teams maintain per-SKU CM in a sheet and per-order CM in their finance model.

Run two contribution margin models: one for the acquisition order, one for the recurring order. Recurring orders usually have near-zero variable marketing and slightly lower payment processing, so CM is materially higher. This is also what makes subscription Payback Period so much faster than one-time.

Only if you don't price it in. Free shipping above a threshold usually lifts AOV by 8–15%, which can more than offset the absorbed shipping cost. Model it: compare CM-per-order with and without the threshold using your actual basket distribution, not the ideal case.

Refresh inputs monthly and rebuild the structure quarterly. COGS shifts with supplier pricing and FX, shipping rates change at carrier renewal, and variable marketing CAC drifts continuously. A stale model is worse than no model because it gives false confidence.

Yes — Metricuno's COGS Percentage and Contribution Margin Calculator pull AOV, refund, and channel CAC data directly from your Shopify or WooCommerce store and your ad platforms. You set the per-SKU landed cost once and the model recalculates per-order CM nightly, with alerts when it drifts beyond a threshold you define.

See Metricuno on your data

Bring your stack — Google Analytics, Stripe, a CRM, anything — and we'll walk through the metric tree that turns your funnel into one number.