STUDIO CLASS SLOT OPTIMIZER · RUNS IN YOUR BROWSER · NOTHING UPLOADED

Which classes on your timetable are losing you money?

Paste or upload your attendance log: one row per class held, with the slot (like "Mon 6am"), how many attended, and optionally the room capacity. Tell it what an attendee is worth and what a class costs to run. The tool shows each slot's adjusted average attendance, your break-even class size, the money gained or lost by cutting each slot after regulars switch to another class, and which slots are so full they need a second class. It refuses when your log cannot answer.

Your attendance log never leaves this browser tab. Statistical estimate from data you supply, not advice. It cannot see membership revenue, seasons or instructor draw.

Your attendance log

Revenue per attendee: use your average class-pack or drop-in yield. Each slot is assumed to run once a week. At least 20 classes, across at least 4 slots with 3+ classes each.

Upload or paste your log and fill in the money boxes, then click Analyse.

How it is calculated

Model: each slot's attendance is averaged, then shrunk toward the all-slot average by an empirical-Bayes weight (a slot seen 3 times is pulled in harder than one seen 30 times; the weight comes from how much slots really differ versus how noisy one slot is). Earns per class is adjusted average × (revenue − extra cost per attendee) − cost to run a class. Gain from cutting is cost to run − (1 − switch share) × adjusted average × margin. A slot is "cut or move" when that gain is positive in at least 80% of 300 seeded bootstrap resamples of its classes, "keep" when it is negative in at least 80%, otherwise "watch". "Full: add a class" needs an average of 90% of capacity or more, with the low end still above 85%.

Not modelled: membership and class-pack revenue that does not depend on a given class, seasons and holidays, instructor popularity, classes that feed or cannibalise each other beyond the switch share, and demand hidden by a full room. Unverified: checked against simulated timetables with known slot means in unit tests, not against a real studio's data. Treat a cut verdict as a prompt to try moving or trialling the slot, not an instruction.

Common questions

Which fitness classes should I cut?

The ones where cutting saves more than it loses. A class costs you an instructor and a room slot whether three people or eighteen show up, so the test is average attendance times what each attendee is worth, against what the class costs to run, after allowing for regulars who would simply switch to another class. This tool reads your own attendance log, shrinks small samples toward the studio average so three quiet Tuesdays do not condemn a slot, and only says cut when the bootstrap ranges agree.

How do I find my break-even class size?

Divide the cost of running one class (instructor pay plus any room or cleaning cost) by what each attendee contributes after their own variable costs. The tool prints it for you. A slot whose real average sits under that number loses money every time it runs, unless it feeds other classes you would lose.

What if people who lose a class just go to another one?

Then cutting costs you little, which is why the tool asks for the share of a cut class's attendees who would switch, 40% by default. It also warns when the remaining classes do not have enough spare spots to absorb them, because a switch rate that needs seats that are not there is wishful.

How many classes of history do I need?

At least 20 classes in total, across at least 4 slots with 3 or more classes each. Fewer cannot separate a weak slot from a bad week. Slots with fewer than 3 classes get no verdict. A few months of a weekly timetable is usually enough.

Why does a full class get its own verdict?

Attendance cannot exceed the room, so a class that is always full hides how many people wanted in. The tool flags slots averaging 90% or more of capacity, with a lower range still above 85%, as candidates for a second class or a waitlist, and says plainly that it cannot see the demand it cannot count.

Does this know about memberships, seasons or instructors?

No. It treats each slot's attendance as the only signal. Class-pack and membership revenue that is paid whether or not people attend, seasonal swings, and instructor popularity are not modelled. Use the revenue-per-attendee box to reflect what an extra head is really worth to you.

Is my attendance log uploaded anywhere?

No. The file is read and analysed in this browser tab. Nothing is sent to a server, there are no accounts or cookies, and the tool never stores your members' data. It works offline once the page has loaded.