Ask a school owner what they charge and you get an answer in under a second. Ask what one class hour costs them and the answer usually starts with "well, the teacher gets..." and stops there.
The teacher is the most visible cost, so it gets treated as the whole cost. In the example below it turns out to be about 40% of what a class of six costs to run. The rest is spread across rent, admin time, the rooms nobody booked and the money you spent to find the students in the first place. None of those appear on a timetable, which is exactly why they get left out of pricing decisions.
This guide walks through a complete model with one illustrative school. The numbers are invented and deliberately round. Your currency, rates and rent will differ; the structure will not. By the end you should be able to answer three questions with your own figures:
- How many students does a group class need before it stops losing money?
- What is the lowest price at which one-to-one lessons make sense?
- Which lever, out of price, class size, occupancy and teacher pay, actually moves your margin?
The five costs inside one hour
Every class hour carries five kinds of cost. Two of them are obvious, three are not.
Teacher time. Not the hourly rate, the effective rate. If teachers are paid for preparation, marking or a paid break, that time belongs to the class hour it supports. A teacher paid 12 per teaching hour plus 20 paid minutes of preparation costs 16 per class hour, not 12.
Room time. Rent divided by the hours rooms are actually used for paid classes, not by the hours the building is open. This is the easiest place for a cost model to go wrong, and we will come back to it.
Admin and management time. The administrator who answers enquiries, chases invoices and rebuilds the timetable. Their monthly cost divided by booked class hours.
Per-student costs. Materials, printing, card or payment fees, anything that grows with each student in the room rather than with each hour taught.
Acquisition. What you spent to find each student, spread over the hours they stay. It is the cost owners are most reluctant to put in a per-hour model, because it feels like "marketing" rather than "teaching". But a student you paid 100 to acquire who stays 69 hours has 1.45 of acquisition cost inside every hour they attend.
The illustrative school
Here is the school we will model:
- 4 classrooms.
- Rent and utilities: 3,000 a month.
- Classes run in the realistic teaching window only: weekdays 4 pm to 9 pm (5 hours) and Saturdays 8 hours. That is 33 hours per room per week.
- On average 60% of those room-hours are booked with a paid class.
- Teachers: 12 per teaching hour, plus 20 minutes of paid preparation per hour taught.
- One administrator: 900 a month.
- Materials: 0.50 per student per hour.
- Payment fees: 2% of revenue.
- Marketing: 1,200 a month, bringing in 12 new students.
- A typical student stays 8 months and attends 2 hours a week.
- Group price: 9 per student per hour.
Step 1: room cost per booked hour
4 rooms x 33 hours x 4.33 weeks = about 572 room-hours a month.
At 60% occupancy, 343 of those hours carry a paid class. Rent per booked class hour is 3,000 / 343 = 8.75.
If you had divided by opening hours instead (say the building is open 10 hours a day, six days a week), you would get about 2.90 and conclude that rent is a minor cost. It is not. The rooms are paid for all day and used for a few hours, and the paid hours carry the whole bill.
Step 2: the fixed cost of one class hour
These costs are the same whether the class has three students or ten:
| Cost | Per class hour |
|---|---|
| Teacher (12 plus 20 minutes paid prep) | 16.00 |
| Room (3,000 / 343 booked hours) | 8.75 |
| Admin (900 / 343 booked hours) | 2.62 |
| Fixed cost per class hour | 27.37 |
Step 3: the variable cost of one student in that hour
| Cost | Per student-hour |
|---|---|
| Materials | 0.50 |
| Acquisition (100 per student / 69 hours stayed) | 1.45 |
| Payment fees (2% of 9) | 0.18 |
| Variable cost per student-hour | 2.13 |
The acquisition line comes from 1,200 / 12 = 100 per new student, and 8 months x 2 hours x 4.33 weeks = about 69 hours per student.
Step 4: margin by class size
Each student brings in 9 and costs 2.13, so each student contributes 6.87 towards the fixed 27.37.
| Students in class | Revenue | Total cost | Margin | Margin % |
|---|---|---|---|---|
| 3 | 27.00 | 33.76 | -6.76 | -25% |
| 4 | 36.00 | 35.89 | 0.11 | 0% |
| 6 | 54.00 | 40.15 | 13.85 | 26% |
| 8 | 72.00 | 44.41 | 27.59 | 38% |
Break-even is 27.37 / 6.87 = 3.98 students. A class of four breaks even. A class of three loses money every hour it runs, and this is before paying the owner anything at all.
That last point matters. In this model the owner's own time is free. If you would expect to pay a manager to do what you do, add that salary to the admin line and the break-even moves up again.
What the model usually reveals
When you run this for the first time, expect to find at least one of these four things.
The break-even class size is higher than you assumed. If you guessed two or three, the gap is almost always rent and admin, which tend to get filed mentally as "overheads" rather than as costs of running classes.
Small classes are being carried by big ones. A school where half the groups have eight students and half have three looks profitable in total. It is really two businesses, one of which pays for the other. That can be a fine strategy (a small advanced group can keep a family enrolled for years) but it should be a choice, not a surprise.
One-to-one lessons are often priced below cost. One student in a room costs the full fixed 27.37 plus 2.13, so 29.50 an hour. Pricing one-to-one at double the group rate, here 18, would lose 11.50 on every private lesson. The fix is not necessarily a higher price. It might be running private lessons only in hours when rooms would otherwise sit empty, where the true room cost is close to zero.
Empty rooms cost more than expensive rent. Moving to cheaper premises saves a fixed amount. Filling the premises you have lowers the cost of every hour you teach.
Which lever actually moves the margin
Here is the same class of six, changing one input at a time:
| Change | Margin per class hour | Difference |
|---|---|---|
| Starting point (6 students, price 9) | 13.85 | - |
| One more student in the class | 20.72 | +6.87 |
| Price up by 1 per student-hour | 19.73 | +5.88 |
| Occupancy from 60% to 70% | 15.47 | +1.62 |
| Teacher pay up by 2 per hour | 11.18 | -2.67 |
Two conclusions follow, and the second one is easy to get backwards.
First, class size and price dominate everything else. One extra student in each group is worth more than any saving you can make on rent.
Second, teacher pay is not where the money is. A 2-per-hour raise, which a teacher will certainly notice, costs less than half of what one additional student brings in. Schools that squeeze teacher rates to protect margin are usually pulling the weakest lever, and paying for it later in turnover. If you want a longer look at that trade-off, how to pay teachers covers the structures, and class size economics goes deeper on group sizes.
Building your own version in an afternoon
You need five numbers, and most schools already have them somewhere.
- Booked class hours last month. Count them from the timetable, not from the plan. Include classes that ran with one student; exclude ones that were canceled.
- Average students per class hour. Use students who were billed for the hour, not students enrolled in the group. A student on a two-month pause is on the roster but not in your revenue.
- Monthly fixed costs. Rent, utilities, admin salaries, software, cleaning. Anything you would pay even if nobody came.
- Teacher cost per class hour, including paid preparation, meetings and any hours paid for classes that were canceled at short notice.
- New students last quarter and what you spent to get them, plus how many months a typical student stays. If you do not know the last one, it is worth finding out on its own; students who quietly leave explains why.
Put them into the same four tables above. It takes longer to find the numbers than to do the arithmetic.
Five mistakes that make the model lie
Dividing rent by opening hours. Covered above, and the one that distorts the result most.
Using enrolled students instead of billed students. Rosters are optimistic. Invoices are not.
Forgetting paid time that is not teaching. Preparation, marking, parent meetings, training days. If you pay for it, it belongs somewhere, and the class hour is the honest place to put it.
Ignoring cancellations. If a teacher is paid when a class is canceled late, that hour has cost and no revenue. Across a term it can be several percent of teacher cost.
Setting the owner's salary to zero. It makes the school look profitable and makes it impossible to ever hire someone to do the owner's job.
What to do with the result
The model is not a pricing formula. It tells you where you have room and where you do not, so that pricing decisions stop being guesses.
- If your break-even is four and your average group is five, you are one bad month away from losing money, and new groups should not open below five.
- If one-to-one lessons lose money, either reprice them or restrict them to hours when rooms would be empty.
- If occupancy is low, the cheapest improvement is often a timetable change rather than a marketing campaign.
- If you are thinking about a price rise, the sensitivity table above tells you what it is worth before you have the difficult conversation. Pricing by course, package or month covers how to present it.
The inputs to this model are your timetable, your attendance and your invoices. When those live in one system instead of three spreadsheets, most of the numbers above are a report away rather than an afternoon's work. That is the part Schoolory is built for.