Skip to content
Log in

Theory

What a discount buys, and what it gives away

A discount is a price you pay for something: prepayment, commitment, volume, quiet months, a new family. Without a give-and-get it is margin handed to people who would have bought anyway.

~9 min read · 9 exercises · 250 points

Before you start

Ten percent to whoever asks

Back at Klasna, the online tutoring school: you're on the growth team, working on the price list with Nazar. His favourite tool is CHAT10, a 10% code support sends to any parent who hesitates in the chat.

This module asks when a discount pays and when it only gives money away. This lesson: what a discount really costs, and what it should buy in return.

A discount is a price you pay for something

Treat every discount as a purchase. Klasna gives up part of the price; the question is what it gets in return, and from whom.

A good discount is a trade, a give-and-get. Klasna gives some price and gets something it values: cash earlier, a longer commitment, more lessons at once, lessons in quiet months, a new family it wouldn't otherwise meet.

A discount without a get is margin handed to people who would have bought anyway. Nazar's favourite, CHAT10, is the example: support sends 10% off to any parent who hesitates over an English 8-pack in the chat. It “closes the sale almost every time”, but nobody knows how many of those parents would have bought at full price. Hesitating isn't the same as leaving. And parents learn fast that hesitating pays.

Two questions for every discount: what for (what does Klasna get?) and for whom (who actually ends up using it?). The rest of this lesson puts numbers on both.

  • Do
    “32 lessons at 580 instead of 650, paid up front: we get cash and commitment.”
  • Don't
    “Send CHAT10 to anyone who hesitates; it closes the sale.”

    It rewards hesitation and gives money to parents who would have bought anyway.

Why a discount hits contribution so hard

A discount comes off the price, but almost none of it comes off the costs. Klasna still pays the tutor 390 and 30 for video and AI on every lesson; only the 2.5% payment fee shrinks a little with the price.

So a price cut lands almost entirely on contribution, which is much smaller than the price. On the English 8-pack (5,200 UAH), contribution at full price is 5,200 × 0.975 − 8 × 420 = 1,710. Ten percent off the price takes 507 of that, nearly 30% of what the pack earns.

The thinner the margin, the stronger this effect: when contribution is a third of the price, every point of discount costs about three points of contribution.

How many extra buyers a cut must bring to make up for that is the maths of the finance course lesson “Price vs volume: how many customers can a discount lose?”. This lesson asks the other question: what does Klasna get in return?

  • Do
    “10% off the price is about 30% off what the 8-pack earns.”
  • Don't
    “It's only 10%, it barely touches our margin.”

    Costs don't shrink with the price, so the cut comes out of contribution.

Contribution after a discount

To see what a discount costs, recalculate what the sale leaves after the costs that come with it.

contribution = price × (1 − discount) × 0.975 − lessons × cost per lesson

For the English 8-pack with CHAT10:

  • price after 10% off: 5,200 × 0.9 = 4,680;
  • after the 2.5% payment fee: 4,680 × 0.975 = 4,563;
  • minus 8 lessons × (390 tutor + 30 video and AI) = 3,360;
  • contribution: 1,203 UAH.

At full price the same pack leaves 5,200 × 0.975 − 3,360 = 1,710. So each CHAT10 sale costs Klasna 507 in contribution.

That 507 is a real cost only if the parent would have bought anyway. If CHAT10 truly saved a sale that would otherwise be lost, Klasna gains 1,203 it wouldn't have had. The discount's value depends entirely on that split, and a code given to everyone who hesitates can't tell the two kinds of parent apart.

  • Do
    “With CHAT10 the pack leaves 1,203 instead of 1,710: 507 less per sale.”
  • Don't
    “CHAT10 closes the sale, so every use is a win.”

    Only the sales it saved are a win; the rest cost 507 each.

Five things a discount can buy

A discount with a get trades price for something the buyer has to give. Five gets are common:

  • Cash earlier: paying up front for a bigger package.
  • Commitment: 32 lessons committed instead of 8.
  • Volume: more lessons at once, or a second child's packages on the same family account.
  • Quiet months: lessons in July and August, when tutors want hours.
  • A new family: 5% off a new family's first package when a current family refers it.

The 32-pack is a discount with a get: 580 a lesson instead of 650, but 18,560 paid today instead of 5,200, and 32 lessons committed instead of 8.

Two kinds of discount buy nothing the buyer has to give: a code for hesitating (CHAT10) and a sale open to everyone, like 15% for three days in November. Most of their cost lands on families who would have bought anyway.

