
Member-Journey Measurement Stack for a Premium Fitness Collective
Let's Connect
Overview
What we built
A premium fitness collective only learned a member was unhappy when the cancellation email arrived. We built the measurement stack that spots disengagement weeks earlier, while there is still time to act.
In plain terms: the collective's 18 clubs knew plenty about their members, but the knowledge was scattered. Gym check-ins, class bookings, app sessions and billing each lived in a separate system, so no one could see a member's whole relationship with the clubs. Pulling a retention report meant three days of manual exports, and by the time a win-back offer went out, the member had often been gone for weeks.
We joined those four streams into one picture of every member's journey, then put it to work. Club managers now open dashboards instead of spreadsheets, a churn-risk score flags members who are drifting away, and weekly outreach lists tell each club exactly who to contact and which classes and coaches that member values. Monthly cancellations fell from 4.2% to 3.4% within two quarters, and 63% of eventual cancellations were flagged at least 30 days in advance.
The Problem
Churn invisible until cancellation
Premium membership is a relationship business, and the collective was managing it without a memory. Which classes kept people coming back? Which coaches built loyal followings? Which offers actually changed behaviour? Nobody could answer, because the evidence sat in four disconnected systems: check-ins in one, class bookings in another, app sessions in a third, billing in a fourth.
Reporting could not bridge the gap. Assembling a retention view meant three days of manual exports, stitching spreadsheets by hand, and the result was stale before anyone read it. With 18 clubs each generating their own slice of data, even simple questions about a single member's engagement required someone to go looking in multiple places.
The consequence was that churn arrived as a surprise. The first signal that a member was disengaging was the cancellation email itself, when the decision had already hardened. Win-back offers went out blind, weeks too late, with nothing to say why that member had drifted or what might bring them back.
Four disconnected systems
Check-ins, class bookings, app sessions and billing lived apart, so no single view of a member's engagement existed anywhere in the business.
Three-day reporting
Every retention report cost three days of manual exports and spreadsheet stitching, arriving too stale to guide the week it described.
Churn without warning
The first sign of disengagement was the cancellation email itself, leaving clubs to react after the decision had already been made.
Blind win-backs
Recovery offers went out weeks late with no insight into what each member valued, so they read as generic and landed accordingly.
What it was costing them
Every avoidable cancellation took premium recurring revenue with it, and the collective had no way of knowing which cancellations were avoidable. Managers spent effort on generic win-back offers that arrived after the decision, analysts spent days assembling reports that answered last month's questions, and investments in classes, coaches and offers were made without evidence of what actually kept members.
The Solution
Unified member-journey analytics
We built the measurement stack the collective had been missing, starting at the source. Event tracking now captures member touchpoints across check-ins, class bookings, app usage and billing, and unifies them into one warehouse schema, so a swipe at the front desk and a tap in the app finally land in the same place, described the same way.
On that foundation we modelled per-member engagement histories: a single timeline of how each member's relationship with the clubs is deepening or thinning. Retention dashboards give every club a live view of its own membership, replacing the three days of manual exports with same-day answers. Managers can finally compare classes, coaches and offers on evidence rather than intuition.
The final layer makes the data act. A churn-risk score watches each engagement history and flags members who are disengaging early, feeding weekly outreach lists to club managers. Each list names the members worth a conversation and the classes and coaches that member actually values, so outreach arrives as a personal nudge from a club that knows them, not a generic retention offer.
Key decisions
One schema for every touchpoint
All four sources feed a single analytics event schema, so a check-in, a booking, an app session and a payment describe the member in the same language.
Model members, not systems
Raw events are shaped into per-member engagement histories, putting the member's journey, rather than any source system, at the centre of every question.
Dashboards for every club
Each club gets its own retention view, so accountability for engagement sits with the managers who see the members, not a central team.
Score churn risk early
The churn-risk score is tuned to flag disengagement while there is still time to act, trading a little precision for weeks of warning.
Make outreach specific
Weekly lists pair each at-risk member with the classes and coaches they value, so managers open conversations with relevance instead of discounts.
Measurable Impact
What changed after launch
The stack changed the retention numbers within two quarters: monthly membership cancellations fell from 4.2% to 3.4% once risk-based outreach began. The early-warning layer earned its keep, with 63% of eventual cancellations flagged by the churn-risk score at least 30 days in advance, turning churn from a surprise into a workable pipeline of members to win back before they decide.
The operational change is just as durable. 9 in 10 member touchpoints across the 18 clubs now land in a single analytics event schema, and weekly retention reporting fell from 3 days of manual exports to same-day dashboards. Questions about classes, coaches and offers that once had no answer are now routine queries, and each club manages retention from evidence it can see every morning.
Data landscape
Four disconnected systems with no common member view
9 in 10 touchpoints in one event schema
Churn warning
First signal was the cancellation email itself
63% of cancellations flagged 30 days in advance
Retention reporting
3 days of manual exports per report
Same-day dashboards for every club
Monthly cancellations
4.2% with win-backs arriving weeks late
3.4% within two quarters of risk-based outreach
Headline results
Monthly membership cancellations fell from 4.2% to 3.4% within two quarters of risk-based outreach
63% of eventual cancellations were flagged by the churn-risk score at least 30 days in advance
9 in 10 member touchpoints across 18 clubs now land in a single analytics event schema
Weekly retention reporting cut from 3 days of manual exports to same-day dashboards
Tech & Tools Used
What powered the build
Every tool below earned its place in this engagement. Here is the part each one played.
Segment
Captures member events at the source, from front-desk check-ins to app sessions, and routes them into the warehouse under one consistent tracking plan.
Google BigQuery
The warehouse where all four data streams unify, holding the single event schema and the per-member engagement histories built on top of it.
dbt
Models raw events into governed, tested engagement histories and retention metrics, so every dashboard and score works from the same definitions.
Apache Airflow
Orchestrates the pipelines that refresh engagement histories, retention dashboards and the weekly outreach lists on a dependable schedule.
Python (scikit-learn)
Trains and runs the churn-risk model that reads each member's engagement history and flags early signs of disengagement.
Metabase
Serves the retention dashboards each club opens daily, replacing the manual export routine with self-serve answers about members, classes and coaches.
PostgreSQL
Holds operational state for the stack, including the outreach lists and score outputs that club-facing tools read from.
Next.js
Powers the internal interface where club managers browse their outreach lists and see which classes and coaches each flagged member values.
Braze
Delivers the member-facing side of retention outreach, carrying timely, personalised messages shaped by what the churn-risk score and engagement history say each member values.
Ready to Build your Premium Fitness Clubs Business with Analytics & Performance Tracking
Ask Byte
Ask Byte
Typically replies instantly
just Now
Hi! I'm OrganByte's assistant. How can I help you today?
AI-generated content may be incorrect

