Theory
Roles in a range
Give every offer a job: entry, core earner, premium or add-on. Check a new offer for cannibalization on total contribution, and see how a one-person tutoring practice adds a short course.
~10 min read · 9 exercises · 250 points
Before you start
A job for every offer
Back on Klasna's marketing team, the offer row now needs the whole range: three lesson packages and the Club on top. Later, Dana tries the same idea in her one-person practice.
In this lesson you'll give every offer a job and check whether a new offer adds money to the range or only moves it around.
Every offer has a job in the range
A range is the set of offers a business sells side by side. Each offer should have a job, a role it plays for customers and for the range as a whole:
- Entry: lowers the first step for someone new.
- Core earner: brings most of the contribution.
- Premium: serves those who want more.
- Add-on: sits on top of what people already buy.
Klasna sells 8-, 16- and 32-lesson packages. In English, a lesson leaves 213.75 UAH from an 8-pack, 184.50 from a 16-pack and 145.50 from a 32-pack, after the tutor, video and the payment fee. Most families buy 16.
So the 8-pack is the entry: a small first purchase for a new family. The 16-pack is the core earner: most families, most contribution. The 32-pack gives volume to steady year-round learners. The Club is an add-on for adults who want practice between lessons.
Roles come from what an offer does, not from its price per lesson alone. Knowing the job tells you what to measure: an entry offer is judged by how many move on, a core earner by the contribution it carries.
- Do8-pack: entry, measured by how many families buy a 16-pack next.
- Don'tEvery package does the same job: sell lessons.
Without a job, you can't tell which offer is working.
Core earner: total, not per unit
The core earner is the offer that brings the most contribution in total, not the one that leaves the most per unit. The two often differ, and mixing them up leads to pushing the wrong offer.
Klasna's 8-pack leaves 213.75 UAH per lesson, more than the 16-pack's 184.50. But most families buy the 16-pack, and they buy twice as many lessons in it, so the 16-pack carries the business. The 8-pack's higher margin per lesson exists because it's small: it's the price of an easy first step.
Total contribution of an offer = contribution per unit × units sold. A high number per unit on few units can be a small total; a modest number per unit on most of your customers is usually the big one.
What follows for the plan: don't move families from 16-packs to 8-packs to "earn more per lesson". They'd buy fewer lessons, renew more often, and the total could fall. Judge every offer by what it adds to the range's total, and use per-unit contribution to understand each offer, not to rank them.
- DoThe 16-pack earns less per lesson but carries most of the contribution: it's the core earner.
- Don'tLet's steer families to 8-packs: they earn 213.75 a lesson.
Cannibalization: judge on total contribution
Cannibalization is when a new or pushed offer takes customers from your own existing offers. It's judged on total contribution across the range: what the new offer brings from new customers, minus what it takes from the offers people leave. Sign-ups alone never answer it.
Uliana wants to push the Club to adults who practise with free chatbots. Her worry: Klasna's own adult learners dropping lessons for the cheaper Club. A Club member leaves about 340 UAH a month after hosts, AI and the payment fee.
Say the push brings 100 new members and 10 adults switch from eight English lessons a month on 16-packs to the Club only.
- New members: 100 × 340 = 34,000.
- Each switcher: loses 8 × 184.50 = 1,476 of lessons, adds 340 of Club: −1,136. Ten switchers: −11,360.
- Net: 34,000 − 11,360 = +22,640 UAH a month.
So the push pays, but only while switchers stay few. That's why you track two numbers after a push: how many join, and how many lesson learners switch.
- Do+100 members × 340, −10 switchers × 1,136: net +22,640 a month.
- Don'tThe push brought 100 members, so it added 34,000 a month.
It ignores what the switchers no longer spend on lessons.
Where cannibalization tips the balance
Once you know what a new customer adds and what a switcher costs, you can find the break-even number of switchers: the point where the push stops adding money.
break-even switchers = gain from new customers ÷ loss per switcher.
For the Club push: 100 new members bring 100 × 340 = 34,000 UAH a month. Each adult who drops eight lessons on a 16-pack for the Club only costs 8 × 184.50 − 340 = 1,136 UAH a month.
34,000 ÷ 1,136 = 29.93. About 30 switchers wipe out the whole gain; at 30 the net is 34,000 − 34,080 = −80.
That turns a vague worry into a rule for the plan: "keep pushing while fewer than, say, 15 lesson learners a month switch; stop and rethink if it nears 30." It also shows why the loss per switcher matters so much: one switcher costs as much as more than three new members bring.
The slip: setting the threshold only after the push, when nobody wants to admit it failed. Write it down before you start.
- DoRule before the push: stop and rethink if switchers near 30 a month.
- Don'tWe'll see after the push whether switching was a problem.
Stretching the range up or down
The cannibalization check (total contribution, not sign-ups) applies every time you stretch the range: a premium option at the top, or something lighter at the bottom. Each new step has to bring people or contribution the range didn't have.
Klasna is considering a premium exam option: the 16-pack plus a monthly mock exam and a call with the tutor. Before adding it, count two things:
- what it brings: families who join because of it, and families who upgrade from the plain 16-pack and leave more;
- what it costs: the extra tutor time for the mock exams and the calls, and any family that would have paid for the same help anyway.
Only if the range as a whole earns more is the premium step worth it.
Three weak reasons to add a step: its revenue per family is the highest in the range (high revenue can hide high costs), a big online school already has one (copying a rival's range is not a reason), and "a premium option can only add money" (it can also pull tutor hours from the core earner).
- DoPremium option: count upgrades and new families against the extra tutor hours it uses.
- Don'tThe big online school has a premium tier, so we need one too.
A one-person range: the job of a short course
Roles in a range work at any size. Dana teaches English at Klasna and, since September 2026, runs her own one-person practice for adults: five private students now, a social-media account and a messenger channel. Private lessons are her core.
Her idea: a six-week speaking course for job interviews, four people per group. Its job, in her words, is a first step: people who aren't ready to commit to private lessons try a short course, and some stay for private lessons after. That's an entry offer.
Naming the role tells Dana what to measure:
- how many course participants are new to her, rather than her own students;
- how many of them move on to private lessons afterwards.
The other roles would mean other things. As a core earner the course would replace private lessons; as a premium option it would sit above them for students who want more; as an add-on it would serve only her current students. None of these is what she has in mind, and each would be measured differently.
- DoShort course: entry. Count new participants and how many move on to private lessons.
- Don'tA short course is just another product; no need to decide what it's for.
When the budget is hours, count hours per customer
In a one-person business the scarce budget is hours, so count an offer's cost in the owner's hours per customer served.
Dana has 12 evening slots a week. Her five students take about one and a half lessons a week each, so about four slots are still free. A private student takes about 2.25 hours of her time a week with preparation and messages.
The six-week course: two sessions of an hour and a half a week plus an hour of preparation, for four participants.
2 × 1.5 + 1 = 4 hours a week, about the four free slots. 4 ÷ 4 = 1 hour per participant, less than half of a private student's 2.25.
So the course lets her serve more people in the same evenings. It doesn't yet say whether it pays: that depends on prices, which she sets with the Pricing course's tools, not here.
Two slips: forgetting preparation (session time alone gives 0.75 hours per participant and flatters the course), and filling all free slots with the course, leaving no room for a new private student it was meant to bring.
- Do(2 × 1.5 + 1) ÷ 4 = 1 hour a week per participant.
- Don't3 hours of sessions ÷ 4 = 0.75 hours per participant.
Preparation is part of the hours the course takes.
Keep the entry offer for new people
Cannibalization hits a small business too. If Dana's private students move into the cheaper course, she fills the same hours with the same people and earns less. The course would be doing the opposite of its job.
So the entry offer goes to new people: those she meets through her community talks and referrals. She counts how many seats are filled by people new to her, and how many of them later book private lessons. Her current students aren't invited to switch.
And one rule is fixed by her contract: she never offers it to Klasna's families or learners. If a Klasna learner asks, she points them back to Klasna.
A discount on the course for her current students would be the worst of both: it pulls them out of private lessons at a lower price.
How it fits together: every offer gets a job, the core earner is judged on total contribution, and a new offer is checked on what it adds to the range, at Klasna's scale and at Dana's. The module's case puts four ways for Klasna to grow in 2027 side by side and picks one.
- DoFirst course: offered at my community talk and to referrals; I count how many seats are new.
- Don'tMessage my five students: "Try the course, it's cheaper than private lessons!"
Ready to practise?
Answer the lesson's exercises and earn 250 points the first time you finish it.
Start the exercises