← All projects The gym as a whole
Research prototype · Live site · Kaggle

OGDT Member Behavior

How members use the gym before they stop. The Observe module of Open Gym Digital Twin describes membership length, renewals, visit frequency, classes and recency for 14,942 users of a sports facility (2014 to 2019) with survival analysis, and tests whether past weekly attendance predicts the next weeks for 1,292 gym members. Open data only.

10.3 mo Median membership length (Kaplan-Meier)
80.1% 14,942 memberships ending in dropout
r = 0.66 This week’s visits vs next week’s
PRODUCT CAPABILITIES

What is implemented today

  • Read membership survival curves with intervals, overall and by group.
  • See why raw dropout shares and survival can tell different stories.
  • Follow week-to-week visit transitions and month-ahead persistence.
  • Rerun the analysis offline on Kaggle and compare totals.

Context

Gyms see payments and renewals long before they see someone leave. How long people stay, and how their visits change on the way out, is the behavior a retention plan has to understand first.

Problem

Raw dropout shares mix old and new members, and many behavior measures are only known at the end of a membership. I needed survival methods that treat active members as censored, an honest line between description and prediction, and a separate test of how persistent weekly habits are.

My role

Source review, survival analysis, persistence metrics, bootstrap design, testing, Kaggle notebook and bilingual site. Original records belong to Pinheiro and Cavique, and to Carrera, Royer, Stehr, Sydnor and Taubinsky.

What I built

A hash-verified pipeline from Mendeley and Zenodo, a hand-written Kaplan-Meier estimator with Greenwood intervals tested against a worked example, person-level bootstrap intervals, a Kaggle notebook that runs offline on two attached input files, and an interactive bilingual site with downloadable aggregate tables.

Data or evidence used

Half of memberships ended by month 10.3; 41.1% were active at 12 months. Users with classes stayed a median 17.8 months against 8.1 without. Frequency barely changed 12-month survival (37.5% to 42.4%) once time was accounted for. Dropouts had gone a median 47 days without a visit, against 5 for active users. Weekly visits were persistent: r = 0.66 week to week, AUC 0.84 for a month ahead.

Limitations

One facility and one gym study. Lisbon measures are taken over or at the end of each membership, so they describe how memberships ended. The earlier monthly contract-transition analysis was dropped because no open dataset records gym contracts month by month.

Next validation step

Test the weekly persistence signal on event-level check-ins with membership start dates, measured before the outcome window, and hand those features to the Retention module under its own target and limits.

DATA AND REPRODUCIBILITY

Source data and published analysis

  1. Pinheiro, P. & Cavique, L. (2020). Sport Services Dataset. Mendeley Data, v1. doi:10.17632/yprk4jdgnv.1. CC BY 4.0. ↗

    Source of the membership records, filtered and summarised for this analysis.

  2. Carrera, M., Royer, H., Stehr, M., Sydnor, J. & Taubinsky, D. Who Chooses Commitment? Evidence and Welfare Implications. Review of Economic Studies. Replication data: Zenodo, doi:10.5281/zenodo.5173081. ↗

    Source of the weekly gym visit counts; the replication package dedicates its data to CC0.

  3. Gómez López, V. A. (2026). OGDT Member Behavior: Membership and Weekly Visits. Kaggle. ↗

    Notebook that runs offline on the two attached input files and reproduces the same numbers.

PythonpandasNumPyMatplotlibJavaScriptSVGKaggleVercel
CONNECTED WORK

Keep exploring

See the full project map →