Swim School: Class Fill Rate And The Revenue Gap

Excel Formulas › Swim School

All versions

A swim class with one empty spot looks fine on the schedule and costs exactly one tuition. Multiply that across a session and the gap is usually larger than any price increase you were considering. Two columns turn “we are pretty full” into a number the schedule can be built around.


Quick formula: Fill rate is a ratio; the gap is the empty seats priced out:
=(B2-C2)*D2

A four-swimmer Level 2 class with three enrolled is 75% full — and $128 of tuition sitting in an empty lane.

Functions used (tap for the full reference guide):

The example

Three classes in the same eight-week session, priced per swimmer.

ABCDEFG
1ClassCapacityEnrolledTuitionFill rateEmpty seatsRevenue gap
2Parent & Tot65$9683.3%1$96
3Level 243$12875.0%1$128
4Level 444$144100.0%0$0

The formula

Two independent columns from the same three inputs:

=C2/B2 then =(B2-C2)*D2 // fill rate as a percentage, then the empty seats in dollars

How it works

Why both columns are worth having:

  1. C2/B2 is the fill rate. Format it as a percentage and it is instantly comparable across classes with different capacities — a 5-of-6 and a 3-of-4 are not the same class, and the ratio says so.
  2. B2-C2 is empty seats. Whole numbers, and the only column an instructor actually cares about.
  3. *D2 prices the gap. This is the column that changes decisions, because “one empty spot” and “$128” feel completely different in a scheduling meeting.
  4. Sum the gap column across the session. That total is what a class-consolidation or a waitlist-conversion push is actually worth.

Do not treat every empty seat as recoverable. Some classes are capped by instructor ratio and some by lane space; the gap is an upper bound on the opportunity, not a forecast.

Try it: interactive demo

Interactive

Enter the class capacity, current enrolment and the session tuition.

Variations

Session-wide fill rate

Sum enrolled over sum capacity rather than averaging the per-class rates — averaging percentages weights a 2-seat class the same as a 12-seat one.

=SUM(C2:C4)/SUM(B2:B4)

Classes worth consolidating

Flag any class under a threshold so the schedule review has a short list instead of a spreadsheet.

=IF(C2/B2<0.6,"Review","")

Pitfalls & errors

Capacity is a policy number, not a pool number. If the ratio rule says four swimmers to one instructor at Level 2, capacity is four even when the lane could hold six — entering the physical maximum overstates the gap on every row.

Track fill rate by time slot, not just by level. The 4:30 classes are usually full and the 11:00 classes usually are not, and that pattern is a scheduling fix rather than a marketing one.

A zero capacity gives #DIV/0!. Wrap the fill rate in IFERROR if the sheet has placeholder rows for classes that have not been sized yet.

Practice workbook

📊
Download the free Swim School: Class Fill Rate And The Revenue Gap practice workbook
Edit the yellow capacity, enrolled and tuition cells; fill rate and revenue gap recalculate.

Frequently asked questions

Is a 100% fill rate the goal?
Not quite. A session that runs at 100% has no room for the family that calls on Wednesday, and swim schools live on continuous enrolment. Most operators aim for the high eighties or low nineties across the session and keep a deliberate spare seat in the most popular slots.
Should the revenue gap include the instructor cost I saved?
No — and that is exactly why the gap is an upper bound. The instructor is paid whether the class has three swimmers or four, so the empty seat really does cost close to full tuition. If you run classes that get cancelled below a minimum, model those separately.

Stop fighting formulas. Learn them in a day.

This recipe is one of hundreds of real-world formulas we teach. Our Excel Formulas & Functions class covers lookups, logic, text, and dynamic arrays hands-on — live in Dallas–Fort Worth, Houston, Austin, Oklahoma City, Denver, or online.

See the Formulas & Functions Class

Related formulas: Swim School: Weeks To The Next Level · Revenue Per Appointment Slot · Chair Utilization

Function references: ROUNDSUM