# Cost behavior: fixed, variable and step costs

> Cost behavior on a real year of costs: which costs move with lessons, which don't, and which jump at a threshold.

- 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 2/32, ~26 min
- Source: https://productovi.com/courses/finance-for-product/fixed-variable-and-step-costs

## A year of costs, column by column

**Alex Tutor:** You're still on Klasna's product team. Hanna has pulled together a full year of costs and wants help sorting them.

**Hanna:** Here's a year of our costs, September to August, one row a month. Before anyone says 'break-even', I need every column sorted by how it behaves.

**Sofia:** Behaves how? They're all just money going out.

**Alex Tutor:** Put each column next to `lessons_delivered`. How a cost reacts to volume is its **cost behavior**. Some rise and fall with it month by month. Some ignore it completely. And one does something odd.

**Dataset (CSV):** [Klasna's monthly costs, September 2025 – August 2026](https://productovi.com/datasets/finance-for-product/fixed-variable-and-step-costs/klasna-monthly-costs.csv)

One row per month, amounts in UAH. `lesson_sales_uah` is what families paid for the lessons delivered that month.

- `month`: Year and month
- `active_learners`: Learners with at least one lesson that month
- `lessons_delivered`: 1:1 lessons that took place
- `lesson_sales_uah`: What families paid for those lessons
- `tutor_payouts_uah`: Paid to tutors for delivered lessons
- `payment_fees_uah`: Payment provider fees, 2.5% of sales
- `video_ai_uah`: Video minutes and AI practice
- `support_coordinators_uah`: Support coordinators, 38,000 each a month
- `team_salaries_uah`: Salaries of the in-house team
- `office_tools_uah`: Office and tools
- `marketing_uah`: Paid social, search and school partnerships

**Alex Tutor:** Take tutor payouts: 2,066,416 UAH in December with 5,192 lessons, 3,867,240 in May with 9,620. They track lessons. That's a **variable cost**, and so are payment fees and video + AI.

**Sofia:** And team salaries are 540,000 every single month, May or July.

**Alex Tutor:** Those are **fixed costs**, like office and tools at 84,000. Variable costs compare best per lesson: add up the three variable columns and divide by lessons delivered. Try November.

> **Exercise:** Use the monthly costs. What was the **variable cost per lesson** in November 2025 (tutor payouts + payment fees + video + AI, divided by lessons delivered)?

## The cost that jumps

**Sofia:** Support coordinators are the odd one. 114,000 for months, then 152,000 in April and May, then 76,000 all summer.

**Hanna:** Each coordinator costs 38,000 a month and looks after up to 400 active learners. We add one for every started 400. They're on seasonal contracts, so in summer we can go down.

**Alex Tutor:** So 114,000 / 38,000 = 3 coordinators, enough for up to 1,200 learners. The cost doesn't move with each learner; it stays flat, then jumps a whole salary. That's a **step cost**.

**Alex Tutor:** Find the month where active learners first went past 1,200. That's where the step happened.

> **Exercise:** Use the monthly costs. Klasna pays 38,000 UAH a month per support coordinator and adds one for every started 400 active learners. In which month did it first need **four** coordinators?

**Alex Tutor:** Before marketing, make sure the shape of a step cost is clear.

> **Exercise:** **True or false:** Klasna pays 38,000 UAH a month per support coordinator and adds one for every started 400 active learners, so each new active learner adds about 95 UAH (38,000 / 400) to monthly costs.

## Is marketing a fixed or variable cost?

**Sofia:** Marketing goes up in spring and down in summer, just like lessons. Is it variable?

**Alex Tutor:** Test it: does one more lesson add marketing spend? No. The budget is set every month. Spring gets more because it's exam season, not because lessons pushed it up.

**Leo:** True, I signed off 320,000 for April and May myself. In July we cut it to 150,000.

**Alex Tutor:** So within a month it behaves as fixed: it doesn't change with lessons. It's a **discretionary fixed cost**: **fixed doesn't mean unavoidable**. It's a decision you can make differently next month.

**Hanna:** Salaries too, just more slowly. 'Fixed' says how a cost reacts to volume, not whether we can change it.

> **Exercise:** Klasna's marketing budget is set every month: 150,000 UAH in July 2026, 320,000 UAH in April and May. Which statements about Klasna's **marketing** costs are true?

## Relevant range: fixed within limits

**Leo:** So if we double our learners, salaries stay at 540,000?

**Alex Tutor:** Only within a range. At 2,600 learners you'd need seven coordinators, probably more people in the team, maybe a bigger office. Fixed costs are fixed **within a range of volume and a period of time**, called the **relevant range**.

**Alex Tutor:** Two ways to answer Leo's question. Pick the honest one.

> **Exercise:** Leo asks: "If we double to 2,600 active learners, do our fixed costs stay where they are?" Klasna has 3 coordinators today (one per started 400 learners, 38,000 UAH each) and 540,000 UAH of team salaries. Which answer is right?

**Hanna:** And over a longer period everything moves: a pay rise next year isn't about volume at all, but the 540,000 won't hold.

**Alex Tutor:** Coordinators are just the clearest case: flat up to 400 learners, then a jump. Stretch the range far enough and every fixed cost turns into a step. More examples: [fixed vs variable costs](/blog/fixed-vs-variable-costs).

> **Exercise:** **True or false:** fixed costs can't be cut, which is what makes them fixed.

## The year in two numbers

**Sofia:** Adding up the year: variable costs are 31,932,876.28 UAH, everything else 11,668,000.

**Alex Tutor:** Check what's in the 11,668,000: salaries 6,480,000, office 1,008,000, coordinators 1,330,000 and marketing 2,850,000. For break-even we count all four as fixed costs of their month.

**Hanna:** So variable costs are almost three quarters of everything we spend. The big number follows lessons; the smaller one has to be covered whatever happens.

**Alex Tutor:** That split is exactly what break-even needs. Before that, one more check that every column is in the right box.

> **Exercise:** Match each cost column with how it behaves.

**Alex Tutor:** Now one month in totals. Take the quietest month of the year.

> **Exercise:** Use the monthly costs. What were Klasna's **fixed costs of the month** in July 2026: everything that is not tutor payouts, payment fees or video + AI?

## Your turn: explain April to Leo

**Leo:** Something bugs me. In April we had 140 more active learners than in March, yet costs rose by more than their lessons' payouts, fees and video. Where did the rest come from?

**Sofia:** Part of it has to be the coordinators: 1,260 learners is past 1,200.

**Alex Tutor:** Go through every column that isn't variable, March against April. Say what changed, by how much, and why.

> **Exercise:** Leo asks: "In April we had 140 more active learners than in March, and costs rose by more than their lessons' variable costs. Why?" Using the monthly costs, explain it to him in 3–5 sentences.

> **Key ideas**
>
> - **Variable costs** follow lessons: tutor payouts, payment fees, video + AI. Per lesson they stay between 442 and 450 UAH all year (444.40 in November).
> - **Fixed costs** don't change with volume within a month: team salaries (540,000) and office and tools (84,000).
> - **Step costs** stay flat, then jump: one support coordinator (38,000 a month) per started 400 active learners, so 3 → 4 in April 2026 when learners passed 1,200.
> - Marketing doesn't follow lessons but is set every month: fixed for the month, not unavoidable.
> - Fixed only holds within a range and a period. Year: variable 31,932,876.28 UAH, fixed 11,668,000 UAH.

**Alex Tutor:** Next time we put the two together: how many lessons a month cover Klasna's fixed costs.

- Previous lesson: [Contribution margin per unit: what one lesson leaves](https://productovi.com/courses/finance-for-product/contribution-margin.md)
- Next lesson: [Break-even point in units and margin of safety](https://productovi.com/courses/finance-for-product/break-even.md)

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