Skip to content
Log in

Theory

Inflation, the hryvnia and a competitor's cut

Index on your own costs, explain a rise honestly, answer a rival's cut without a price war, and never agree prices with competitors.

~9 min read · 10 exercises · 250 points

Before you start

Costs move, a rival cuts

Back at Klasna, April 2027. Nazar is preparing the price list for the 2027/28 school year, and the costs under it are moving: tutors get 20 UAH more per lesson, and the dollar costs follow the hryvnia. Then a rival school launches a spring promo. How do you raise a price honestly, and answer a cut without a price war?

Costs billed in another currency

Some costs are set in hryvnia, others in another currency. Klasna pays tutors in hryvnia, but video and the AI practice partner are billed in dollars: about 30 UAH a lesson at this year's planning rate of 44.8 UAH per dollar.

When the rate changes, a dollar cost changes in hryvnia even though nothing in the product did. To restate it, scale by the ratio of the rates: new cost = old cost × new rate ÷ old rate. Hanna plans next year at 47.0, so 30 × 47.0 / 44.8 = 31.47 UAH a lesson.

Two habits keep this honest. Keep the dollar line separate in your price sheet, so you can see how much of a change comes from the currency. And call the rate what it is: a planning assumption for the budget, not a forecast. If the hryvnia moves differently, you update the assumption at the next review instead of changing prices every week.

  • Do
    "Video and AI: 30 × 47.0 / 44.8 = 31.47 a lesson at our planning rate."
  • Don't
    "The rate will be 47.0 next year."

Index on your own costs

When costs rise, the question is not "how much did prices rise in the country" but "what price keeps what each sale leaves us?" That is indexing on your own costs.

Start from today's contribution per lesson: price minus the costs that come with each lesson. For an English lesson in Klasna's 16-pack: 620 × 0.975 (the 2.5% payment fee) − 390 payout − 30 video and AI = 184.50 UAH.

From September the payout is 410 and video and AI 31.47. The fee is a share of the price, so solve for the price: P = (184.50 + 410 + 31.47) / 0.975 = 642.02 UAH. That is +22.02, or +3.55% on 620.

P=CM+T+V1−0.025P = \frac{CM + T + V}{1 - 0.025}
P: price per lesson that keeps the contribution; CM: today's contribution (184.50); T: new payout (410); V: video + AI at the new rate (31.47).

This cost-neutral price is a floor for the decision, not the decision itself. It tells you how much of any rise the costs explain; anything above it has to be justified by something else, such as what families get.

  • Do
    "To keep 184.50 a lesson with the new costs, the price must be 642.02: +3.55%."
  • Don't
    Adding the cost increase to the price and forgetting the fee is a share of the price.

Headline inflation is not your cost

A national inflation figure describes an average basket across the whole economy. Your costs are a different basket. Using the headline number to set your price mixes the two.

Leo's plan, "prices went up about 10% everywhere, so add 10% to everything", would take the English 16-pack lesson from 620 to 682. Klasna's own costs explain far less: payout +20 and the dollar line +1.47 need only 642.02, +3.55%. The other 40 UAH would be a value decision dressed up as a cost one.

That matters when you explain the rise. A family that hears "inflation" and then sees the cost story doesn't add up stops trusting the message. Start from the cost-neutral price, then decide openly whether to go above it and why. If you go higher, the reason is value or demand, and you say so.

  • Do
    "Our costs need +3.55%; anything above that is a value decision."
  • Don't
    "Inflation was 10%, so our prices go up 10%."

Index once a year, on a published rule

When costs move often, it's tempting to move prices often too. For consumers that backfires. A new price every time the hryvnia moves teaches families to stock up before each change and to doubt every number you show.

The steadier habit: review prices once a year, on a fixed date and a published rule. Klasna reviews its price list for the school year and announces it well before September. Between reviews, the currency risk sits in Klasna's own planning: the planning rate, a margin of safety, the yearly indexation on its costs, including the dollar part.

The same date can cover every price list: Klasna's EUR prices for families abroad are set in euros and reviewed on the same yearly date. Families can plan around one known moment; the business keeps a clear record of why each change happened.

  • Do
    "We review prices once a year and announce the new list in June for September."
  • Don't
    Changing the price list every time the hryvnia moves.

Name the real reasons for a rise

A rise is easier to accept when its reason is true and complete. If part of it is costs and part is value, say both.

