The Short Answer: Gross Margin vs Contribution Margin

Gross margin is revenue minus cost of goods sold (COGS), divided by revenue — it measures the profitability of your entire production engine. Contribution margin is revenue minus variable costs only, divided by revenue — it measures how much each incremental sale contributes toward covering fixed costs and generating profit. The difference matters because gross margin lives on the income statement and is what investors see, while contribution margin lives inside your spreadsheet model and is what drives pricing, mix, and break-even decisions.

If you remember one thing: gross margin tells you whether the business works. Contribution margin tells you whether the next sale is worth making. Both belong in a serious Excel model, but they answer different questions.

What Goes Into Each Number

The mechanical difference comes down to what you classify as a "cost of sale." Gross margin uses COGS as defined by GAAP. Contribution margin uses only the costs that move when volume moves.

Gross Margin: The GAAP View

Gross margin = (Revenue − COGS) ÷ Revenue.

COGS is whatever the company reports above the gross profit line. It typically includes:

  • Direct materials and direct labor
  • Factory overhead allocated to units produced (depreciation on production equipment, plant rent, supervisor salaries)
  • Inbound freight and certain warehousing costs
  • For software companies: hosting, third-party processing fees, customer support tied to the product, and amortization of capitalized software

The key word is allocated. A factory supervisor's salary is fixed — it doesn't change if you make 90 units or 110 — but GAAP still puts it in COGS. That's why gross margin includes a chunk of fixed cost.

Contribution Margin: The Decision View

Contribution margin = (Revenue − Variable Costs) ÷ Revenue.

Variable costs are only the costs that flex with each unit sold:

  • Raw materials
  • Per-unit packaging and shipping
  • Sales commissions tied to revenue
  • Payment processing fees (Stripe, Shopify Payments, interchange)
  • Variable labor on a true piece-rate or hourly-load basis

Salaried staff, rent, software subscriptions, and depreciation are excluded — even when they sit inside COGS for GAAP purposes. Because contribution margin strips out those fixed elements, contribution margin is always equal to or higher than gross margin for the same business.

Takeaway: Before you compute either number, build a clean cost taxonomy in your model with a column labeled "Variable / Fixed / Semi-variable." That single column resolves 80% of margin confusion downstream.

Worked Example: A $100 Software Subscription

Imagine you sell a SaaS plan at $100/month. Your costs per customer per month look like this:

  • AWS / cloud hosting attributable to that customer: $8
  • Stripe processing fees (2.9% + $0.30): $3.20
  • Third-party API costs (e.g., Twilio, OpenAI passthrough): $4
  • Customer support, allocated per active customer: $10 (this is a salaried support team)
  • Customer success manager allocation: $6 (salaried)

Gross margin calculation (GAAP view): COGS includes everything above = $31.20. Gross margin = ($100 − $31.20) / $100 = 68.8%.

Contribution margin calculation (decision view): Only the truly variable costs — hosting, Stripe, API passthrough = $15.20. Contribution margin = ($100 − $15.20) / $100 = 84.8%.

The 16-point gap is the support and CS allocation. Those people exist whether you sell one more seat or not. That gap is exactly why the two numbers exist.

For context, the 2025 SaaS benchmarks compiled by Benchmarkit and CloudZero put median subscription gross margin at 81% and total-revenue gross margin at 77%, with professional services dragging the blended number down. If your contribution margin sits above 80% but gross margin sits below 70%, your variable economics are fine — your fixed cost structure is the problem.

Takeaway: Always compute both. The delta between them is your fixed cost-to-serve, and that's the number you negotiate, automate, or restructure.

Real Public Company Examples (Why the Gap Looks Different by Industry)

Shopify — Software Gross Margin Around 50%

Shopify reported full-year 2025 revenue of approximately $8.88 billion, cost of revenues of $4.41 billion, and gross profit of $4.47 billion — a gross margin of roughly 50.4%, per their Q4 2025 press release filed with the SEC. That sounds low for software, but Shopify's cost mix is bifurcated: subscription solutions (high gross margin, mostly hosting and support) and merchant solutions (Shopify Payments, which has very thin gross margin because it pays interchange fees to card networks).

The merchant-solutions piece is largely variable: every transaction triggers a fee to Visa, Mastercard, and the acquiring bank. That means for the payments segment, gross margin and contribution margin are nearly identical — there's not much fixed cost hiding inside. For subscriptions, by contrast, the contribution margin is dramatically higher than the gross margin, because the hosting and support layers carry significant fixed components.

Costco — Retail Gross Margin Around 11%

Costco's FY2025 10-K reported gross margin of 11.12% on $269.9 billion of net sales, generating $30.0 billion of gross profit. An 11% gross margin would terrify a SaaS founder. For Costco it's a strategic choice — they intentionally price low and earn most of their profit from membership fees, which sit below gross margin on the income statement.

The contribution-margin lens reveals the real story: a Costco transaction has very little fixed cost embedded in COGS (mostly product cost and freight), so gross margin and contribution margin are similar at the unit level. The leverage comes from membership fees and from the fact that adding incremental sales doesn't materially increase warehouse staffing — operating leverage, not gross-margin expansion, is the model.

Netflix — When "COGS" Is Mostly Fixed

