Contribution margin is what one sale leaves after the costs that come with it: price minus variable costs. It answers one narrow question, what does one more unit add, and that makes it the number to use for most product decisions: which plan to promote, how deep a discount can go, whether a new format pays. The contribution margin ratio is the same thing as a share of the price. Gross margin, the line on a P&L, answers a different question about the company as a whole, and its cost groupings can move for reasons that have nothing to do with a single sale. Below: the formula, a worked example on lesson packages, and where gross margin leads a decision astray.
The contribution margin formula and ratio
CM=P−VC,CMratio=PCM
where P is the price per unit and VC the variable costs per unit: the costs that grow when you sell one more. Multiply CM by units sold to get the contribution of a month.
What counts as variable depends on the business. For an online lesson it is the tutor's payout, the payment fee and the video bill. For a SaaS seat, usage-based hosting and AI inference. For a physical product, materials and delivery. Salaries, rent and the marketing budget stay out on purpose; spread them over units and the "cost per unit" changes with volume, see fixed vs variable costs.
A worked example: lesson packages
Klasna is an online tutoring school. Families buy English lessons in packages of 8, 16 or 32; the bigger the package, the cheaper each lesson. In the 16-lesson package a lesson costs 9,920 ÷ 16 = 620 UAH. The tutor gets 390, the payment provider keeps 2.5% (15.50) and video and AI cost 30:
CM=620−390−15.50−30=184.50 UAH
The ratio is 184.50 ÷ 620 = 29.76%: about 30 kopiykas of every hryvnia a family pays are left for fixed costs and profit.
Package
Price per lesson, UAH
CM per lesson, UAH
CM per package, UAH
8 lessons
650
213.75
1,710
16 lessons
620
184.50
2,952
32 lessons
580
145.50
4,656
Look where the 32-pack's 40-hryvnia discount went. The tutor still gets 390 and video still costs 30; only the fee shrank, by one hryvnia. The other 39 came straight out of contribution margin: 145.50 instead of 184.50.
In the 32-lesson package the price drops by 40 UAH, the tutor payout, fee and video barely move, and contribution margin falls from 184.50 to 145.50 UAH
The decision: push the biggest package?
The CEO wants a September campaign for the 32-pack: 4,656 per package beats 2,952. Compared with what?
A family that would otherwise buy one 16-pack and leave: Klasna gains 4,656 − 2,952 = 1,704 UAH.
A family that would buy two 16-packs anyway: 2 × 2,952 = 5,904, so the campaign costs 5,904 − 4,656 = 1,248 UAH for the same 32 lessons.
Contribution margin per unit tells you the size of each option; the decision depends on what the customer would have done without the offer. That is the question to take to the data.
Why not gross margin?
Gross margin is (revenue − cost of revenue) ÷ revenue, a line on the P&L. Which costs land in "cost of revenue" is an accounting grouping. It often includes delivery costs that don't change with one more sale (a support team, platform licences) and often leaves out variable costs such as payment fees, which go into operating expenses.
Take one such grouping for Klasna's lesson sales: tutor payouts, video and AI and the support coordinators in cost of sales, payment fees below the line.
Lesson sales
March
July
Gross margin (that view)
28.25%
26.00%
Contribution margin ratio
28.10%
28.17%
CM per lesson, UAH
174.48
176.35
In March: (4,868,640 − 3,136,000 − 243,040 − 114,000) ÷ 4,868,640 = 28.25%. In July: (1,627,600 − 1,047,800 − 80,600 − 76,000) ÷ 1,627,600 = 26.00%. Gross margin "fell" by more than two points, yet each lesson earned slightly more. The drop is the coordinators' fixed cost spread over a quiet month. Anyone pricing a summer offer off that gross margin would be reacting to volume, not to the economics of a lesson.
Gross margin is still useful for comparing companies and periods. For a decision about units, use contribution margin.
Honest limits
A positive contribution margin isn't profit. It has to cover fixed costs first; how many units that takes is the break-even point.
Variable costs aren't always linear. A group lesson pays the tutor per session, not per learner, so the unit matters. Each learner pays 280 UAH and leaves 273 after the fee; the tutor and the video room cost 560 per session. A session with two learners leaves 2 × 273 − 560 = −14 UAH.
New products take sales from old ones. Subtract the contribution of the sales you lose (cannibalization).
Use what customers actually pay, after discounts and refunds, and on the same basis as the costs: for a marketplace whose revenue is only its commission, keep the gross sales and the payouts together.
Key takeaways
Contribution margin = price − variable costs per unit; the ratio = CM ÷ price.
A discount comes almost entirely out of contribution margin.
Bigger bundles can earn less per unit and more per customer: compare the options the customer really has.
Gross margin mixes in fixed delivery costs and moves with volume; decide on contribution margin.
FAQ
Is contribution margin the same as gross margin?
No. Contribution margin subtracts only the costs that grow with each unit. Gross margin subtracts the P&L's cost of revenue, which can include fixed delivery costs and leave out variable ones like payment fees.
Can contribution margin be negative?
Yes, when a unit costs more to deliver than it brings, like a group session with too few learners. Every such sale makes the month worse.
What is a good contribution margin ratio?
There is no universal number. Compare it with your fixed costs: the ratio tells you how much revenue you need to cover them.
Learn it hands-on
The lesson Contribution margin: what one lesson leaves works through Klasna's full price list with numeric exercises checked instantly, and the case should Klasna launch group lessons? uses contribution margin to judge a real pilot. Both are part of the course Finance for Product People: From Unit Economics to Business Cases.