The test: can you name what the buyer gives in exchange? If the honest answer is “nothing”, the discount is a gift.

  • Do
    “5% off the first package for a family a current family refers.”
  • Don't
    “15% for everyone for three days, just because.”

    A sale open to everyone buys nothing the buyer has to give.

What a commitment is worth

Per lesson, the 32-pack earns less than the 8-pack: 145.50 against 213.75. Per package, more: 4,656 against 1,710. Neither number on its own says whether the discount pays. Compare the 32-pack with what the same family would have done without it.

Klasna's data: last year, families who bought only 8-packs bought 2.4 of them on average, then stopped. That's 19.2 lessons, leaving 2.4 × 1,710 = 4,104.

Break-even question: how many lessons at the 8-pack's 213.75 earn as much as one 32-pack? 4,656 ÷ 213.75 = 21.78 lessons. A typical 8-pack family takes fewer (19.2). So if the 32-pack turns such a family into a 32-lesson commitment, Klasna earns 4,656 instead of 4,104, and gets 18,560 up front.

The comparison is always the discount against the buyer's likely behaviour without it, not one price against another. That's what turns “580 is cheaper than 650” into a decision.

  • Do
    “One 32-pack equals 21.78 lessons at the 8-pack margin; our 8-pack families take 19.2.”
  • Don't
    “The 32-pack earns less per lesson, so it loses money.”

    Compare with what the family would have bought without it.

The same discount can be a gift

A discount buys commitment only from families whose behaviour it changes. For everyone else, it changes only what they pay.

Take an exam-year family that will take 40 English lessons whatever Klasna does. Without the 32-pack, they'd buy five 8-packs: 40 × 213.75 = 8,550 of contribution. With it, they buy a 32-pack and an 8-pack: 4,656 + 1,710 = 6,366. Klasna gives away 8,550 − 6,366 = 2,184 UAH and gets cash up front, but not a single extra lesson.

Klasna can't tell the two kinds of family apart at checkout. That's why:

  • the package step stays moderate: a deeper cut would give more away to families like this one;
  • the 32-pack asks for something real, payment up front, so the discount buys at least cash from everyone who takes it.

Every discount has both kinds of buyer. Its value is what it buys from the first kind minus what it gives to the second.

  • Do
    “The 32-pack step stays moderate because exam-year families take it anyway.”
  • Don't
    “Make the 32-pack 25% cheaper to push everyone to commit.”

    Families who'd buy 40 lessons anyway would pocket the deeper cut.

Fence it, then watch who uses it

A discount that can buy something still needs limits, or most of it goes to the wrong people. A fence ties the discount to its get.

The summer 8-pack can buy lessons in July and August, when tutors want hours and Klasna's fixed costs run anyway. It pays only if it reaches families who wouldn't study in summer at full price. So fence it on three sides:

  • what: 8-packs only;
  • when: bought in July and August only;
  • how: stated dates, open to everyone on the same terms.

Then watch who uses it. If most buyers are families who study every summer anyway, the discount bought nothing: it's a gift with a season attached. If it brings families who normally stop in June, it's working. Klasna's own history helps: last year SUMMER10 ran on 8-packs in July and August 2026.

Fences that depend on what people claim (“we'd otherwise skip summer”) or on who asks don't work: they can't be checked and reward asking.

  • Do
    “Summer 8-pack: 10% off, bought 1 July – 31 August. Then compare buyers with last summer's.”
  • Don't
    “10% for anyone who tells us they'd skip summer otherwise.”

    Uncheckable, open to anyone, and it rewards the claim.

Every discount names its get

Put the lesson's discounts side by side and name what each one buys:

  • 32-lesson package price: cash up front and a longer commitment.
  • Referral, 5% off a new family's first package: a family Klasna would not otherwise meet.
  • Summer 8-pack, July and August: lessons in quiet months.
  • Second child's packages on the same family account: more lessons from one family.
  • 10% to anyone who hesitates in chat: nothing the buyer has to give.

When the honest answer is “nothing”, the discount is margin handed out, and buyers learn to ask for it. For support, that means a different rule than CHAT10: first answer the hesitation, then suggest the package that fits, and offer a discount only for something in return, within a limit.

How it fits together: a discount costs contribution, not just price; it pays only if it buys something from buyers whose behaviour it changes. Next: different prices for different groups, and fences that make them fair.

  • Do
    “First the hesitation, then the right package, then a discount only for something in return.”
  • Don't
    “Whenever in doubt, send a code.”

    A code for hesitating buys nothing and teaches buyers to hesitate.

Ready to practise?

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

Start the exercises