How to calculate contribution margin for a DTC brand
Contribution margin is what each order leaves you after every cost that rises and falls with that order. DTC brands usually calculate it in three layers: CM1 after product costs, CM2 after fulfillment, shipping, payment and returns, and CM3 after marketing. CM2 is the number most decisions should run on.
Gross margin tells you whether a product is priced sensibly. Contribution margin tells you whether selling it through your store, to your customers, with your shipping and return rates, makes you money.
What counts as a variable cost?
Anything you pay more of when you sell one more order. For most Shopify brands that means:
- Landed product cost, including inbound freight and duties, not just the factory price
- Pick, pack and packaging, whether you pay a 3PL or do it in-house
- Outbound shipping, minus whatever the customer paid for shipping
- Payment processing fees
- Returns and refunds, including return shipping and stock you can't resell
- Discounts, which come off revenue rather than counting as marketing
- Marketing, which belongs in CM3 rather than CM2
Fixed costs like salaries, software subscriptions and rent stay out of contribution margin. They matter, but they don't change with each order, so they belong further down the P&L.
How do the three layers work?
Here's an illustrative $80 order, after discounts:
- Revenue: $80.00
- Landed product cost: $24.00, leaving CM1 of $56.00 (70%)
- Pick, pack and packaging: $4.00
- Outbound shipping: $9.00
- Payment processing: $2.50
- Returns allowance at 5% of revenue: $4.00, leaving CM2 of $36.50 (about 46%)
- Marketing cost for the order: $22.00, leaving CM3 of $14.50 (about 18%)
A 70% gross margin looks comfortable. By the time the order has shipped and a share of it has come back, less than half of the revenue is left to pay for marketing and the business. After marketing, it's under a fifth.
Why should decisions run on CM2?
Because CM2 is what an order contributes before you decide how much to spend winning it. That makes it the right basis for three of the biggest decisions a DTC brand makes: how much you can afford to pay for a customer, which products to push, and whether an offer like free shipping pays for itself.
CM3 is useful for judging past performance. But because marketing cost per order moves with every campaign, it's a poor foundation for setting targets.
How do I use it to set a CAC target?
Start with CM2 per order, then multiply by the number of orders a typical customer places in their first twelve months. In the example above, a customer who orders 1.8 times in a year contributes about $65.70 in CM2.
If you want an LTV to CAC ratio of 2.5:1, you can afford to pay about $26 to acquire that customer. Our post on what a healthy LTV to CAC ratio looks like explains why the ratio should be built on contribution margin rather than revenue, and why 2.5:1 to 4:1 is a sensible range for DTC.
Where do brands get it wrong?
- Using the factory price as product cost and forgetting freight and duties.
- Ignoring free shipping. If you don't charge for shipping, the whole cost comes out of your margin.
- Treating returns as rare. In apparel especially, returns can take a large share of revenue back after the sale was counted.
- Booking discounts as marketing, which makes CM2 look healthier than it is.
- Averaging across the whole catalog. A best-seller with a thin margin and an accessory with a fat one tell very different stories.
How often should I recalculate?
At least every quarter, and whenever something big changes: a new 3PL rate card, a carrier price increase, a shift in return rates or a move into a new market. Shipping and fulfillment costs tend to creep up without anyone announcing it, and a margin calculated a year ago can be badly out of date.
Calculate it by product too. Product-level CM2 is often the fastest way to find out that your most-advertised item is one of your least profitable.
We help DTC brands model unit economics before they scale spend. If you'd like a second pair of eyes on your numbers, start with a free CRO audit.