On this page
concept

Contribution Margin

Created 2026-06-27 35 connections

Contribution Margin

Contribution margin (CM) is revenue minus all variable costs — what each sale "contributes" toward fixed costs and profit after the costs that scale with volume are stripped out. In ecommerce sources it is the denominator the run-103→109 measurement cluster keeps resolving to: it is the numerator of POAS (Profit on Ad Spend) (contribution margin ÷ ad spend), the base of break-even MER (Marketing Efficiency Ratio) = 1 ÷ contribution-margin %, and the profit reality that gross ROAS is blind to. Where gross margin answers "can I make this product profitably?", contribution margin answers "can I sell it profitably through this channel at this acquisition cost?" (Luca).

Firewall: every claim below is what a source reports. See ../../CONTEXT.md Rule 1. This was a web-only run and every deep-fetched source is a commercial vendor (Luca = margin-analytics tool; Finaloop = ecommerce bookkeeping; Eightx = fractional-CFO; Triple Whale = profit/attribution analytics). The most independent anchors are Eightx's SEC-10-K-derived apparel figures and the cited NYU Stern dataset. The Reddit (reddit-research MCP not connected) and YouTube (Apify actor unavailable) practitioner streams were both down. Treat all benchmarks and target bands as self-reported.

Definition & how it differs from gross margin

Luca reports that gross margin subtracts only COGS (raw materials, manufacturing, packaging, inbound freight) while contribution margin subtracts every variable cost — COGS plus ad spend/CAC, outbound shipping/fulfilment, returns, platform/marketplace fees and payment processing. Luca's ecommerce-specific formula:

CM = Revenue − COGS − Shipping/Fulfilment − Attributed Ad Spend − Returns Cost Allocation − Platform Fees − Payment Processing

Finaloop (2024-09-18) draws the line differently — ecommerce-savvy accountants already fold all variable costs except marketing into gross profit, so in their framing "the only difference between gross profit and contribution margin is the exclusion of variable marketing expenses."

Luca treats shipping, returns and fees as outside COGS and inside CM only VS Finaloop folds all variable costs except marketing into gross profit, making marketing the sole gap between gross profit and CM. Implication: a quoted "gross margin" isn't comparable across brands unless you know what's inside COGS.

CM1 / CM2 / CM3

Saras Analytics / flinder (snippet-only, medium confidence) describe a three-layer split: CM1 = Revenue − COGS (≈ gross margin); CM2 = CM1 − shipping, payment fees, fulfilment/logistics/warehousing; CM3 = CM2 − allocated marketing/ad spend — "the most important number for scaling brands… whether your growth engine is creating profit or consuming it."

The margin waterfall

Luca's $50 worked example: a $50 product at $15 COGS = 70% gross margin, but after shipping ($8), attributed CAC ($12), returns allocation ($2.25), payment processing (~$1.50) and platform fees ($1.50), contribution margin falls to 19.5% — a 50.5-point gap. Generalised per $1 of revenue: $1.00 → $0.70 (COGS) → $0.54 (shipping) → $0.30 (ad spend) → $0.25 (returns) → $0.195 CM → $0.08–0.12 net.

Returns, shipping & payment treatment (as-of 2026-06-27)

  • Returns hit CM across five layers per return (return shipping $5–15, processing labour $8–15, restocking/refurb $2–10, write-off 0–100% of COGS, CS time $2–5) and waste the original CAC; a 30%-return apparel brand effectively raises realised CAC by ~43% (Luca). See Returns Management · Bracketing (Fashion Returns).
  • Shipping: "free shipping" hides $7–10/order; outbound runs $5–12/order; heavy/bulky goods 15–25% of price (Luca).
  • Payment processing: typically 2.9% + $0.30/transaction, 3–5% of revenue; Shopify Payments tiers 2.9%+$0.30 → 2.4%+$0.30 (Luca).

How CM drives marketing-efficiency targets

Triple Whale (2025-12-22) and Prooflytics report break-even ROAS = 1 ÷ contribution-margin % — 40%-margin → 2.5×, 30% → 3.33×, 25% → 4.0× — and break-even CAC = AOV × CM% (AOV $120 × 45% CM = $54). Triple Whale's unit-economics form: BEROAS = AOV/CAC (AOV $50 × 50% GM = $25; CAC $25 → BEROAS 2.0×). The source itself flags BEROAS "doesn't capture all of your costs" (G&A, salaries, taxes) and should be read with CLV. A 5:1 gross ROAS at 20% margin is only 1:1 margin-adjusted (break-even); Luca's two-campaign case shows a "winning" 3.5×-ROAS campaign losing −$6.27 CM/sale while a 2.0×-ROAS campaign earns +$2.92 CM/sale. This is the same profit-truth logic POAS (Profit on Ad Spend) and MER (Marketing Efficiency Ratio) are built on.

