Finance & cash · CM

Contribution margin

What one extra sale leaves behind after the costs that only exist because you made that sale.

(net_revenue − variable_cost) ÷ net_revenue Unit percentage or currency per unit Usual grain product × channel

01 What it is

Why anyone looks at this number

In one sentence

What one extra sale leaves behind after the costs that only exist because you made that sale.

It is the right number for pricing, discounting and volume decisions. Gross margin includes some fixed cost, so using it to judge one more order gives the wrong answer.

02 The formula

How it is worked out

contribution-margindefinition
Contribution margin = (net_revenue − variable_cost) ÷ net_revenue

grain  : product × channel
unit   : percentage or currency per unit
source : Product costing plus a variable/fixed flag on cost elements

The variable/fixed split is a modelling decision, not a system field. Write it down and version it, or two teams will quote two contribution margins for the same product.

03 Worked example

The same number, with real inputs

Inputs
Price per unit€12.50
Variable cost per unit€8.00
Calculation(12.50 − 8.00) ÷ 12.50
Result36% (€4.50 per unit)

A 10% discount costs €1.25 of the €4.50 — 28% of the contribution. You would need to sell 39% more units just to stand still.

04 What moves it

Four things that actually change this number

Driver 01

Net price

Straight through — a discount is a pound-for-pound cut in contribution.

Driver 02

Variable cost per unit

Materials, piece-rate labour, packaging, outbound freight.

Driver 03

Mix

Which products and channels the volume came through.

Driver 04

Minimum order size

Small orders carry fixed handling cost that behaves like variable cost.

05 Where the number lives

The system, the record and the fields

System of recordKey recordFields you need
Product costing plus a variable/fixed flag on cost elementsMaterial, Routing and Cost element material_cost, direct_labour, variable_overhead, outbound_freight

The variable/fixed split is a modelling decision, not a system field. Write it down and version it, or two teams will quote two contribution margins for the same product.

06 How it goes wrong

Three ways this metric misleads people

Mistake

Using gross margin for a discount decision

Gross margin carries fixed production cost, so it understates what a discount really costs.

Fix: Use contribution for any incremental decision; use gross margin for reporting.
Mistake

Forgetting the cost to serve

Delivery, returns and support differ hugely by customer and never appear in unit cost.

Fix: Add a cost-to-serve layer before calling a customer profitable.
Mistake

Treating labour as variable

If you cannot send people home when volume drops, that labour is fixed this quarter.

Fix: Classify by whether the cost actually disappears, not by which line of the P&L it sits on.

08 Questions

Frequently asked

When should I use contribution margin instead of gross margin?

Any time the question is "should we do one more of these?" — pricing, discounts, promotions, accepting an extra order, dropping a product line.

How do I decide what counts as variable?

Ask whether the cost disappears if the sale does not happen, within the period you are deciding for. Over a long enough horizon almost everything is variable, which is why the horizon has to be stated.

One definition, everywhere it is used

SCIKIQ stores this metric once and serves it to every dashboard, board pack and agent that asks.

Book a live demo