Skip to content
Log in

Theory

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.

~9 min read · 9 exercises · 250 points

Before you start

A year of costs

You're still on Klasna's product team. Last time we followed the money from a single lesson; now Hanna, head of finance, has pulled together a whole year of costs, September to August, one row a month.

Before anyone talks about break-even, she wants every cost sorted by how it behaves when the number of lessons goes up or down. You'll go through her table column by column, learn to tell costs that follow volume from costs that ignore it, and find the one that does something odd.

Variable cost per lesson

Cost behavior is how a cost reacts to volume. To find it, put each cost column next to lessons_delivered and watch it month by month.

Dataset · 12 rows

Klasna's monthly costs, September 2025 – August 2026

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

monthactive_learnerslessons_deliveredlesson_sales_uahtutor_payouts_uahpayment_fees_uahvideo_ai_uahsupport_coordinators_uahteam_salaries_uahoffice_tools_uahmarketing_uah
2025-0982050023056222198079276405.5515506211400054000084000190000
2025-1090058503591900232245089797.518135011400054000084000240000
2025-119506270386232024954609655819437011400054000084000240000
2025-1288051923203464206641680086.616095211400054000084000200000
2026-0193059523678336237484891958.418451211400054000084000240000

First 5 of 12 rows

Download CSV

At Klasna three columns move with lessons: tutor payouts (a set amount per lesson), payment fees (2.5% of what families pay) and video + AI (billed by usage). These are variable costs. In December 5,192 lessons cost 2,066,416 UAH in payouts; in May 9,620 lessons cost 3,867,240.

Variable costs compare best per lesson: add the three variable columns for a month and divide by lessons delivered. November 2025: 2,495,460 + 96,558 + 194,370 = 2,786,388 UAH; 2,786,388 / 6,270 = 444.40 UAH per lesson. Over the year this number stays between 442 and 450, while the monthly totals swing by a factor of three. That stability is the signature of a variable cost.

Leave salaries, office, coordinators and marketing out: they do not grow with each lesson.

  • Do
    (2,495,460 + 96,558 + 194,370) / 6,270 = 444.40 UAH per lesson
  • Don't
    (2,786,388 + 540,000 + 84,000) / 6,270 = 543.92 UAH per lesson

    Salaries and office are fixed; dividing them by lessons gives a number that moves with volume.

Step costs: flat, then a jump

A step cost stays flat over a range of volume and then jumps by a whole block at once.

Klasna's support coordinators are the clearest case. Each costs 38,000 UAH a month and looks after up to 400 active learners, and Klasna adds one for every started 400. So the number of coordinators is learners ÷ 400, rounded up:

  • up to 1,200 learners: 3 coordinators, 114,000 UAH;
  • 1,201 to 1,600: 4 coordinators, 152,000 UAH;
  • up to 800: 2 coordinators, 76,000 UAH.

In the year of data, February (1,010) and March (1,120) stay at three. April (1,260) is the first month past 1,200, and the column jumps to 152,000. May (1,300) keeps four. In summer, with 520 to 760 learners, seasonal contracts let Klasna go down to two.

Dataset: Klasna's monthly costs, September 2025 – August 2026 · shown above

To find a step, look for the first period that crosses the threshold, not the period where the cost is highest.

  • Do
    April: 1,260 / 400 = 3.15 → round up to 4 coordinators, 152,000 UAH.
  • Don't
    April: 1,260 / 400 = 3.15 → 3 coordinators.

    Every started 400 needs a coordinator, so always round up.

A step cost does not grow per learner

It is tempting to turn a step cost into a per-unit cost: 38,000 UAH per coordinator, 400 learners per coordinator, so about 95 UAH per learner. That number describes an average, not how the cost behaves.

Watch what really happens at Klasna. With 801 to 1,200 active learners, coordinators cost 114,000 UAH, whether there are 850 learners or 1,190. Learner 1,201 does not add 95 UAH; they add a whole coordinator, 38,000 at once. The next 399 learners add nothing.

This matters in two directions:

  • Just below a threshold, growth is cheap: hundreds of extra learners cost no extra coordinator.
  • Just above a threshold, a few extra learners are expensive: one learner can raise monthly costs by 38,000 UAH.

When you plan volume near a threshold, check which side of it you land on. A smooth per-learner average hides the jump that will actually hit the budget.

  • Do
    From 1,200 to 1,201 learners: +38,000 UAH. From 1,201 to 1,600: +0.
  • Don't
    100 new learners × 95 UAH = 9,500 UAH more for coordinators.

    Either nothing changes or a whole 38,000 is added, depending on the threshold.

Marketing: fixed for the month, but chosen

Marketing at Klasna rises in spring and falls in summer, just like lessons, so it is tempting to call it variable. Run the test instead: does one more lesson add marketing spend? No. The budget is set each month: 320,000 UAH for April and May, because that is exam season, and 150,000 in July, because Leo cut it.

