← All notes Growth

How to Increase Class Attendance Without Discounts

The average fill rate hides the whole story.

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.

Alturra's week · attended average by slot20 spots · last three closed months
MonTueWedThuFriSatSun
6am1715161512
7am14121412612
8am11111111101512
9am1816
9:30am1414131313
Noon1161197
1pm66666
4pm10101196
5pm1515151512
6pm1718171813
7pm161616159
8pm101011105
5 to 18 people, light to darkunder the break-even of 7waitlisted in most weeksno class
Studio average: 12 a class, a fill rate of 60% in a room of 20. Only six of the sixty classes run at 12. The 6pm row averages 16.6 and the 1pm row 6.
worked example on an invented studio · 720 attended a week ÷ 60 classes = 12 · 12 ÷ 20 spots = 60% · each cell is one recurring class

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 leverWhat it fixesWhat to readAt Alturra
Read fill rate by slotan average that hides the full classes and the empty oneseach slot's attended average against the break-evenaverage 12; nine slots under 7
Recover seats already soldno-shows and late cancels nobody tookseats lost that someone on the waitlist wantedten a week, all at full classes
Add or move a sessiondemand you turn awayclasses waitlisted in most weeksSaturday 9:00am, answered by a move
Merge or cuta class that never finds its peopleunder the line for a whole quartermerge Tuesday 12 and 1; cut Friday 8pm
Keep regulars comingmembers drifting out of a routineeach member's visits against her own patternread 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.

Tuesday 6:00pm · 20 spotsbooked is not attended
camecame off the waitlistbooked, did not comestill waiting at 6:00
100%utilization · 20 of 20 spots booked
85%fill rate · 17 of 20 spots used
3seats someone on the waitlist wanted
Three empty spots and four people who wanted one, in the same room at the same time. Three a week is 156 visits a year from one class, with no new demand at all.
worked example on an invented studio · 20 booked ÷ 20 spots = 100% · 17 came ÷ 20 spots = 85% · 3 × 52 = 156

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:

  1. For every class that books full, put booked beside attended for the last four weeks.
  2. Check that the waitlist moves the next person up on its own when a spot opens, where your booking rules allow it.
  3. Note how many hours before class each released spot was taken, and close the cancellation window where they stop being taken.
  4. 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.

Alturra's break-eventhree closed months
$86,250payroll plus rent
÷
750classes run
=
$115a class
$150,000revenue
÷
9,000attended visits
=
$16.67a visit
$115a class
÷
$16.67a visit
=
7people: 6.9, rounded up
6 people$100.00short of $115
7 people$116.67covers it
12 people$200.00the average class
worked example on an invented studio · 750 × 12 = 9,000 visits · each box is people × $150,000 ÷ 9,000

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:

  1. Take payroll and rent for the last three closed months from the books, and divide by the classes you ran.
  2. Take revenue for the same months from the books, and divide by attended visits, not bookings.
  3. Divide the first by the second and round up. That is your line.
  4. 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.

Programming · attended average by slotlast three closed months
Slotattended, from zerobooked · attended
Sat 9:00am Flow
100% · 18.2
Tue 6:00pm Flow heaviest waitlist
100% · 17.8
Thu 6:00pm Mat Pilates
100% · 17.6
52 slots in between
Fri 1:00pm Mat Pilates
35% · 6.0
Mon 1:00pm Mat Pilates
35% · 5.9
Tue 1:00pm Stretch
34% · 5.8
Thu 1:00pm Flow
33% · 5.6
Fri 8:00pm Stretch
31% · 5.2
est. break-even: 7 a classat or overunder
Est. cost per class: $115 · payroll plus rent over the classes run in the last three closed months
recreation · demo data on Alturra's schedule · one estimated break-even for the location, each slot's attended average compared against it

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 sessionWaitlisted in most weeks, the classes beside it nearly full, and a free hour in the room.
At AlturraSaturday 9:00am at 18, the 8:00am at 15, the room free at 10:30am
The testSaturday's total attendance rises
Move itUnder the line at this hour whoever teaches it, while the class draws at other hours.
At Alturrathe 1:00pm row averages 6; Wednesday's becomes a Saturday 10:30am
The testit clears 7 at its new hour within a quarter
Merge themTwo neighbors, both thin, with regulars who can make one time.
At AlturraTuesday 12:00pm and 1:00pm, 6 each, become one 12:30pm
The testmost of both groups keep coming
Cut itUnder the line all quarter, nowhere better to move it, and few regulars who take nothing else.
At AlturraFriday 8:00pm at 5, with one regular whose only class it is
The testnobody who relied on it leaves
worked example on an invented studio · three closed months · the line is a break-even of 7 a class

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.

