Theory
The floor per lesson and per Club member
Tutor payout, payment fees, video and AI cost set the lowest price that still pays, per lesson and per subscription month.
~8 min read · 9 exercises · 250 points
Before you start
One number per subject
Still on Klasna's growth team. Last lesson the floor was an idea; now Nazar wants it in numbers: the lowest price per lesson for each subject, and the same for a Club member. How do you turn per-sale costs and a payment fee into one honest floor, and how much room does today's price list leave above it?
The floor formula: costs over what you keep
The floor per lesson is the price at which what Klasna keeps after the payment fee exactly covers the costs that come with that lesson.
The fee is a share of the price, not of the cost, so it can't simply be added on top. If the provider keeps 2.5%, Klasna keeps 97.5% of the price, and that 97.5% must cover the tutor's payout plus video and AI:
floor = (tutor payout + video and AI) / (1 − fee share)
English: the tutor gets 390, video and AI cost 30. Adding 2.5% of 420 gives about 430.50, slightly too low. The right floor is 420 / 0.975 = 430.77. Check: 2.5% of 430.77 is 10.77 of fee, and 430.77 − 10.77 = 420.
Each subject has its own payout, so each gets its own floor.
- Do"English floor: (390 + 30) / 0.975 = 430.77."
- Don't"Costs 420, plus 2.5% of 420, so the floor is 430.50."
The fee is charged on the price, not on the cost.
Cuts taken from the price go in the denominator
On a 2.5% fee, adding instead of dividing costs only kopiyky. The habit becomes expensive with bigger cuts: a marketplace that keeps 20% of the price, or a reseller's commission.
The rule is the same: if a partner keeps a share of the price, you keep the rest, and your share must cover your costs. So you divide by what you keep.
Hanna's example: 420 of costs and a 20% cut. Adding 20% gives 504. The real floor is 420 / 0.8 = 525. At 504 the partner takes 100.80, Klasna keeps 403.20, and every lesson sold loses 16.80.
Worth knowing before anyone signs Klasna up with a marketplace: the bigger the partner's share, the further the true floor moves above the naive one.
- Do"Partner keeps 20%, we keep 80%: floor = costs / 0.8."
- Don't"Costs plus 20% on top covers the partner's cut."
20% of a higher price is more than 20% of the cost.
Room above the floor, in hryvnias and percent
Once the floor is known, the next question is how close today's prices sit to it. Measure the distance two ways:
- in hryvnias: price − floor;
- in percent of the floor: (price − floor) / floor.
Klasna's cheapest English price is the 32-lesson package at 580 a lesson. The English floor is 430.77, so the price is 149.23 above it, or 149.23 / 430.77 = 34.64%.
The percent makes subjects with different payouts comparable: a 100-hryvnia gap means more room on a cheap lesson than on an expensive one. A small gap is a warning sign for discounts: a 15% code on a price only 10% above the floor turns every discounted sale into a loss.
- Do"The 32-pack is 149.23 above the floor, 34.64%: room for a modest discount."
- Don't"A 15% code is fine on any package; all our prices are above the floor."
Check the gap first: a discount larger than it sells below the floor.
Contribution per lesson: what's left to pay for everything else
The second measure of room is contribution per lesson: price minus the fee minus the costs that come with the lesson. It's what each sale leaves for the team, the platform and marketing (the same contribution as in the finance course).
contribution = price × (1 − fee share) − direct costs
Worked example on the English 8-lesson package at 650 a lesson: 650 × 0.975 = 633.75 kept after the fee, minus 390 for the tutor and 30 for video and AI = 213.75 per lesson.
Contribution is always a little smaller than the distance to the floor, because the fee also takes its share of every hryvnia above the floor: contribution = distance × 0.975. Hanna watches this number, not the distance: it's the money that actually reaches Klasna.
- Do"8-pack lesson: 650 × 0.975 − 420 = 213.75 of contribution."
- Don't"Contribution is the price minus the tutor's pay."
The fee and video and AI come out too.
Fixed costs stay out of the floor
Leo's objection sounds reasonable: a lesson also uses the office, the platform team and salaries, so why not add its share? Because those costs don't change if Klasna sells one more lesson or one fewer.
Spreading them per lesson needs a guessed volume. Guess low, and the "cost per lesson" rises; the price goes up; fewer lessons sell; the cost per lesson rises again. That spiral can price a healthy product out of its market.
Fixed costs are covered by contribution × volume: that's break-even from the finance course. They matter when deciding whether a product is worth running at all. The floor answers a narrower question: does one more sale pay for itself?
- Do"The office is covered by contribution times volume, not by the floor."
- Don't"Our floor includes 80 per lesson for the office, assuming 10,000 lessons."
The number depends on a guess and feeds a price spiral.
The target floor when capacity is full
The plain floor assumes that one more sale uses spare capacity. When the scarce resource is already busy, a new product doesn't just add costs: it pushes out something that already earned money.
At Klasna the scarce resource is tutors' hours. If a maths tutor's week is full, every hour moved to a new course is an hour no longer taught in a package that left contribution. So the new course's floor must cover its own per-sale costs plus what those hours earn today. Hanna calls that the target floor.
It is still not a place for office costs or salaries: those stay the same either way. The target floor adds only what is lost by switching the hours. You'll use it for NMT Sprint's spring tutor hours in this module's case.
- Do"Her hours are full, so the new course must also replace the contribution of the lessons it displaces."
- Don't"The tutor is fully booked, but the floor is still just payout plus video."
That ignores the money the displaced lessons earned.
The floor for a subscription
A subscription has a floor too, counted per member-month: the direct costs one member brings in a month, divided by what Klasna keeps after the fee.
Klasna Club costs 450 a month or 4,320 a year. Per member-month, speaking-club hosts cost 55 and the AI practice partner 40 on average: 95 in all. The floor is 95 / 0.975 = 97.44 a month.
Contribution works the same way. The monthly plan leaves 450 × 0.975 − 95 = 343.75 per member-month. For the annual plan, first turn the price into a month (4,320 / 12 = 360), then apply the same sum: price × 0.975 − 95. The annual plan gives up some contribution per month in exchange for a whole year paid up front, which is a trade, not a mistake.
- Do"Annual plan: 4,320 / 12 = 360 a month, then 360 × 0.975 − 95."
- Don't"The annual plan earns 4,320, so compare it with the monthly 450."
Compare per member-month, or the numbers mean different things.
An average floor hides the heaviest users
The Club's 97.44 floor is built on an average direct cost. Averages are fine for fixed per-member costs like the speaking-club hosts. They mislead when a cost is billed per use.
The AI practice partner is billed per minute, in dollars, and is already about 42% of the Club's direct cost. "40 on average" mixes members who barely use it with members who practise every evening. For the heaviest users the real cost can be several times the average, so a plan that is safe on average can still lose money on some members. That spread is exactly what the Club redesign later in the course looks at.
How it fits together: the floor per lesson and per member-month comes from costs per sale divided by what Klasna keeps; contribution shows the room above it; fixed costs and averages stay in their place. Next lesson: Dana's practice, where the scarce cost is her own time.
- Do"On average the Club is safe; let's also check the members with the most AI minutes."
- Don't"Average cost 95, floor 97.44, so every member is profitable."
Per-use costs are uneven; the average hides the tail.
Ready to practise?
Answer the lesson's exercises and earn 250 points the first time you finish it.
Start the exercises