Nazar's plan is +50 UAH per lesson on every package, so the English 16-pack goes from 620 to 670. About 22 UAH of that is costs: higher tutor pay and dollar costs. The rest rests on evidence that families value the lessons more than 620: in Klasna's spring price test, new visitors bought almost as often at 670 as at 620.

So the announcement names both: "tutors are paid more and some of our costs are in dollars, and we keep investing in what you get". Writing only "because of inflation" overstates the cost story and falls apart when someone does the maths. Giving no reason leaves families guessing. Pointing at competitors ("they are raising too") claims knowledge of rivals' prices that Klasna shouldn't have or follow.

  • Do
    "Tutors are paid more, part of our costs is in dollars, and we keep improving the lessons."
  • Don't
    "Because of inflation" for a rise that is mostly about value.

Consumer prices in Ukraine are in hryvnia

A dollar price tag can look like an easy shield against a weaker hryvnia. For consumers in Ukraine it isn't an option: as of October 2026, the law requires prices for consumers in Ukraine to be set in the national currency, the hryvnia.

So the currency risk can't be passed to families by changing the price's currency. Klasna handles it inside the business instead: dollar costs on their own line, a planning rate for the budget, and a yearly indexation on its own costs on a fixed date.

Families abroad are a different case: Klasna sets their prices in euros, as its own price list, and reviews them on the same yearly date as the hryvnia list. Rules for each market are checked separately; this course states them as of October 2026 and doesn't replace a lawyer's advice.

  • Do
    Prices for families in Ukraine in hryvnia; dollar costs handled in planning.
  • Don't
    "From now on our prices are in dollars, to protect us from the rate."

Price out matching before you match

When a rival cuts its price, the first instinct is to match. Before deciding anything, work out what matching would cost on every sale, not only on the customers who might switch.

Another online school launched a spring promo: 540 UAH for a one-to-one English lesson. If Klasna matched, one lesson would leave 540 × 0.975 − 390 − 30 = 106.50 UAH, against 184.50 at 620: 42.28% less contribution.

The cut wouldn't apply only to the few families tempted by the rival. It would hit every lesson Klasna sells, including all the families who would never have left. That's why a price cut to win back a handful of buyers is usually far more expensive than it looks.

Once the cost of matching is on the table, the next question is how much the gap actually moves your buyers, which needs your own data, not the rival's ad.

  • Do
    "Matching 540 leaves 106.50 a lesson instead of 184.50, on every lesson we sell."
  • Don't
    "Let's match 540 so nobody leaves."

Decide on your own data

A rival's lower price tells you what the rival chose. It doesn't tell you what your buyers will do. The answer to a cut is a decision tied to evidence about your own customers.

Klasna has that evidence. In its spring price test, new visitors were shown 620 or 670 for the English 16-pack, and at 670 they bought almost as often: 5.53% against 5.80%. A 50 UAH gap barely moved them. So Nazar's call: keep the price and run no counter-promo. Losing 78 UAH on every lesson to win a few families who might switch isn't worth it.

Keeping the price doesn't mean ignoring the rival. Klasna keeps watching lost enquiries and the reasons families give, and competes on what makes its lessons different. If those signals change, the yearly review is where the price is reconsidered, on Klasna's costs and Klasna's customers.

  • Do
    "Our test shows a 50 UAH gap barely moves new families, so we keep 620 and watch lost enquiries."
  • Don't
    "Their price is lower, so ours must be too high."

Never agree prices with competitors

Competitors set their prices independently. An agreement between them on prices, on a floor, or on who serves which customers is price fixing. As of October 2026, Ukraine's competition law bans it, with fines of up to 10% of the previous year's revenue, and EU law bans it too.

The form doesn't matter. A friendly call between founders who know each other, a message in a shared chat or a hint at a conference counts the same as a signed contract. Leo's idea, "we agree nobody goes below 600", is exactly that.

Sharing future prices is risky as well: "we're thinking of raising in September" invites the other side to follow. Klasna decides on its own costs and its own customers, and says nothing about its plans to rivals.

How it fits together: index on your own costs, name the real reasons, review once a year in hryvnia, price out matching and answer a cut with your own data, never with a deal. The case comes next: Klasna's September 2027 change, read after the summer.

  • Do
    "We set our prices on our costs and our customers, and we don't discuss them with rivals."
  • Don't
    "Let's agree with their founder that nobody goes below 600."

Ready to practise?

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

Start the exercises