Before a cut · who each class holdsregulars: six or more visits in the quarter
Friday 8:00pmaverages 5 · 7 regulars
$169a month from the 1 whose only class it is
$260a month saved by cutting it
cut it, after telling her in person
Thursday 1:00pmaverages 6 · 9 regulars
$676a month from the 4 whose only class it is
$260a month saved by cutting it
keep it, judged on their dues
takes no other classalso comes to other classes
worked example on an invented studio · 1 × $169 · 4 × $169 = $676 · $60 × 52 ÷ 12 = $260

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:

  1. List the slots under the line for the whole quarter, and the slots waitlisted in three of the last four weeks.
  2. For each slot under the line, ask whether the hour or the class is failing: does the same class draw at other times?
  3. Look for two thin neighbors to merge, and a weak class to move into any hour a waitlist points to.
  4. 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.

Alturra's schedule review · one pageonce a quarter
1
Read three closed months by slot. Utilization, fill rate and attended average for all 60 weekly classes.
average 12
2
Draw the line. $115 a class ÷ $16.67 a visit, rounded up.
7 a class
3
Recover the seats already booked. The full classes first: the waitlist and the cancellation window.
10 lost a week
4
Mark the two lists. Under the line all quarter; waitlisted in most weeks. Redo the sum by hand near the line.
9 under · 6 waitlisted
5
Add, move, merge or cut. Merge Tuesday 12:00 and 1:00; move Wednesday 1:00pm to Saturday 10:30am; cut Friday 8:00pm; keep Thursday 1:00pm.
60 to 58 a week
✓
Check it in eight weeks. Total attendance on every slot touched, against the quarter before.
$520 a month less pay
worked example on an invented studio · the merge and the cut each save a $60 session a week · $120 × 52 ÷ 12 = $520

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.

Straight answers

Common questions.

How do you increase attendance in fitness classes?

Slot by slot, not studio-wide. Start with the seats you already sold: a class that books full and still runs short needs a waitlist that moves and a cancellation window that gives spots back in time. Then read each class’s attended average against your break-even headcount. Add a session 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. A discount fills a room once; a better schedule fills it every week.

What is a good class fill rate for a fitness studio?

No fill rate is worth copying from another studio, because what counts as good depends on your room, your costs and your prices. The useful test is each class against its own break-even: the number of people it needs to cover what it costs. Read fill rate, who came, beside utilization, what was booked, slot by slot over three months. The studio-wide average then stops mattering, because the classes you need to change sit at both ends of it.

How do you calculate a class break-even headcount?

Divide cost per class by revenue per visit, and round up. Cost per class is payroll plus rent from your books over the last three closed months, divided by the classes you ran. Revenue per visit is revenue for the same months divided by attended visits. In a worked example, $86,250 over 750 classes is $115 a class, $150,000 over 9,000 visits is $16.67 a visit, and $115 divided by $16.67 is 6.9, so a class needs 7 people.

Should I cancel a class with low attendance?

Not first. Check whether the hour or the class is failing: if every class at that time runs thin whoever teaches it, move the class to an hour with demand. Merge it with a thin neighbor if there is one. Cut only when neither works, and count its regulars before you do. In a worked example, four members whose only class is a Thursday 1:00pm pay $676 a month between them, against the $260 a month that cutting it would save.

When should a studio add another class time?

When a class waitlists in most weeks, the classes either side of it are nearly full too, and the room has a free hour nearby. Judge the new session by one test: total attendance across the old and new classes must rise, not just spread out. Invite the people on the waitlist first, give the new slot a full quarter to find its regulars, and look for a weak class to move into the hour before you pay for an extra one.

How do you reduce no-shows in fitness classes?

Make a spot easy to give back and quick to refill. A waitlist that promotes the next person on its own, where your booking rules allow it, turns a cancellation into an attendance. A cancellation window set by how late released spots still get taken gives them back while someone can use them. And watch each member’s own count: a regular whose late cancels start to climb may be losing her routine, which deserves a conversation before a fee.

Should a studio discount quiet classes to fill them?

Not as a first move. If most of your revenue is monthly dues, a member pays the same whichever class she takes, so a cheaper hour mostly changes what pack holders and drop-ins pay, and some of them simply move from a class 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. Fix the hour first, and invite the few people who have taken that time before, in person.

Can Xyzios show which classes are under their break-even?

Against one estimated line for each location, yes; slot by slot, the sums stay yours. Xyzios works with Mindbody and is an approved Mariana Tek integration. 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. It does not show a break-even or an instructor cost for each class, and it does not suggest schedule changes.

Try it on your own numbers

Every board in this piece is a screen in the product.

Shown here on demo data. Connect Mindbody or Mariana Tek and it fills with yours. The first month is $99: the whole OS, every board, hands-on onboarding.

No card today · billing starts when you're connected and say go

Every number, one screen. The studio grows.

Free templates

Nine studio templates,
free to your inbox.

Two policies, notes for members and leads, a price increase letter, and four sheets for the desk and the numbers, each cut down to the part you copy. After that, the occasional studio note. No spam, no drip campaign, unsubscribe any time.

Written by the people who build Xyzios — not a content farm. What each template is for →