# Contribution margin per unit: what one lesson leaves

> Contribution margin per unit, step by step: price minus tutor payout, fees and video minutes, and what a lesson and a package really earn.

- Course: [Finance for Product People: From Unit Economics to Business Cases](https://productovi.com/courses/finance-for-product.md)
- Module: What does one lesson earn us?
- Lesson 1/32, ~28 min
- Source: https://productovi.com/courses/finance-for-product/contribution-margin

## Where you work

**Alex Tutor:** Welcome to the course. Meet **Klasna**, an online tutoring school and marketplace from Kyiv: English, exam math and programming for teens, sold in prepaid packages of 8, 16 or 32 lessons to families in Ukraine and the EU. Sales are growing, but not every sale earns what it seems to.

**Alex Tutor:** You've just joined Klasna's product team. Hanna, who runs finance, and Leo, the co-founder and CEO, will bring you real decisions on prices, costs, cash and investments, and you'll back every answer with numbers. Today we follow the money from a single lesson.

## What the family pays and what stays

**Leo:** Families love the 32-lesson package, our biggest discount. I want to push it hard in September: a banner and an email to every family.

**Hanna:** First, one question: what does one lesson actually leave Klasna? Not what the family pays, but what stays with us after the lesson.

**Sofia:** Let me start with English. The 16-lesson package costs 9,920 UAH, so one lesson is 9,920 / 16 = 620 UAH. Is that it?

**Alex Tutor:** That's what the family pays. Now follow those 620 hryvnias out the door. The tutor gets 390 for the lesson. The payment provider keeps 2.5% of the price, which is 15.50. Video minutes and the AI practice partner cost another 30.

**Alex Tutor:** What's left is the **contribution margin per unit**, and here the unit is one lesson: 620 − 390 − 15.50 − 30 = **184.50 UAH**. That's what one lesson contributes to the team, the office and marketing, and, once those are paid, to profit.

**Dataset (CSV):** [Klasna's price list: packages and the costs of one lesson](https://productovi.com/datasets/finance-for-product/contribution-margin/klasna-price-list.csv)

One row per subject and package size. Prices and costs are in UAH; the fee is a percentage of what the family pays.

- `subject`: english, maths or programming
- `lessons`: Lessons in the package: 8, 16 or 32
- `package_price_uah`: What the family pays for the whole package
- `tutor_payout_per_lesson_uah`: What the tutor gets for each delivered lesson
- `video_ai_per_lesson_uah`: Video minutes and AI practice for one lesson
- `payment_fee_pct`: Payment provider fee, % of the price

$$
CM = P - T - 0.025 \times P - V \qquad CM\% = \frac{CM}{P} \times 100
$$

*CM: contribution margin per lesson; P: price per lesson (package price ÷ lessons); T: tutor payout; V: video + AI per lesson.*

**Alex Tutor:** Every row of the price list has what you need. Try maths next.

> **Exercise:** Use the price list. What is the **contribution margin per lesson** of a maths lesson in the 16-lesson package?

## Which costs come with the lesson

**Sofia:** Why only those three costs? Klasna also pays salaries, the office and ads. Shouldn't a slice of those come off every lesson too?

**Alex Tutor:** Ask one question of every cost: if we deliver one more lesson, does it grow? The tutor's payout does. So do the fee and the video bill. Those are **variable costs**.

**Alex Tutor:** Hanna's salary doesn't change if Klasna delivers one lesson more or less this month. Nor does the office rent. Those are **fixed costs**, and they stay out of the contribution margin on purpose.

**Hanna:** Spread salaries across lessons and the 'cost per lesson' swings with volume: awful in July, great in May. You'd be deciding on a number that moves by itself.

**Alex Tutor:** So contribution margin answers a narrow question: what does one more lesson add? Fixed costs return when we ask how many lessons cover them.

> **Exercise:** Which of these are **variable costs** of one English lesson, the ones you subtract to get its contribution margin?

**Alex Tutor:** Hanna's point in one choice: which number tells you what one more lesson adds?

> **Exercise:** Leo asks what **one more** English lesson in the 16-lesson package (620 UAH) adds to Klasna. Which calculation answers him?

## From hryvnias to a percentage

**Sofia:** 184.50 out of 620. How big is that as a share of the price?

**Alex Tutor:** That's the **contribution margin ratio**: contribution margin divided by the price. It shows how many kopiykas of every hryvnia a family pays are left to cover fixed costs.

**Hanna:** It helps when prices differ. A programming lesson in the 16-pack leaves 206 UAH, more than English, yet a smaller share of its 720-hryvnia price.

**Alex Tutor:** Hryvnias per lesson say what one more lesson brings; the ratio says what a hryvnia of sales brings.

> **Exercise:** An English lesson in the 16-lesson package costs the family 620 UAH and leaves **184.50 UAH** of contribution margin. What is its **contribution margin ratio**? Round to two decimals.

## Contribution margin per unit: per lesson or per package

**Sofia:** Now Leo's package: 18,560 / 32 = 580 UAH a lesson, fee 14.50, so 580 − 390 − 14.50 − 30 = 145.50. That's 39 less than in the 16-pack!

**Alex Tutor:** Look where the 40-hryvnia discount went. The tutor still gets 390, video still costs 30. Only the fee shrank, by one hryvnia. The other 39 came straight out of contribution margin.

**Leo:** But a family buys 32 lessons at once. That has to be worth more to us.

**Alex Tutor:** Per package, it is. Multiply by the number of lessons: 8 × 213.75 = 1,710; 16 × 184.50 = 2,952; 32 × 145.50 = 4,656 UAH. A bigger package earns less per lesson and more per package.

**Alex Tutor:** Same check for maths. Take the 32-lesson package from the price list.

> **Exercise:** Use the price list. How much **contribution margin does one 32-lesson maths package** leave Klasna?

> **English packages side by side**
>
> | Package | Price per lesson | Contribution margin per lesson | Per package |
> |---|---|---|---|
> | 8 lessons | 650 | 213.75 | 1,710 |
> | 16 lessons | 620 | 184.50 | 2,952 |
> | 32 lessons | 580 | 145.50 | **4,656** |
>
> UAH. Each lesson: tutor 390, video + AI 30, fee 2.5% of the price.

**Hanna:** Plus, a family pays for all 32 up front, so the money comes months before the lessons. That's a cash story for later.

> **Exercise:** Put the steps in order to judge whether a package is worth promoting.

## Compared with what?

**Sofia:** So pushing the 32-pack is good: 4,656 beats 2,952.

**Alex Tutor:** Compared with what? If a family would have bought one 16-pack and left, Klasna gains. If they'd have bought two 16-packs anyway, compare 4,656 with 2 × 2,952 = 5,904.

**Hanna:** That's 1,248 UAH less for the same 32 lessons: the 39-hryvnia gap per lesson, times 32.

**Leo:** So the discount is a gift to families who'd stay anyway, and a win only with those who'd buy less.

**Alex Tutor:** The same logic works for the small package. Try it with the English numbers.

> **Exercise:** A family would have bought **two 8-lesson** English packages, but a promotion moves them to **one 16-lesson** package instead. How much contribution margin does Klasna lose on those 16 lessons?

> **Exercise:** **True or false:** because the 32-lesson English package leaves less per lesson, one 32-pack earns Klasna less contribution margin than one 16-pack.

## Your turn: answer Leo

**Leo:** Fine. Give me an answer I can act on: do we push the 32-pack in September or not?

**Sofia:** It depends on who buys. I'd want to know how many already buy 16-packs again and again.

**Alex Tutor:** Good. Put it in a few sentences: numbers per lesson and per package, the comparison that decides it, and what to do meanwhile.

> **Exercise:** Leo asks: "Do we push the 32-lesson English package hard in September?" Write him a short reply (3–5 sentences). Use the numbers per lesson and per package, and say what would make the push worth it.

> **Key ideas**
>
> - **Contribution margin** per lesson = price − variable costs. For an English lesson in the 16-pack: 620 − 390 − 15.50 − 30 = 184.50 UAH.
> - **Variable costs** grow with every lesson (tutor payout, payment fee, video + AI). **Fixed costs** (salaries, office) stay out: one more lesson doesn't change them.
> - The **contribution margin ratio** is contribution margin ÷ price: 184.50 / 620 = 29.76%.
> - A discount comes almost entirely out of contribution margin: the 32-pack leaves 145.50 per lesson, 39 less than the 16-pack.
> - Bigger packages earn less per lesson but more per package (1,710 / 2,952 / 4,656). Whether a push pays depends on what the buyer would have bought otherwise.

**Alex Tutor:** Next time we open Hanna's monthly costs and check which of them really stay fixed.

- Next lesson: [Cost behavior: fixed, variable and step costs](https://productovi.com/courses/finance-for-product/fixed-variable-and-step-costs.md)

---
Productovi Learning. Free, no sign-up needed to read.