Benchmarks (vendor-sourced, volatile, as-of 2026-06-27)

Overall DTC (Luca)

BandReading
Gross margin60–80% typical
Contribution margin15–30% (variable costs = 35–55% of revenue)
>30% CMstrong — scale aggressively
15–30% CMhealthy
10–15% CMthin — optimise before scaling
<10% CMstructural problem

Eightx + Wayflyer snippets report median DTC CM shrank ~35% (2021) → ~22% (2025) as paid acquisition costs rose; "good, scalable" ~20%, best-in-class 25–35%.

~20% minimum (admetrics/Wayflyer) VS Luca 15–30% healthy with >30% "scale aggressively" VS best-in-class 25–35%. Directionally consistent; the single number varies by source.

By vertical (Luca, target GM → target CM)

VerticalTarget GMTarget CM
Beauty / Skincare65–80%25–35%
Supplements / Health70–80%20–30%
Fashion / Apparel55–70%10–20%
Home Goods / Furniture50–65%12–22%
Electronics25–40%8–18%

By stage: pre-$2M → break-even CM; $2M–$10M → 15%+; $10M+ → 20–25%+ heading to 30%.

Fashion / apparel (Eightx, SEC-10-K + NYU Stern anchored)

Eightx (2026-06-12) reports across 8 public apparel comps a median gross margin 55.3% (Gap 40.8% → Ralph Lauren 69.9%) but median operating margin just 6.7% — ~48 points lost gross→operating; Lululemon leads at 19.9% operating on 56.6% GM. "A 55% gross margin is the price of entry; a 7% operating margin is the median outcome." Online apparel return rates run 25–40% of orders (~2× the ~17% all-ecommerce average), taking a 55% headline GM to ~42% net of return shipping/inspection/markdown. Apparel unit economics 2026: AOV $80–120 (Polar $82.50), blended CAC $30–70 (Polar $37.84), ~26% repeat, ~1.8 orders/customer, 12-mo LTV ~$218; LTV:CAC ≥ 3:1 measured in margin dollars (apparel typically 2–3:1, top quartile 4–5:1); marketing 20–30% of revenue, shipping/fulfilment 9–13%. Realistic net margin for a $5M–$50M brand is 3–10% (retention-led 8–15%); NYU Stern (Jan 2026, 35 firms): 56.88% avg GM, 9.11% operating, 3.85% net.

Eightx 25–40% VS Luca 20–30%. Both agree apparel is the highest-return category, ~2× the all-ecommerce average.

Seasonality & channel inversion (Luca, as-of 2026-06-27)

BFCM can collapse per-order CM by 40–60% (Meta CPM ~$13 → $20+, plus 20–40% discounts); Q1 return rates surge from ~23.5% to as high as 44.5% (Luca cites >$181B US online holiday returns Nov–Dec 2025, +10% YoY). Channel inversion: the same product can rank differently on CM than GM — wholesale (lowest GM 40–50%) often yields the highest CM (25–35%) from near-zero post-sale variable costs, while Amazon FBA CM (5–20%) is squeezed by referral fees 8–17%+ FBA $3–8/unit + PPC; blended CM = Σ(channel revenue share × channel CM%).

Key terms

TermMeaning
Contribution marginRevenue − all variable costs; what each sale contributes to fixed costs + profit
Gross marginRevenue − COGS only
CM1 / CM2 / CM3Product / fulfilment / marketing layers of contribution margin
Break-even ROAS1 ÷ contribution-margin %; the ROAS at which a sale is profit-neutral
Break-even CACAOV × CM%; the max acquisition cost a sale can absorb
Margin-adjusted ROASROAS scaled by margin — exposes "winning" campaigns that lose money

What practitioners report

[!unverified] The Reddit and YouTube practitioner streams were both down this run (reddit-research MCP not connected, tool_uses 0; Apify transcript actor unavailable). No first-hand operator account of which costs brands actually include/exclude was gathered — this section is a frontier gap. Candidate videos logged for re-fetch include gmKDaNJ048U, lrF2Uey1-uU, cCZwbv3TQD8.

Frontier / open questions

Research agent · 2026-06-27