TL;DR
- Contribution margin = Revenue − Variable Costs. Per unit, it is price minus variable cost per unit.
- Contribution margin ratio = Contribution margin ÷ Revenue, expressed as a percentage.
- D2C healthy range: 35–55%. SaaS healthy range: 75–85%. Marketplaces: 20–35%.
- Most operators undercount variable costs. Shipping, processing fees, pick-and-pack, and variable support are the usual omissions.
- Fairview calculates contribution margin per order, per SKU, and per channel automatically from Shopify, Stripe, and your CRM.
Contribution margin is the money left over from each sale after every variable cost is paid. It is the number that tells you whether selling one more unit, taking one more order, or running one more ad actually adds cash to the business — or burns it.
The formula is three words: revenue minus variable costs. The reason operators get it wrong is the second half. Most teams subtract COGS, call it a margin, and stop. The real answer lives one layer deeper: shipping, payment fees, pick-and-pack, affiliate commissions, and variable support all eat into the same pool before a single dollar of fixed cost gets paid.
This spoke walks through the formula, what counts as a variable cost, how to compute contribution per unit, per product, and per channel, and the ratios a healthy D2C or SaaS business should see. If you want the decision framework that sits on top of these numbers, read the Cluster 1 hub on finding profit leaks or the channel-level breakdown in contribution margin by channel.
What is contribution margin?
Definition
Contribution margin: the portion of revenue that remains after all variable costs are subtracted. It is the cash each sale contributes toward covering fixed costs and, after the break-even point, toward profit.
The concept is older than modern accounting. It sorts the cost stack into two buckets — costs that move with volume, and costs that do not — and tells you how much of every incremental dollar actually lands in the bank.
Fixed costs are the rent, the salaries, the software stack, the insurance. They exist whether you sell one order or ten thousand. Variable costs scale with each unit: the cost of goods, the payment fee on the card swipe, the box the product ships in, the commission on the sale, the bandwidth on the software call.
Contribution margin is what is left of revenue after variable costs are paid. Until that number goes positive, scaling the business makes things worse. After it goes positive, every incremental sale funds the fixed cost base and eventually profit.
The contribution margin formula
The three forms of the formula:
Contribution margin per unit = Price − Variable Cost per unit
Contribution margin ratio (%) = (Contribution margin ÷ Revenue) × 100
Worked example. A D2C candle brand sells a signature candle for $42. Unit COGS is $11. Shipping and packaging run $6.50 per order. Stripe takes 2.9% + $0.30, or about $1.52 on a $42 sale. Pick-and-pack labor averages $1.20. Total variable cost per unit: $20.22.
Contribution per candle = $42 − $20.22 = $21.78. Ratio = $21.78 ÷ $42 = 51.9%. Healthy for D2C candles, where 40–55% is the normal band once fulfillment is counted honestly.
Key insight
Contribution margin ratio is more portable than the dollar figure. A $20 contribution on a $40 candle is 50%; a $20 contribution on a $200 coat is 10%. The ratio is what you compare across SKUs, channels, and quarters.
What counts as a variable cost
A cost is variable if it rises when volume rises and falls when volume falls. That sounds simple and then operators systematically miss the ones that are not labeled "COGS" in the accounting system. The full list for a typical D2C or hybrid business:
- COGS. Raw materials, inbound freight, manufacturer fees, duty. The obvious one.
- Payment processing. Stripe, Shopify Payments, PayPal. Usually 2.5–3.5% plus a fixed fee per transaction.
- Outbound shipping. The carrier charge to send the order, net of anything the customer pays.
- Packaging. Box, dunnage, tissue, inserts, labels. Small per-unit, real at scale.
- Pick-and-pack labor. Warehouse labor cost per order, whether in-house or 3PL.
- Variable support. The portion of CX cost that grows with orders — returns processing, order-specific tickets. Not the salaried base team.
- Sales commissions and affiliate fees. Anything paid per order or per closed deal.
- Returns and reverse logistics. Allowance for the typical return rate in the category, including return shipping and restocking loss.
For SaaS, the variable cost stack is shorter but still real: infrastructure (hosting, storage, bandwidth per customer), third-party API charges that pass through, variable support (a percentage of CS cost tied to ticket volume), and any transaction-based fees if the product handles payments.
Quote-ready
Every cost that moves with the order is a variable cost. If you only subtract COGS, you are calling gross margin contribution margin — and the gap is usually 8–14 points.
Contribution margin vs gross margin
These two get confused constantly. Gross margin subtracts only COGS. Contribution margin subtracts every variable cost. For a pure software business they can be close; for anything that ships a physical product, they are not.
| Metric | Subtracts | Used for |
|---|---|---|
| Gross margin | COGS only | GAAP reporting, investor decks |
| Contribution margin | COGS + shipping + fees + variable support + commissions | Pricing, channel allocation, break-even |
| Net margin | Everything including fixed costs, tax, interest | Bottom-line profit |
For a D2C brand, the gap between gross margin and contribution margin is usually 10–15 percentage points. A brand showing 62% gross margin on the P&L is often running at 48–50% contribution margin once fulfillment, fees, and returns are honest. Pricing and budget decisions should sit on the lower number.
Per-unit, per-product, per-channel
The formula scales three ways. Each answers a different operator question.
- Per unit. Price minus variable cost per unit. Answers: does selling one more of this SKU add cash? Used for pricing changes, promos, and break-even volume math.
- Per product. Contribution per unit × units sold over the period. Answers: which SKUs are actually funding the business? Used for catalog pruning and merchandising decisions. See gross margin by product for the ranking methodology.
- Per channel. Revenue from the channel minus all variable costs tied to acquiring and fulfilling those orders, including CAC. Answers: is this channel profitable at the margin? Used for weekly ad allocation. See contribution margin by channel.
The per-channel version is the one most teams never build because it requires joining ad spend to orders and then to cost. Without it, ad budgets get allocated on ROAS, which is a revenue metric, and the business scales into its lowest-margin channel without noticing.
Contribution margin ratio benchmarks
| Model | Healthy | Best-in-class | Review below |
|---|---|---|---|
| D2C (beauty, apparel, food) | 35–55% | > 55% | < 30% |
| D2C subscription | 45–65% | > 65% | < 40% |
| Pure SaaS | 75–85% | > 85% | < 70% |
| Marketplace | 20–35% | > 35% | < 15% |
| B2B services | 40–60% | > 60% | < 30% |
Benchmarks are directional. A 38% contribution margin is fine for a beauty brand with a $72 AOV and reorders; the same 38% on a $28 AOV with no reorder is a structural problem. Treat the ratio as a starting question, not a verdict.
Three ways operators distort the formula
Most reported contribution margins are too high because the cost stack gets trimmed. The three most common distortions:
- Treating COGS as the whole variable stack. Subtracts inventory cost, ignores shipping, fees, and fulfillment labor. Overstates margin by 8–14 points for most D2C brands.
- Pricing off gross revenue instead of net. Discounts, refunds, and promo codes reduce realized revenue. Use net revenue in the numerator, or the ratio looks better than the cash actually received.
- Averaging across SKUs without weighting. Blended contribution margin reported as a single percentage hides the fact that 20% of SKUs usually do 80% of the contribution. A weighted average or a per-SKU view is required to see the real shape.
How Fairview calculates contribution margin automatically
Fairview connects to Shopify, Stripe, QuickBooks, Xero, HubSpot, Salesforce, Pipedrive, Google Ads, and Meta Ads via native OAuth. Once the sources are linked, the operating view computes contribution margin per order, per SKU, and per channel using the full variable cost stack, not just COGS.
When contribution margin on a SKU or channel moves past a configured threshold, Fairview writes a named next-best action: "Subscription bundle contribution margin dropped from 52% to 44% this week. Driver: shipping cost up $2.10 per order after carrier rate change. Impact: $4,200 per week at current volume."
See pricing and tiers for the plan that fits your stack.
Per order
Contribution calculated automatically
Daily
Refresh across SKUs and channels
10
Native integrations live today
Key takeaways
- Contribution margin = Revenue − Variable Costs. Ratio = Contribution margin ÷ Revenue.
- Variable costs are every cost that moves with the order, not just COGS.
- D2C healthy 35–55%. SaaS healthy 75–85%. Marketplaces 20–35%.
- Compute per unit, per product, and per channel — each answers a different question.
- Use net revenue, weight SKU averages, and never substitute gross margin for contribution margin.
See your contribution margin per order, per SKU, per channel.
Connect Shopify or Stripe, HubSpot, and your ad accounts. Fairview returns the full variable cost stack on day one. 14-day trial, no card required.
Frequently asked questions
Contribution margin equals revenue minus variable costs. Per unit, it is price minus variable cost per unit. The ratio is contribution margin divided by revenue, expressed as a percentage. Variable costs include COGS, shipping, payment fees, packaging, pick-and-pack, commissions, and variable support.
Any cost that moves with each unit sold. For a D2C brand that means COGS, payment processing, outbound shipping, packaging, pick-and-pack labor, variable customer support, and sales or affiliate commissions. For SaaS it means infrastructure per customer, third-party pass-through APIs, and variable support tied to ticket volume.
Gross margin subtracts only COGS from revenue. Contribution margin subtracts every variable cost, which is a longer list for any business that ships a product or runs variable fulfillment. For a typical D2C brand the two can diverge by 8–14 percentage points. Contribution margin is the better basis for pricing and channel decisions.
D2C brands target 35 to 55 percent, with subscription models reaching 45 to 65 percent. Pure SaaS targets 75 to 85 percent. Marketplaces and low-AOV retail operate at 20 to 35 percent. Below those bands, scaling tends to make cash flow worse rather than better, and pricing or cost structure needs attention first.
Take each SKU’s selling price and subtract its unit COGS, packaging, shipping, payment processing fee, and any variable fulfillment cost. That gives contribution per unit. Multiply by units sold in the period for total SKU contribution, then divide by SKU revenue for the ratio. Rank SKUs by both the dollar contribution and the ratio.
Revenue growth hides margin erosion. A channel can double revenue while contribution falls, usually from rising CAC, heavier discounting, or a drift toward lower-margin SKUs. Contribution margin is the honest view of whether growth is adding cash or consuming it, which is the only question that matters once the business is past product-market fit.