Search for how to increase class attendance and the advice arrives as a list: run a challenge, gamify check-ins, put your instructors on Instagram, discount the quiet classes. None of it is wrong, and none of it tells you which class to fix. A studio with an empty Tuesday 1:00pm does not have an engagement problem. It has a schedule problem wearing an engagement problem's clothes.
So here is the version with numbers in it. One invented studio runs through every section: Alturra Studios, 240 members at $169 a month, one room of 20 spots and sixty classes a week. Over the last three closed months its classes averaged 12 people. This is what that average is made of.
| Mon | Tue | Wed | Thu | Fri | Sat | Sun | |
|---|---|---|---|---|---|---|---|
| 6am | 17 | 15 | 16 | 15 | 12 | ||
| 7am | 14 | 12 | 14 | 12 | 6 | 12 | |
| 8am | 11 | 11 | 11 | 11 | 10 | 15 | 12 |
| 9am | 18 | 16 | |||||
| 9:30am | 14 | 14 | 13 | 13 | 13 | ||
| Noon | 11 | 6 | 11 | 9 | 7 | ||
| 1pm | 6 | 6 | 6 | 6 | 6 | ||
| 4pm | 10 | 10 | 11 | 9 | 6 | ||
| 5pm | 15 | 15 | 15 | 15 | 12 | ||
| 6pm | 17 | 18 | 17 | 18 | 13 | ||
| 7pm | 16 | 16 | 16 | 15 | 9 | ||
| 8pm | 10 | 10 | 11 | 10 | 5 |
Class attendance in one minute
- The average hides the classes you need to change. Alturra's classes average 12, and only six of its sixty run at 12. The ones worth changing sit at both ends.
- Fill the seats you already sold first. A class that books full and runs short needs a waitlist that moves, not more demand.
- Judge every slot against a break-even, then add, move, merge or cut. Cost per class divided by revenue per visit is the line. A discount only raises it.
| The lever | What it fixes | What to read | At Alturra |
|---|---|---|---|
| Read fill rate by slot | an average that hides the full classes and the empty ones | each slot's attended average against the break-even | average 12; nine slots under 7 |
| Recover seats already sold | no-shows and late cancels nobody took | seats lost that someone on the waitlist wanted | ten a week, all at full classes |
| Add or move a session | demand you turn away | classes waitlisted in most weeks | Saturday 9:00am, answered by a move |
| Merge or cut | a class that never finds its people | under the line for a whole quarter | merge Tuesday 12 and 1; cut Friday 8pm |
| Keep regulars coming | members drifting out of a routine | each member's visits against her own pattern | read per member, not per slot |
Why doesn't the studio-wide fill rate tell you what to fix?
Because it is an average, and the classes you need to change sit at both ends of it. Alturra's studio-wide fill rate is 60%: 12 people in a room of 20. Its 6:00pm row averages 16.6 and turns people away four nights a week, and its 1:00pm row averages 6 and is under the line every weekday. Promote the studio harder and the new people book the 6:00pm, which is already full.
So break attendance out three ways, by slot, by format and by instructor, because any one alone can mislead: a format that looks weak may simply be taught at bad hours. At Alturra the 1:00pm row runs three formats with four different instructors, and the same formats average 12 or more at other hours. The hour is the problem, not the classes.
Decide, too, which percentage you are reading. Fill rate is people who came over the spots in the room; utilization is spots booked over the same spots. Read both, and write down which is which, so every week reads them the same way.
Is a sold-out class actually full?
Not until you count who came. Here is Alturra's busiest class on an ordinary Tuesday. All 20 spots were booked, so its utilization reads 100% and every report calls it full. Seventeen people came, a fill rate of 85%, and three spots sat empty while four people who wanted one were still on the waitlist when class started.
Read the two numbers side by side for every class: utilization, what was booked, and fill rate, who came. The gap between them is no-shows and late cancels nobody took, and it tells you which problem you have. A class that books out and still runs short does not need more demand. It needs a waitlist that moves and a cancellation window that gives spots back while someone can still use them.
Across Alturra's full classes that gap cost ten seats in one week that someone on a waitlist wanted: 520 visits a year, with no new member and no discount. A late cancellation policy set by how fast your waitlist takes a released spot closes most of it, and reading the waitlist as demand shows which classes need it. In a room with a hard ceiling the gap costs more: with eight reformers each empty bed is an eighth of the class, and a sold-out ride has no spare bike for the rider still waiting.
What to do this week:
- For every class that books full, put booked beside attended for the last four weeks.
- Check that the waitlist moves the next person up on its own when a spot opens, where your booking rules allow it.
- Note how many hours before class each released spot was taken, and close the cancellation window where they stop being taken.
- Check the check-ins. A class nobody checked in turns people who came into no-shows.
How many people does a class need to break even?
Cost per class divided by revenue per visit, rounded up. Take both from the same three closed months, so one odd week cannot set the line.
Cost per class is payroll plus rent over the classes you actually ran. Alturra's is $86,250 over 750 classes, or $115 a class: $60 for the instructor and $55 for the rest of payroll and rent. The instructor pay piece builds that sum line by line. Revenue per visit is revenue over attended visits: $150,000 over 9,000 visits is $16.67. Take the revenue from the books, not the booking platform, where a partner visit arrives with no money attached.
So Alturra's line is 7 people. Turn the same sum around and you get the per-visit floor from the pricing piece: at 12 people each visit must earn $9.58, and at 7 people $16.43, which Alturra's $16.67 only just clears.
One line for the whole studio treats every class as if it cost and earned the same, so it is a shortlist, not a verdict. Redo the sum by hand for any slot near it, with that slot's own instructor pay plus the $55 share. Friday 12:00pm averages 7 and sits on the line, but it is taught by Alturra's most senior instructor at $75. Its own cost is $130, its own line is 8, and by hand it is under.
What to do this week:
- Take payroll and rent for the last three closed months from the books, and divide by the classes you ran.
- Take revenue for the same months from the books, and divide by attended visits, not bookings.
- Divide the first by the second and round up. That is your line.
- Sort every slot by attended average and draw the line through the list.
Which classes are under the line?
The ones that sit under it for a whole quarter, not for a bad week. Nine of Alturra's sixty are under 7: all five 1:00pm classes, Tuesday noon, and three Fridays at 7:00am, 4:00pm and 8:00pm. Here is the same schedule the way a board reads it, each slot's attended average drawn against one estimated line.
Read the top as carefully as the bottom: the class flagged for the heaviest waitlist is the first place to look for a second session or a move. If one of yours waitlists now, add the slot before January, while it has weeks to find its regulars.
When should you add, move, merge or cut a class?
Add where the waitlist is steady and the classes beside it are full; move a class whose hour is failing; merge two thin neighbors; and cut last, after counting who the class holds. Try the cheap ones first: a move costs nothing in pay, a merge saves a session, an add costs one, and a cut can cost members. And judge every change the same way, by total attendance across every slot it touched, not by the slot you changed.
Add a session where the waitlist is
Alturra's Saturday 9:00am averages 18 of 20 and waitlists in most weeks, and the 8:00am beside it runs at 15, so the people turned away have nowhere near to go. The room is free at 10:30. That is the case for a Saturday 10:30am, and the add-a-session test comes after it: Saturday's total attendance must rise, not just spread across three classes instead of two. Invite the people on the waitlist first. They are the new class's founding regulars.
Move a class whose hour is failing
Before paying for a new session, look for a weak one to move. The 1:00pm row averages 6 whoever teaches it, so the hour is failing, not the classes. Wednesday's 1:00pm has ten regulars, and nine of them also come to other classes. It becomes the Saturday 10:30am: the add, for no extra pay. The tenth hears it in person first, with the 12:00pm offered in its place.
Merge two thin neighbors
Tuesday's 12:00pm and 1:00pm both average 6: two classes, two instructors, $120 of pay, both under the line. If one class at 12:30pm keeps 10 of those 12 people, it clears the line by three for $60. It reads like a downgrade and is often an upgrade, because a room of ten has more energy than two rooms of six. Ask both groups which time they would take before you choose it. For a group fitness studio with a dense timetable, this pass is most of the job.
Cut last, and count who it holds
A cut saves the instructor's $60 a session, about $260 a month, not the $115: the rent and the desk stay. So before cutting, count the regulars whose only class it is (a regular here is anyone who came six or more times in the quarter) and set their dues against the saving.
Friday 8:00pm passes, so it goes, after its one only-class regular hears it from a person, with a class to try instead. Thursday 1:00pm fails: count its four members' dues as the class's own and it earns about $156 a session from them alone, well over its $115, so it stays. The instructor pay piece runs the same check, and the revenue leak calculator puts a rough yearly figure on the quiet churn a careless cut causes.
What to do this week:
- List the slots under the line for the whole quarter, and the slots waitlisted in three of the last four weeks.
- For each slot under the line, ask whether the hour or the class is failing: does the same class draw at other times?
- Look for two thin neighbors to merge, and a weak class to move into any hour a waitlist points to.
- Before any cut, count the regulars whose only class it is, and tell them in person before the schedule changes.
Why not discount the quiet classes?
Because a discount fills a room once, and it teaches everyone that the list price is negotiable. Most of Alturra's revenue is dues, $40,560 of March's $52,000, and a member on a monthly plan pays the same whichever class she takes. A cheaper 1:00pm changes nothing for her; it changes what pack holders and drop-ins pay, and some of the people it draws move from an hour where they paid full price. The room gets a little fuller and earns less per visit, at the hour that already cannot cover its cost.
A discounted hour is also a price nobody designed. The pricing piece builds a ladder where each rung asks for more commitment and gives a better rate, and a cheap 1:00pm undercuts the rungs without asking for anything back. The move that costs nothing is a personal invitation to the few people most likely to want that hour: members who have taken it before, and people turned away from the full class beside it. Moving riders, not prices is the same idea in a cycling room.
Is it a schedule problem or a member problem?
Both leave empty spots, and they look different on the page. A schedule problem is a row or a column: every 1:00pm, every Friday. A member problem is one person, a regular who came three times a week and now comes once, and the heatmap will not show her, because her old class is still full of other people. Read attendance per member against her own usual rhythm, not the studio's, and reach her while she is still a member. The fade shows in booking data weeks before the cancellation does, and a climbing count of late cancels can be the first sign.
How do you run a schedule review?
Once a quarter, on one page, in six steps. A quarter is long enough that one holiday week cannot set the line, and short enough that a class under it does not run for a year. Here is Alturra's.
Change a few things at a time, so you can tell which change worked: Alturra's other four slots under the line wait for next quarter. Tell regulars in person before anything moves, check each change at eight weeks against the quarter before, and give a new slot a full quarter before you judge it.
Where this lives
The reading, the hand sums and the call to add, move, merge or cut are yours. What slips in a busy studio is keeping the numbers under them current, and that is the part Xyzios keeps. It works with Mindbody and is an approved Mariana Tek integration, and your booking platform stays the system of record.
Its Programming board shows every slot's attended average and how full it books, and flags the class with the heaviest waitlist. With QuickBooks Online connected, it also shows an estimated cost per class, payroll plus rent over the classes run in the last three closed months, and one estimated break-even headcount per location, which each slot's attended average is compared against. The Operations board carries No-shows and Late cancels cards, each with its share and its trend against the studio's own past, beside a show rate by weekday: attended divided by booked over the last 30 days. A check-in tapped at the Front Desk is written back to your booking platform where you have switched that on, which keeps the attended count honest.
It does not show a break-even or an instructor cost for each class, it does not suggest schedule changes, and it does not promote classes: the per-slot sums in this piece stay yours. When a member's attendance slips against her own pattern, she goes on the at-risk list, and for members at high risk a short save note is drafted and waits for your approval. How the save works covers that list. Nothing reaches a member until you tap approve.
Whatever you use, draw your line this week. The two-minute studio check shows whether the schedule is the number that needs you first.