Yes. The key is to stop treating “contribution margin” as just revenue minus COGS and instead model the cash you actually keep from an incremental order.
A useful structure is:
1. Start with net revenue, not gross sales
For each order:
Gross selling price
− discounts/promotions
− refunds
− expected return value
= Net revenue
Be careful with returns: model both the probability of return and the economic cost of the return. A returned product may still be resellable, but you can have two-way shipping, processing, damaged inventory, markdowns, and payment/refund costs.
2. Subtract truly variable fulfillment costs
Include costs that scale with orders or units:
- Product COGS
- Inbound freight/duties if appropriately variable
- Pick/pack
- Outbound shipping
- Packaging
- Payment processing
- Marketplace fees
- Customer-service costs that scale with orders
- Return shipping and return processing
- Expected inventory write-offs from returns
That gives you contribution margin before acquisition.
3. Then subtract customer acquisition
For an ecommerce business, I'd usually show:
Net revenue
− variable product/fulfillment costs
− expected return costs
= Contribution before marketing
Then:
− paid advertising / CAC
= Contribution after acquisition
This is the number I would pay the most attention to when deciding whether an incremental order is actually attractive.
For example:
| Per order | Amount |
|---|
| Gross sales | $100 |
| Discounts | -$5 |
| Expected refunds/returns | -$8 |
| Net revenue | $87 |
| COGS | -$30 |
| Fulfillment + shipping | -$12 |
| Payment fees | -$3 |
| Return costs | -$4 |
| Contribution before ads | $38 |
| Advertising | -$20 |
| Contribution after ads | $18 |
So a seemingly healthy 70% gross margin business might actually generate only $18 of contribution per $100 order.
4. Don't bury overhead inside the order-level metric
This is where I would use two separate measures.
Contribution margin: economics of an incremental order/customer.
Operating profit: contribution − fixed/semi-fixed overhead.
Allocate overhead separately:
- Salaries
- Rent
- Software
- Insurance
- Accounting/legal
- Management
- Warehousing capacity you pay for regardless of volume
- Corporate overhead
You can allocate overhead per order for planning, but don't let that obscure whether an incremental order is profitable.
For example, if you have $100k/month of fixed overhead and 10,000 orders, that's $10/order at the current volume. But if you can acquire another 2,000 orders without adding meaningful fixed costs, that $10 isn't actually an incremental cost of those orders.
5. The cash-flow model is even more important
If cash is tight despite positive contribution, I'd add a separate cash conversion layer.
Track:
Cash collected from customers
− cash paid for inventory
− fulfillment/shipping cash payments
− advertising
− payroll/overhead
− taxes
− debt payments
− capex
= Net cash change
This can expose the classic situation where the P&L looks good but growth consumes cash because you have to buy inventory before collecting revenue.
For inventory-heavy businesses, calculate:
Cash required to fund incremental growth
roughly as:
incremental inventory investment + operating cash burn − customer cash collected before supplier payments
Also model supplier payment terms, inventory lead times, and the timing of returns—not just their averages.
The spreadsheet I'd build
Have one driver sheet with:
Price → discounts → returns → net revenue → COGS → variable fulfillment → payment fees → contribution before ads → CAC → contribution after ads → fixed overhead → operating profit → working-capital investment → ending cash.
Then run the model by cohort/month, rather than relying solely on a single blended margin.
The most important diagnostic is:
“If I spend another $1 on acquisition today, how much additional cash will ultimately come back, and when?”
That's often where the difference between good unit economics and good cash economics shows up.