← All projects Fitness operations & business
Research prototype · Live site

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.

30.3% Bookings that ended in attendance
r = 0.49 Membership tenure vs. attendance
14 Peer-reviewed sources in the discussion
PRODUCT CAPABILITIES

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.

DATA AND REPRODUCIBILITY

Source data and published analysis

  1. 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.

  2. Adam, T. (n.d.). Gym Membership Dataset [Synthetic data set]. Kaggle. ↗

    Source of the synthetic member-preference profiles, credited separately from my analysis.

PythonpandaspyarrowJavaScriptSVGVercel