Skip to main content

Member Lifetime Value

This screen shows you how much revenue a single member is worth over the entire time they stay with your gym. Think of it like calculating how much a loyal customer spends at a coffee shop from the day they start visiting until the day they stop. ...

Written by Ronny Christensen
Updated over 3 weeks ago

What This Screen Does

This screen shows you how much revenue a single member is worth over the entire time they stay with your gym. Think of it like calculating how much a loyal customer spends at a coffee shop from the day they start visiting until the day they stop. The chart displays this value month by month, with helpful reference lines for the median and average, so you can spot trends and understand whether your member value is growing or shrinking over time.


How to Get There

  1. Open the dashboard.

  2. In the left-hand menu, click Insights.

  3. Navigate to the Member Lifetime Value section.

  4. You are now on the Member Lifetime Value screen.


Step-by-Step Guide

1. Select a Date Range

  • Use the From Date and To Date filters to define the time period you want to analyse.

  • The chart will only show data for months that fall within this range.

  • Pick a wider range (e.g. 12–24 months) to see meaningful trends over time.

2. Filter by Membership Type (optional)

  • Use the Membership Type filter to narrow the report to specific membership types.

  • If you leave this empty, all eligible membership types are included.

  • Only contingent, campaign, and personal training memberships are included in the calculation. Guest and staff memberships are always excluded.

Filter

Required

What to Enter

From Date

Yes

The start date for the reporting period.

To Date

Yes

The end date for the reporting period.

Membership Types

No

One or more membership types to focus on. Leave empty to include all eligible types.

Minimum Length of Membership (days)

No

Only include members whose membership lasted at least this many days. Useful for filtering out very short-term sign-ups.

3. Read the Chart

  • The chart is an area chart that plots member lifetime value on the vertical axis (in your gym’s default currency) against months on the horizontal axis.

  • Each data series represents a different breakdown (e.g. paid memberships vs. total membership count).

  • Blue horizontal line — the Median lifetime value. Half of your members are above this line and half are below.

  • Orange horizontal line — the Average lifetime value. This is the mean across all members.

  • Hover over any point on the chart to see the exact value for that month.

4. Interpret the Data

  • If the line trends upward, members are becoming more valuable over time — your retention or pricing strategy is working.

  • If the line trends downward, members may be churning faster or spending less.

  • Compare the median and average lines. If the average is much higher than the median, a small number of high-value members are pulling the average up.

5. Switch Gyms (optional)

  • The chart automatically uses the gym you have selected in the global gym selector at the top of the dashboard.

  • To see data for a different location, change the selected gym. The chart will reload with the new location’s data.


What Happens Behind the Scenes

You set filters (date range, membership types, minimum length)
        |
        v
System checks that a gym is selected
        |
        v
API call: getPotentialMemberLifetimeValue({
  fromDate, toDate, membershipTypeIds,
  minimumLengthOfMembershipInDays
})
        |
        v
Server calculates average price of all active memberships per month
        |
        v
Server multiplies by average membership length at each month
        |
        v
Server divides by average number of memberships per member
        |
        v
Server returns monthly series data, plus median and average values
        |
        v
Chart renders the area graph with median (blue) and average (orange) lines


How the Calculation Works

The lifetime value for each month is calculated in three steps:

  1. Average membership price — The system takes the average price of all active memberships in that month.

  2. Multiply by average membership length — That average price is multiplied by the average length (in months) that members have stayed active up to that point.

  3. Divide by memberships per member — The result is divided by the average number of memberships a single member holds, so the value reflects one member rather than one membership.

Only contingent, campaign, and personal training membership types are included. Guest and staff memberships are excluded.


Troubleshooting

“The chart is empty — I do not see any data”

  • Make sure you have selected a gym in the global gym selector at the top of the dashboard. The chart cannot load without one.

  • Check that your date range covers a period where your gym actually had active memberships.

  • If you filtered by specific membership types, try removing the filter to see if data appears for other types.

“The numbers seem too high or too low”

  • Remember, this is lifetime value — it is not a monthly figure. It represents the total expected revenue from one member over their entire membership.

  • Check whether the Minimum Length of Membership filter is set. A very high minimum will exclude short-term members and skew the value upward. A very low minimum (or none) includes everyone.

  • If only a few members match your filters, a single high- or low-value member can heavily influence the result.

“I only see one data series — I expected more”

  • The number of series depends on the data your gym has. If all your members fall into one category, only one line will appear.

  • Try widening your date range or removing membership type filters to see if additional series appear.

“The median and average lines are not showing”

  • These lines only appear when there is actual data (at least one data point greater than zero) in the chart.

  • If the chart is empty or all values are zero, the annotation lines will be hidden.

  • Adjust your filters to include a period with active memberships.

“The chart takes a long time to load”

  • Large date ranges with many membership types require more data to process.

  • Try narrowing the date range or filtering to fewer membership types.

  • Check your internet connection — a slow or unstable connection can cause delays.

“The currency shown is wrong”

  • The chart uses your chain’s default currency setting.

  • If it looks incorrect, ask your administrator to check the currency configuration under chain settings.

“I changed the gym but the chart still shows old data”

  • The chart reloads automatically when you change the selected gym. Wait a moment for the loading spinner to finish.

  • If the data does not update, try refreshing the page.

  • Make sure the new gym has membership data for the selected date range.

“I want to export this data but there is no download button”

  • The Member Lifetime Value chart is currently a view-only report.

  • To export the data, check if your system has a general reporting or export feature, or contact your administrator for assistance.

Did this answer your question?