So within a month marketing behaves as fixed: it does not react to lessons. It is a discretionary fixed cost, a cost that someone decides on period by period. Two consequences:

  • For break-even it counts as a fixed cost of its month, next to salaries and the office.
  • Fixed does not mean unavoidable. Next month's budget can be different by a decision, without any change in volume.

A cost moving in the same direction as volume is not proof that it is variable. Ask what causes the movement: lessons, or a choice.

  • Do
    "Marketing is set monthly; one more lesson does not change it. Fixed for the month."
  • Don't
    "Marketing rose with lessons in spring, so it is a variable cost."

    Both rose because of the season, not because lessons caused spend.

Relevant range: fixed within limits

Fixed costs are fixed only within a range of volume and a period of time, called the relevant range. Inside it, one more lesson or one more learner changes nothing. Outside it, the cost moves.

Klasna today has about 1,000 to 1,300 active learners in the busy months. If Leo doubles that to 2,600:

  • coordinators: 2,600 / 400 = 6.5, rounded up to 7, so 266,000 UAH a month instead of 114,000;
  • the team of 540,000 a month would probably need more people;
  • the office and tools might need to grow too.

Time matters as well. Over a longer period everything moves for reasons unrelated to volume: a pay rise next year changes the 540,000 even if lessons stay the same.

That is why coordinators are a helpful picture of all fixed costs: stretch the range far enough, and every fixed cost turns into a step. Plans that double volume need a new cost base, not today's fixed costs.

  • Do
    "At 2,600 learners we need 7 coordinators and likely more team; fixed costs must be re-planned."
  • Don't
    "Double the learners, same 540,000 salaries and 114,000 coordinators."

    That uses today’s fixed costs far outside the range they hold in.

Fixed is not the same as unavoidable

Fixed and variable describe one thing only: how a cost reacts when volume changes. A fixed cost does not change when Klasna delivers one more lesson. That label says nothing about whether the cost can be cut.

Klasna's year shows three speeds of change:

  • Marketing changes fastest: 320,000 UAH in April and May, 150,000 in July, by a decision.
  • Coordinators change with the season: four in spring, two in summer, thanks to seasonal contracts.
  • Team salaries change slowly: 540,000 every month this year, but a pay rise or a new hire next year will move them.

So when someone says "we can't touch fixed costs", they are mixing two questions. "Does it react to volume?" decides whether a cost goes into contribution margin. "Can we change it, and how fast?" decides what management can do about it. Keep the two apart, and use the first one for break-even.

  • Do
    "Salaries are fixed: they do not move with lessons. We can still change them next year."
  • Don't
    "Marketing is a fixed cost, so the July budget has to stay at 320,000."

    It was cut to 150,000 by a decision; fixed is about volume, not about choice.

Every column in its box

Sorting costs by behavior is the groundwork for break-even. Klasna's monthly table has seven cost columns, and each lands in one box:

Column
Behavior
Driven by
Tutor payouts
variable
a set amount per lesson
Payment fees
variable
2.5% of what families pay
Video + AI
variable
minutes and AI used per lesson
Support coordinators
step
one per started 400 learners
Team salaries
fixed
the same every month
Office and tools
fixed
84,000 every month
Marketing
fixed for the month
set by a decision

The three variable costs are each driven by lessons in their own way: per lesson, per hryvnia paid, per minute used. For break-even, the step cost and marketing are counted with the fixed costs of their month, because neither grows with one more lesson. Over the year that gives variable costs of 31,932,876.28 UAH and fixed costs of 11,668,000, so variable costs are about 73% of all spending.

  • Do
    Coordinators: step cost; for break-even, counted with the fixed costs of the month.
  • Don't
    Payment fees: fixed, because the rate is always 2.5%.

    The rate is fixed, but the amount grows with every hryvnia paid: a variable cost.

Fixed costs of one month

For break-even, Klasna splits each month into two piles:

  • variable costs: tutor payouts, payment fees, video + AI;
  • fixed costs of the month: everything else, that is team salaries, office and tools, support coordinators and marketing.

Coordinators are a step cost and marketing is a monthly decision, but neither grows with one more lesson, so both go into the fixed pile of their month.

July 2026, the quietest month: coordinators 76,000 (two of them for 520 learners) + salaries 540,000 + office and tools 84,000 + marketing 150,000 = 850,000 UAH. In April the same pile is 1,096,000, because there are four coordinators and the spring marketing budget.

So "fixed" does not mean "the same number every month". It means the number does not depend on how many lessons happen inside that month. Over the whole year the fixed pile adds up to 11,668,000 UAH, against 31,932,876.28 of variable costs.

  • Do
    July: 76,000 + 540,000 + 84,000 + 150,000 = 850,000 UAH
  • Don't
    July: 540,000 + 84,000 = 624,000 UAH

    Coordinators and marketing do not follow lessons either; leaving them out understates the fixed pile.

Ready to practise?

Answer the lesson's exercises and earn 250 points the first time you finish it.

Start the exercises