Guide · Margins & Unit Economics
How to Calculate Contribution Margin (Formula, the CM1/CM2/CM3 Ladder for DTC Brands, and a Calculator)
Contribution margin is what's left of a sale after the variable costs of fulfilling and selling it. For ecom brands it's the most important number on the P&L that most brands aren't tracking with the right structure. Gross margin lumps things together. Net profit shows up too late. Contribution margin tells you, per order, whether you're actually making money or just moving inventory. Most pages on this topic give you the academic formula and call it a day. A handful of DTC-leaning sources (Saras Analytics, Storehero) name the CM1 / CM2 / CM3 ladder but stop short of the operator playbook. This page gives you the fractional-CFO version: the CM ladder with the cost lines Shopify and 3PL brands actually face, benchmarks from 35 brands across $650M+ in revenue, the bridge from CM2 to your maximum allowable CAC, and a free calculator.
What is contribution margin?
Contribution margin is the dollar amount (or percentage) that's left of revenue after subtracting the variable costs tied to delivering and selling that revenue. The "contribution" part is what those leftover dollars are doing: contributing toward fixed costs (rent, salaries, software, overhead) and, after that, profit.
The technical accounting definition is the same, but stricter on what counts as a variable cost. The operator definition that matters for running an ecom brand is broader: anything that scales with order volume gets subtracted. Product cost, fulfillment, shipping, payment fees, returns, and variable marketing all qualify. Rent and salaries do not.
The contribution margin formula
The contribution margin formula has three layers. Generic accounting pages stop at the first one. Real ecom operators run the full ladder.
Plain English: revenue minus variable costs.
Math: CM = Revenue - Variable Costs
Per unit: Unit CM = Selling Price per unit - Variable Cost per unit
The DTC version (CM1 / CM2 / CM3):
- CM1 = Revenue - COGS (similar to gross margin per order)
- CM2 = CM1 - Fulfillment - Outbound Shipping - Payment Fees - Returns Reserve
- CM3 = CM2 - Variable Marketing (blended CAC for new customers; allocated marketing for repeat orders)
Each layer answers a different question. CM1 tells you if the product cost works. CM2 tells you if the order economics work (and is the input to max-allowable CAC). CM3 tells you if you're making money on the customer after acquisition. Glossary deep-dives: CM1 explained, CM2 explained, CM3 explained.
Contribution margin ratio
The contribution margin ratio is contribution margin divided by revenue, expressed as a percentage. The formula:
CM Ratio = (Revenue - Variable Costs) ÷ Revenue
If a product sells for $89 and has $44.67 in CM2 per order, the CM2 ratio is 50%. Ratios are useful because they're scale-independent. A 50% CM2 ratio on a $89 product and a 50% CM2 ratio on a $189 product have different dollar economics but the same efficiency. The ratio lets you compare SKUs, channels, and verticals without normalizing for price first.
For most decision-making at the SKU level, use absolute CM dollars. For decision-making at the channel or brand level, use the ratio. Use both when comparing across periods.
Contribution margin per unit
Contribution margin per unit (or per order, which is more useful for ecom because orders often contain multiple items) is the dollar contribution from a single sale.
Unit CM = Selling Price - Variable Cost per Unit
For DTC the per-unit math has to include everything that hits the order:
- Product COGS (what you paid the supplier, plus inbound freight to your warehouse)
- Pick-pack-ship from your 3PL or fulfillment partner
- Outbound shipping (carrier costs to the customer)
- Payment processing fees (Shopify Payments at 2.9% + 30 cents per transaction; Amazon referral at 8-15% depending on category)
- Returns reserve (your historical return rate multiplied by the average cost-to-process-a-return)
- Variable marketing per order (blended CAC for net-new customers; allocated marketing for repeat orders)
If your accounting setup doesn't separate variable from fixed costs cleanly, the unit-CM exercise will surface 5-10 cost lines you've been treating wrong. Most ecom brands first realize their unit economics aren't what they thought during a CM2 build.
One honest caveat on CM3 per unit. Calculating CM3 down to the individual SKU requires per-order CAC attribution, which in turn requires Meta campaigns and UTMs set up extremely well across every channel. Most brands don't have the attribution discipline to do this cleanly. For practical operating purposes, CM2 is the per-unit number to compute (it's deterministic from your cost stack), and CM3 is the blended-period number to compute (total revenue minus total variable costs minus total marketing, divided by total orders). Trying to push CM3 down to the SKU level without strong attribution gives you false precision.
A worked contribution margin example (with real DTC numbers)
Take a representative apparel SKU at an $89 AOV. This is roughly what an Eightx portfolio brand at the median looks like.
| Line item | $ per order | Running CM | Margin % |
|---|---|---|---|
| Selling price (AOV) | $89.00 | $89.00 | 100% |
| Less: Product COGS | ($24.00) | $65.00 (CM1) | 73% |
| Less: Pick-pack-ship (3PL) | ($6.00) | $59.00 | 66% |
| Less: Outbound shipping | ($7.00) | $52.00 | 58% |
| Less: Payment fees (2.9% + 30c) | ($2.88) | $49.12 | 55% |
| Less: Returns reserve (5%) | ($4.45) | $44.67 (CM2) | 50% |
| Less: Blended CAC (paid acquisition) | ($27.00) | $17.67 (CM3) | 20% |
A note on the returns reserve. Two operator methods both work. The simpler one (used above) is loss rate × AOV, treating returns as lost-margin contribution; here a 5% never-resold rate at $89 AOV gives $4.45 per order. The fractional-CFO method is return rate × cost-to-process per return; for an apparel brand at a 25% return rate and $9 to process each return (handling, restocking, return shipping reimbursement) that's $2.25 per order. The 25% apparel benchmark comes from our average ecommerce return rate dataset. Pick the method that matches how your accounting team books returns and stay consistent.
The three marketing ratios that drop out of this same example, since founders look at these every week alongside CM:
| Ratio | Formula | This brand |
|---|---|---|
| MER (Marketing Efficiency Ratio) | Order revenue ÷ Marketing spend per order | $89 ÷ $27 = 3.30x |
| Blended ROAS | Same construct as MER for new-customer orders | 3.30x |
| Per-order break-even ROAS | AOV ÷ CM2 (the ROAS where CM3 = 0) | $89 ÷ $44.67 = 1.99x |
What this brand can actually do with these numbers:
- CM2 of $44.67 (50%) means the max allowable CAC at a first-purchase break-even is $44.67. At blended CAC of $27, the brand is well below that ceiling and can scale acquisition.
- CM3 of $17.67 (20%) means each new-customer order contributes $17.67 toward fixed costs. 20% sits in the scalable band for DTC (more on that band in the next section).
- Per-order break-even ROAS is 1.99x. If blended ROAS drops below that, every new-customer order is contributing negatively. That's the line you watch weekly.
Contribution margin vs gross margin
Gross margin and contribution margin are often used interchangeably and they shouldn't be. The difference is what you subtract from revenue.
| Cost line | In Gross Margin? | In CM1? | In CM2? | In CM3? |
|---|---|---|---|---|
| Product COGS | Yes | Yes | Yes | Yes |
| Inbound freight | Usually yes | Yes | Yes | Yes |
| Pick-pack-ship (3PL) | Sometimes | No | Yes | Yes |
| Outbound shipping | Rarely | No | Yes | Yes |
| Payment processing fees | Never | No | Yes | Yes |
| Returns reserve | Rarely | No | Yes | Yes |
| Variable marketing / CAC | Never | No | No | Yes |
Gross margin is fine for product-cost decisions (sourcing, pricing). It's misleading for ecom operating decisions because it leaves out variable fulfillment, payment fees, and marketing, which together can be 20-30 points of margin in DTC. A brand with a 60% gross margin can easily have a 30% CM3, and the gap is the difference between thinking the business works and actually knowing.
Contribution margin vs profit margin (net margin)
Net profit margin is net income divided by revenue. It's revenue minus all costs (variable + fixed + interest + taxes). Contribution margin sits in between revenue and net profit: it subtracts variable costs but not fixed.
- Use CM when: making decisions that change with order volume. Pricing, channel mix, promotion modeling, SKU rationalization, max CAC.
- Use net margin when: assessing whether the whole business works at current fixed cost levels. Reporting to investors. Setting fundraising targets.
A brand with strong CM2 can still be unprofitable at the net line if fixed costs are too high. A brand with weak CM2 will never be profitable no matter how much it scales, because no amount of revenue covers a negative unit economic. CM2 is the upstream signal; net margin is the downstream score.
What is a good contribution margin for ecommerce?
Benchmarks from our 35-brand DTC portfolio, CM2 layer (after fulfillment, before marketing):
| Vertical | Median CM2 | Top decile | Bottom decile |
|---|---|---|---|
| Apparel DTC | 38% | 52% | 22% |
| Beauty DTC | 50% | 62% | 32% |
| Supplements DTC | 55% | 68% | 38% |
| Food / Beverage DTC | 42% | 56% | 25% |
| Home / Lifestyle DTC | 45% | 58% | 28% |
CM3 (after marketing) lands roughly 10 to 25 percentage points lower than CM2 across the portfolio, with the spread driven by how much paid acquisition the brand runs. A subscription DTC brand with strong organic retention often has CM3 within 5 points of CM2. A purely-paid DTC brand can drop 25 points from CM2 to CM3.
A good CM3 for a Shopify DTC company
The scalable CM3 band for a Shopify ecom company is roughly 17% to 25%. That's the range where you're spending enough on acquisition to grow but keeping enough margin to fund operations and absorb a bad ad week.
- CM3 above 25% usually means you're under-spending. You're leaving customers on the table that you should be acquiring before your competitors do. Higher CM3 feels easier to run today and harder to defend tomorrow.
- CM3 below 17% is hard. The business feels tight all the time, every ad-platform fluctuation feels existential, and there's almost no cushion for a missed week. Most brands operating below this band aren't paying themselves enough or aren't growing.
- CM3 in the 17 to 25% band is where it should feel like the business is working: growing, paying you, with room to absorb noise.
CM3 is in some ways a measure of how the business feels to run. Low CM3 is scary. High CM3 is comfortable but cedes share. The 17-25% band is the goldilocks zone for scalable Shopify DTC.
Read the benchmark table as orientation, not as your target. A "good" CM2 for your brand is one that supports your acquisition strategy. If your max allowable CAC needs to be $50, you need a CM2 per customer of at least $50 (for a first-purchase break-even) or some multiple of $50 (for a multi-month payback on a verified cohort curve).
Contribution margin for DTC, Shopify, and Amazon brands
The formula has channel-specific gotchas worth calling out.
Shopify DTC
Shopify Payments charges 2.9% + 30 cents per transaction by default. If you're on a Plus plan with a lower negotiated rate, use your actual rate. Subscription apps (Recharge, Bold) take their own cut, usually 1-2% on top. Post-purchase upsell apps don't directly hit CM but they change AOV, which changes max allowable CAC. Shopify Audiences and Shop Pay can lower CAC without changing CM directly.
Amazon
Amazon has the highest fee stack of any channel. Referral fees run 8 to 18% of order revenue depending on category. FBA fees (pick-pack-ship plus storage allocation) run another 15 to 20%. All-in, Amazon takes 30 to 35% of order revenue before you've subtracted product COGS or ad spend. The Amazon equivalent of CM2 has to handle: referral fee, FBA pick-pack-ship, FBA storage allocation, and the Amazon-specific returns process (some categories charge restocking fees back; others don't). Subscribe & Save discounts hit CM directly. Plan against the full 30-35% Amazon take when you're modeling whether to launch on the channel.
Wholesale (CPG accounts)
Wholesale CM math runs in the opposite direction from DTC. CM2 is lower (because you're selling at a discount to the retailer or distributor; 15 to 25 points lower than the DTC SKU equivalent), but CM3 is often higher because there's no acquisition cost the way there is in DTC.
What replaces CAC in wholesale CM3 is trade spend: listing fees, planograms, slotting fees, in-store demo programs, co-op advertising contributions, and broker commissions. Typically those line items shouldn't exceed 20% of wholesale revenue; 20% is the high end and includes all the trade spend categories together. If your trade spend is creeping over 20% and revenue isn't compounding, you're paying the retailer for the privilege of being on the shelf, not buying growth.
A well-run wholesale CPG business hits CM3 between 30 and 40%. That's typically higher than DTC CM3 even though the upstream CM2 is lower. If you operate both channels, do CM2 and CM3 separately by channel and don't blend them; the math is genuinely different.
Subscription DTC
Subscription introduces a wrinkle: the first order's CM and the renewal order's CM can be very different (discount on first, full price on renewal). Build the cohort CM: average CM per order across the verified retention curve, not the headline price.
How to use contribution margin to make decisions
CM math is only useful if it drives operating decisions. The five highest-leverage decisions CM answers:
- Pricing. If CM2 is below the vertical benchmark, two diagnostics: (1) audit your price relative to competitors and the value proposition customers actually perceive, which is often where there's room to raise it; (2) audit your 3PL contract specifically (pick-pack-ship is the cost line most brands overpay on). Either move CM2 back into the band. If neither lever is available, the unit economics are signaling a deeper product or sourcing problem.
- Channel mix. Calculate CM3 by channel (DTC vs Amazon vs wholesale). The channel with the highest CM3 should get the most marketing investment, not the channel with the highest revenue.
- SKU rationalization. Plot every SKU on a CM2 vs volume chart. SKUs with low CM2 and low volume should be killed. Low CM2 and high volume might be a price-or-cost fix. High CM2 and low volume might be a marketing fix. A cloud inventory tool (Cogsy, Inventory Planner, Inflow) makes this exercise tractable across hundreds of SKUs without spreadsheet hell.
- Promotion modeling. Every promo discount comes out of CM. A 20% promo on a 50% CM2 SKU drops CM2 to 40%. Check if the volume lift covers the margin hit.
- Max allowable CAC. CM2 per customer multiplied by your target payback period equals your max allowable CAC. See how to calculate customer acquisition cost for the full framework.
Contribution margin on the income statement
Contribution margin doesn't appear on a standard GAAP income statement. The standard statement runs: Revenue, COGS, Gross Profit, Operating Expenses, Operating Income, Net Income. There's no "contribution margin" line.
For management reporting, build a variable-costing income statement: Revenue, less Variable Product Costs (CM1), less Variable Operating Costs (fulfillment, payment fees, returns) (CM2), less Variable Marketing (CM3), less Fixed Costs (Operating Profit). This gives you operating decisions at every layer.
Public companies don't report contribution margin in 10-K filings (more on that below in the FAQ). They report gross margin. For your internal management decks, the variable-costing format is the one to use.
Free contribution margin calculator
The Eightx contribution margin calculator walks the full CM1 / CM2 / CM3 ladder. Inputs: selling price, product COGS, pick-pack-ship, outbound shipping, payment fee percentage, return rate, blended CAC. Outputs: each CM layer, the ratio at each layer, and a color-coded health indicator versus the portfolio benchmarks above.
Want to benchmark your CM against 35 DTC brands and get our Google Sheets CM model? Book a 30-minute call.
The variable costs that decide contribution margin
Contribution margin is whatever survives after the variable costs below gross margin. The largest is marketing, so track it as marketing as a percent of revenue and CAC by channel, and watch the efficiency ceiling with ROAS vs MER vs blended CAC. The rest is fulfillment and fees: fulfillment cost per order, 3PL pick-and-pack cost, and payment processing fees.
Conclusion
Contribution margin is the ecom operator's most useful number, and the one most brands aren't tracking with the right structure. CM1 tells you the product economics. CM2 tells you the order economics and is the input to max-allowable CAC. CM3 tells you the customer economics. Run the full ladder. Compare against vertical benchmarks. Use it to drive pricing, channel mix, SKU, promo, and CAC decisions. Most of the brands we see scaling profitably are the ones whose founders can recite their CM2 by SKU from memory. Most of the brands struggling are the ones tracking gross margin and hoping the numbers below it work out.
Want help running your CM ladder against the 35-brand portfolio and finding the layer that's secretly broken? Talk to a CFO.
Frequently Asked Questions
what's the difference between contribution margin and gross margin?
Gross margin is revenue minus product cost (COGS), expressed as a percentage. Contribution margin goes further and subtracts every variable cost tied to delivering and selling an order: fulfillment, shipping, payment fees, returns reserve, and (in CM3) variable marketing. A Shopify apparel brand with a 60% gross margin might have a 35% CM after fulfillment and payment fees, and a 20% CM after marketing. Gross margin tells you product economics. Contribution margin tells you whether you're actually making money per order.
how do you calculate contribution margin per unit?
Unit CM = Selling Price per unit minus Variable Cost per unit. Variable cost per unit includes product COGS, pick-pack-ship, outbound shipping, payment processing fees, and returns reserve. On an $89 AOV apparel item: $89 selling price minus $24 product COGS minus $6 pick-pack-ship minus $7 outbound shipping minus $2.88 payment fees (Shopify Payments 2.9% + 30 cents) minus $4.45 returns reserve (assuming 5% return rate × $89) = $44.67 unit CM2 (about 50% CM2 ratio).
what is a good contribution margin for an ecommerce brand?
Depends on the layer you're measuring and your vertical. From our 35-brand portfolio: apparel DTC median CM2 (after fulfillment, before marketing) is 38%, top decile 52%, bottom decile 22%. Beauty median 50%, top 62%, bottom 32%. CM3 (after marketing) is roughly 10 to 25 points lower than CM2 across the portfolio, with the spread driven by how much paid acquisition the brand runs. Industry averages are starting points, not targets.
is contribution margin the same as profit?
No. Contribution margin is what's left of revenue after variable costs but before fixed costs like rent, salaries, software, and overhead. Net profit is what's left after both. Contribution margin tells you whether each order makes money on its own; net profit tells you whether the whole business makes money once you cover the fixed cost base. A brand with strong CM2 can still be unprofitable overall if fixed costs are too high; a brand with weak CM2 will never be profitable no matter how much it scales.
how do you find contribution margin in shopify?
Shopify doesn't show contribution margin natively. You have to build it. Pull total revenue, total COGS (from inventory cost), shipping costs (from your 3PL or Shopify Shipping invoices), payment processing fees (from Shopify Payments reports), returns from the returns app, and marketing spend from ad platforms. Subtract them from revenue in that order to get CM1, CM2, and CM3. Tools like Polar Analytics, Drape, and Lifetimely can automate this; the free contribution margin calculator below does the same math manually.
what's the contribution margin formula in excel?
Per order: CM = Selling Price - (Product Cost + Pick-Pack-Ship + Outbound Shipping + Payment Fee + Returns Reserve). In Excel: =A1-SUM(B1:F1) where A1 is selling price and B1 through F1 are the variable costs per order. For CM%, divide CM by selling price: =CM/A1. The Eightx Google Sheets template at /tools/contribution-margin-calculator builds the full CM1/CM2/CM3 ladder.
how does ad spend affect contribution margin?
Ad spend is the variable cost that takes you from CM2 (after fulfillment, before marketing) to CM3 (after marketing). If your CM2 per order is $44 and your blended CAC is $30, your CM3 is $14. If your CAC rises to $45, your CM3 goes negative even though CM2 hasn't changed. This is why CM2 is the right input to max-CAC budgeting: max allowable CAC equals CM2 per customer times your target payback period.
why don't public companies report contribution margin?
Because GAAP doesn't define how to classify variable costs, so contribution margin isn't standardized across companies. Allbirds, Warby Parker, Olaplex, and e.l.f. Beauty all report gross margin in their 10-Ks but not contribution margin; they sometimes reference unit economics in MD&A narrative but rarely as a primary metric. CM is for internal operating decisions, not external reporting. SaaS companies are the exception because their variable costs are simpler (hosting, support) and they've standardized the metric for investor benchmarking.
why is my cm2 negative but my gross margin positive?
Because gross margin only subtracts product COGS, but CM2 also subtracts pick-pack-ship, outbound shipping, payment fees, and returns reserve. If your gross margin is 50% but you spend more than 50 cents per dollar of revenue on those four operational costs, your CM2 goes negative. The usual culprits are heavy shipping for low-AOV products (the shipping cost is a high percentage of the order), an expensive 3PL, or a high return rate. Pull each cost line as a percent of revenue and you'll see where the leak is.
what happens to cm if i offer free shipping?
You absorb the outbound shipping cost on every order, which drops CM2 directly. If outbound shipping is $7 on an $89 AOV order, free shipping drops your CM2 by $7 (and your CM2 ratio by ~8 percentage points). It's only worth doing if the conversion lift from offering free shipping pays for the margin hit. A 10% conversion lift on a 50% CM2 SKU usually does. A 2% conversion lift on a 30% CM2 SKU usually doesn't. Model both numbers before you commit.
do i subtract ad spend to get cm1 or cm2?
Neither. Ad spend (variable marketing) is what takes you from CM2 to CM3. CM1 is revenue minus product COGS only. CM2 is CM1 minus operational variable costs (fulfillment, shipping, payment fees, returns). CM3 is CM2 minus variable marketing. Keep marketing out of CM1 and CM2, that's what makes CM2 a clean input to the max-allowable-CAC formula. If you bundle marketing into CM2, the metric becomes circular when you use it to budget marketing.