Netflix's nine-month content amortization through Q3 2025 was $11.66 billion, according to its 10-Q filing. Content amortization sits inside cost of revenue. But content cost is almost entirely fixed with respect to subscriber count — a season of Stranger Things costs the same whether 100 million or 200 million people watch it. So Netflix's gross margin understates the contribution margin of an incremental subscriber, which is close to 100%. That's the structural reason Netflix could lift operating margin from 27% in Q2 2024 to 34% in Q2 2025: every new subscriber is almost pure contribution.

Takeaway: The industry sets the size of the gap between gross and contribution margin. Software with fixed support: large gap. Pure transaction businesses: small gap. Content and IP: massive gap, and the contribution-margin view is the only honest one.

When to Use Which Number

Reach for gross margin when:

  • Reporting to investors, lenders, or a board — they expect GAAP figures
  • Benchmarking against public comparables (10-K filings only show gross margin)
  • Tracking long-term structural profitability of the business as a whole
  • Building a three-statement model where the P&L must reconcile to GAAP

Reach for contribution margin when:

  • Pricing a new product or running a discount scenario
  • Running break-even analysis (Break-even units = Fixed Costs ÷ Contribution Margin per Unit)
  • Deciding whether to accept a one-off bulk order at below list price
  • Comparing product lines or SKUs to decide what to cut
  • Modeling the impact of a sales commission change or a payment-processor renegotiation

The classic mistake is using gross margin for a pricing decision. If your gross margin is 40% and someone offers to buy at a 35% discount, gross-margin logic says reject. But if your contribution margin is 70%, taking that order at a 35% discount still adds positive contribution to the business — assuming you have spare capacity and the deal doesn't cannibalize full-price sales. As Joe Knight told Harvard Business Review, contribution margin reveals your true pricing floor: the absolute minimum you can charge before a sale actively loses money.

Takeaway: If the decision is about the next unit, use contribution margin. If the decision is about the business as a whole, use gross margin.

Building This In Excel: A Step-by-Step Spreadsheet Model

A working contribution-and-gross-margin model needs five blocks. You can build this from scratch or start from a ready-made Excel template:

  1. Revenue block. Units sold × price per unit, ideally broken out by product line or SKU. Use a separate column per period so you can flex months or quarters.
  2. Cost taxonomy table. List every cost line and tag it Variable, Fixed, or Semi-variable. This is the single most important sheet in the model. Without it, your formulas will mix categories and the margins will mean nothing.
  3. Variable cost block. SUMIF the taxonomy table to pull only variable costs. Compute contribution margin as (Revenue − Variable Costs) ÷ Revenue.
  4. COGS block. Add allocated fixed manufacturing or hosting costs to variable costs. Compute gross margin as (Revenue − COGS) ÷ Revenue.
  5. Break-even block. Total fixed costs (operating expenses below gross profit, plus the fixed component you allocated into COGS) divided by the contribution-margin ratio gives revenue break-even. Divided by per-unit contribution gives unit break-even.

Add a sensitivity table on top showing what happens to break-even if price drops 5%, if variable cost rises 10%, or if fixed costs are cut by 15%. That sensitivity view is where the model earns its keep — it's the difference between a static report and a decision tool.

Takeaway: The cost taxonomy column is the foundation. Get that right and the rest of the model writes itself.

Common Mistakes

  • Treating sales commissions as fixed. If the comp plan pays a percentage of revenue, commissions are variable and belong in contribution-margin calculations.
  • Ignoring payment processing fees. A 2.9% Stripe fee on a $100 SaaS plan is $2.90 of variable cost. On a high-volume product line, this single line item can move contribution margin by 200–300 basis points.
  • Allocating fixed support costs per unit. Allocations are useful for gross-margin reporting but corrupt contribution-margin decisions. Keep them in a separate row.
  • Mixing services and product economics. SaaS businesses with consulting arms see blended gross margin collapse because services run at ~30% gross margin. Always model them separately.
  • Forgetting capacity constraints. Contribution-margin logic says take any sale above variable cost. That's only true when you have spare capacity. If accepting an order pushes out a higher-margin customer, the opportunity cost flips the decision.

Why This Matters for Your Model

Every operator eventually faces three decisions where these numbers determine the answer: should we cut this product line, should we accept this discount, and how many more units do we need to sell to break even on a new fixed-cost hire. Gross margin alone can't answer any of those. Contribution margin alone won't get past your board. You need both, sitting side by side in the same model, computed from the same revenue and the same cost taxonomy.

That's the practical reason to start from a built financial model instead of opening a blank Excel sheet at midnight. A well-structured template has the cost taxonomy, the contribution-margin block, the gross-margin reconciliation to GAAP, and the break-even sensitivity already wired together — so when the CFO asks "what's the break-even price on the new tier," you have the answer in the next five minutes instead of the next five hours. The ModelStack Financial Model Bundle includes pre-built contribution-margin, break-even, and three-statement templates with the cost taxonomy structure described above, so you can plug in your numbers and start making decisions immediately.

Sources

Related: Browse all Best Financial Model Templates on ModelStack.

Get started with a free template

Download our free Unit Economics Calculator — no signup required.

Download Free Template