Contribution Margin
Definition, formula, a worked example, and the mistakes that make it wrong. For DTC brands.
What is contribution margin?
Formula
Net revenue - product cost - fulfillment - payment and marketplace fees
What each part means
- Net revenue
- Net sales (gross sales minus discounts and returns) plus shipping charged to customers, minus shipping refunded, before tax. Finance owns the exact rule.
- Product cost
- The cost of goods sold for the items on the order, taken from a dated cost table so old orders keep the cost they had at the time.
- Fulfillment
- Pick, pack, and shipping label costs, usually from 3PL invoices and shipping label data. Packaging belongs here too if it rises with each order.
- Payment and marketplace fees
- Payment processor fees and marketplace fees. Marketplace fees are often estimated at the order and final only when they settle.
Worked example
An order brings in $100 of net revenue. Product cost is $40, fulfillment is $7, and payment fees are $3. Contribution margin is $100 - $40 - $7 - $3 = $50, or 50% of net revenue. If you also subtract $20 of ad spend, call the result contribution after marketing ($30), not contribution margin.
Where the numbers come from
- Shopify orders, order lines, and refund lines for net sales and shipping charged
- A dated product cost table kept in the warehouse (Shopify profit reports only cover products with a cost recorded at the time of sale)
- 3PL invoices and shipping label exports for fulfillment cost
- Payment processor reports and marketplace settlement lines for fees
- The general ledger for the closed month, as the tie-out
Mistakes that make it wrong
- Using one static cost field
- A single cost field gives old orders today's cost. Keep a dated cost table so each order uses the cost that applied when it was placed.
- Mixing in ad spend without renaming it
- Subtracting marketing turns the number into contribution after marketing. Decide which one a dashboard shows and label it.
- Treating estimated marketplace fees as final
- Amazon fees are estimated at the order and final at settlement, so margin on recent orders can change after the sale. Restate fees when they settle.
- Including fixed costs
- Rent, salaries, and software matter, but they do not change when you add one more order. Leave them out of contribution margin and cover them elsewhere.
What good looks like
There is no universal good contribution margin, because it depends on your product cost, price, and shipping model. Tie your number to the closed month in the ledger, track it by channel and product for a few months, and set targets from that baseline.
Common questions
What is the difference between contribution margin and gross margin?
Gross margin subtracts only product cost. Contribution margin also subtracts fulfillment and payment and marketplace fees, so it shows what each order leaves to pay for marketing and fixed costs.
Should contribution margin include ad spend?
In our definition, no. Contribution margin is before marketing. If you subtract ad spend, call it contribution after marketing so nobody mixes the two.
Who should own the contribution margin definition?
Finance, because it ties to the books. The data team builds it and runs the monthly tie-out against the ledger.
Why does my Amazon contribution margin change after the sale?
Amazon fees are estimated when the order is placed and become final when they settle. Restate the order's fees when the settlement lands, and expect recent weeks to move.
Can I get contribution margin from Shopify alone?
Not fully. Shopify profit reports only cover products with a cost recorded at the time of sale, and shipping and payment fees often live in other systems. Load those into the warehouse too.
Want contribution margin from your own data?
We build the reports that calculate it the same way every month, from the systems you already use.