Every article about filling classes gives you the same list: add a waitlist, run a challenge, gamify attendance, highlight your instructors on Instagram. That advice isn't wrong. It's just that none of it tells you which class to fix, and a studio with an empty Tuesday 2pm doesn't have an engagement problem — it has a schedule problem wearing an engagement problem's clothes.
So here's the version with numbers in it.
Why is the studio-wide fill rate useless?
Because it's an average, and averages hide exactly the thing you need to see. A studio reporting 70% fill almost never has a schedule where classes sit at 70%. It has a 6pm at 95%, a Saturday morning at 90%, and a scatter of weekday off-peak slots at 30% quietly consuming payroll.
Improving that studio's "fill rate" by promoting harder is throwing marketing at classes that are already full. The actual opportunity is a handful of specific slots, and you can only see them when fill is broken out three ways: by time slot, by format, and by instructor. Any one of those alone will mislead you — a format that looks weak is often one format taught mostly in bad slots.
| Mon | Tue | Wed | Thu | Fri | Sat | |
|---|---|---|---|---|---|---|
| 6a | 82 | 78 | 85 | 80 | 74 | 93 |
| 9a | 55 | 48 | 52 | 45 | 50 | 90 |
| 12p | 24 | 19 | 28 | 22 | 18 | 62 |
| 4p | 61 | 58 | 64 | 59 | 44 | 40 |
| 6p | 95 | 92 | 97 | 94 | 86 | 70 |
What does a half-empty class actually cost?
Work out the break-even headcount per class and the schedule stops being a matter of taste. The arithmetic is simple:
| Input | Example | Where to get it |
|---|---|---|
| Instructor cost for the class | $60 | Payroll — include any per-head bonus |
| Allocated fixed cost for the hour | $40 | Rent + utilities ÷ operating hours |
| Average revenue per visit | $18 | Membership revenue ÷ total visits |
| Break-even headcount | ≈6 | (60 + 40) ÷ 18 |
Two things fall out of this that owners rarely have in front of them. First, average revenue per visit is the number that makes class economics legible, and it moves in the opposite direction to attendance — unlimited members who come more often are wonderful for retention and dilute the revenue attached to each visit. Second, a class running four people against a six-person break-even isn't "nearly there." It's losing money every week, and it will keep doing so quietly, because payroll doesn't itemize by class.
Move it, merge it, or cut it?
In that order, and cutting is genuinely last.
Move it first
Low attendance is usually about the slot, not the class. The same format with the same instructor an hour earlier can perform completely differently, because it's competing against a different part of your members' day. Before concluding a class doesn't work, check whether the time works: look at how every format performs in that slot. If nothing fills at Tuesday 2pm, the slot is the problem.
Then merge
Two adjacent thin classes often make one healthy one. It reads as a downgrade and is usually an upgrade — a room with fifteen people has better energy than two rooms with seven, and your instructor cost halves. For a group fitness studio running a dense schedule, this move-or-merge pass is most of the game.
Cut last, and deliberately
Kill a slot only when it has failed across multiple formats and instructors. And know what you're spending: the members who rely on that class are disproportionately likely to be the ones who churn when it disappears, so check who actually attends before cutting. A class with six regulars who attend nothing else is not a $100-a-week saving; it's six memberships on notice.
Discounting fills a room once. Fixing the slot fills it every week.
What about no-shows and waitlists?
These are the two mechanical fixes worth having, and they're worth having before any promotional push, because they convert demand you already have.
- A waitlist that moves. Automatic promotion when someone cancels turns a cancellation into an attendance. A waitlist that requires someone at the front desk to notice is a list, not a mechanism.
- A late-cancel window with a modest fee. Unpopular to introduce, effective at changing behavior, and it protects the members who did plan ahead.
- No-show rate per member, not just per class. This is the underrated one. A member whose personal no-show rate is climbing is usually a member on their way out — the booking is intention, the absence is the truth, and it shows up weeks before a cancellation.
Where the data has to come from
Everything above needs three things joined together: attendance by class, capacity by class, and cost per class. Your booking platform holds the first two and knows nothing about the third; payroll holds the third and knows nothing about which class it bought. The join is what turns "that class feels quiet" into "that slot runs four people against a six-person break-even, loses about $28 every time it's taught, and here are its four regulars."
Xyzios keeps that join live: fill rate by class, time, and instructor, compared honestly across locations using your own definitions, with the schedule's weak slots surfaced rather than buried in an average. Start with the two-minute studio check to see which parts of your schedule you currently can't see.