Class Capacity Lab
An exploratory analysis of the gap between booked and realized attendance in group fitness classes. It covers 1,500 public booking records and 1,000 synthetic member profiles, with effect sizes, bootstrap intervals and tenure-standardized comparisons. A bilingual site presents the case study, an interactive dashboard and a literature-backed discussion of what richer gym data could answer.
Original figures from the reproducible analysis
What is implemented today
- Filter booking cohorts by class, weekday and time, with intervals and small-sample warnings.
- Read every coefficient with its meaning, operational implication and technical method.
- Compare raw and tenure-standardized class and schedule rates.
- Follow a research agenda that maps each question to the data and design it needs.
Context
Group classes are planned around bookings, but coaching time, revenue and member experience depend on who actually attends.
Problem
A class that shows as full can still be half empty. Before forecasting or overbooking, I wanted to know how large the gap was and which operational variables actually travel with attendance once member composition is considered.
My role
Independent analysis, source reconciliation, statistical design, dashboard and site development, literature review and bilingual writing. Original records belong to their dataset authors.
What I built
A reproducible Python pipeline, a self-contained offline dashboard with hand-written SVG charts and a runtime EN/ES layer, a Kaggle-ready notebook, and a static site on Vercel. The site has a case study and an evidence page written like the discussion section of a paper.
Data or evidence used
Tenure showed the strongest association with attendance (point-biserial r = 0.486, 95% bootstrap 0.452–0.525); booking lead time showed none (r = 0.024). The AM–PM gap fell from 5.4 to 4.0 points under a common tenure mix, with an interval including zero, and the class ranking changed after standardization.
Limitations
No session capacity, timestamps or member identifiers, so occupancy cannot be measured and repeated bookings cannot be modelled. Cancellations and no-shows are mixed. The tenure effect is implausibly large, which suggests a constructed educational dataset. The second dataset is synthetic.
Next validation step
Obtain session-level data with capacity, booking and cancellation timestamps and stable member IDs. Then evaluate calibrated attendance probabilities on future sessions before simulating any capacity rule.
Source data and published analysis
- Gómez López, V. A. (2026). Class Capacity Lab: evidence & discussion. ↗
Discussion of the findings against literature on no-shows, habit formation, attrition, reminders and overbooking, with a research agenda.
- Adam, T. (n.d.). Gym Membership Dataset [Synthetic data set]. Kaggle. ↗
Source of the synthetic member-preference profiles, credited separately from my analysis.