What This Screen Does
This screen shows you how many memberships have been paused (put “on hold”) over time. Think of it like a chart that tracks how many people pressed the “pause” button on their gym membership each month. It uses a candlestick chart — the kind you might see for stock prices — to display the high and low number of on-hold memberships for each month, along with reference lines for the median and average values.
How to Get There
Open the dashboard.
In the left-hand menu, click Insights.
Navigate to the On Hold Memberships report.
You are now on the On Hold Memberships screen.
Step-by-Step Guide
1. Select a Gym / Location
The chart always shows data for the gym you currently have selected in the dashboard’s global gym selector (usually in the top navigation bar).
To view a different location, change the selected gym in the global selector. The chart will reload automatically.
2. Set the Date Range
Use the From Date and To Date filters to define the time period you want to analyse.
The chart will show one candlestick per month within your chosen range.
Pick a wider range (e.g. 12 months) to spot long-term trends, or a shorter range to zoom in on recent activity.
Filter | Required | What to Enter |
From Date | Yes | The start of the period you want to review. Pick a date from the date picker. |
To Date | Yes | The end of the period. Must be after the From Date. |
3. Filter by Membership Type (optional)
Use the Membership Type filter to narrow the chart to specific membership types.
If you leave this blank, all eligible types are included.
Note: Only contingent, campaign, and personal training memberships are included. Guest and staff memberships are always excluded.
Filter | Required | What to Enter |
Membership Types | No | Select one or more membership types from the dropdown. Leave empty to include all eligible types. |
4. Set a Minimum Membership Length (optional)
Use the Minimum Length of Membership in Days filter to exclude short-lived memberships.
For example, entering
30will only count memberships that have existed for at least 30 days.This is useful for filtering out trial memberships or accidental sign-ups.
Filter | Required | What to Enter |
Minimum Length of Membership (Days) | No | A number representing the minimum number of days a membership must have existed to be included. |
5. Read the Chart
Each candlestick represents one month.
The x-axis shows the month and year (e.g. “Jan 2025”).
The y-axis shows the number of on-hold memberships.
Each candlestick displays four values for that month:
Open — the number of on-hold memberships at the start of the month.
Close — the number at the end of the month.
High — the peak number during the month.
Low — the lowest number during the month.
Two horizontal reference lines are drawn across the chart:
A blue line showing the Median across all months.
An orange line showing the Average across all months.
These lines only appear when there is data to display (at least one month with on-hold memberships greater than zero).
6. Hover for Details
Hover over any candlestick to see the exact open, high, low, and close values for that month.
This is helpful when the chart is dense and values are hard to read visually.
What Happens Behind the Scenes
You set filters (date range, membership types, minimum length)
|
v
The system checks which gym is currently selected
|
v
API call: getOnHoldMemberships({ fromDate, toDate, membershipTypeIds, minimumLengthOfMembershipInDays })
|
v
Server calculates on-hold counts per month (open, high, low, close)
|
v
Server also calculates overall median and average values
|
v
Chart renders candlesticks for each month
|
v
Median (blue) and Average (orange) reference lines are drawn
|
v
You see the completed chart with all data
Troubleshooting
“The chart is empty — I do not see any candlesticks”
Make sure the date range covers a period where memberships were actually on hold.
Check that you have the correct gym selected in the global selector. A different location may not have any on-hold memberships.
If you applied a Membership Type filter, try removing it to see if data appears for other types.
If you set a Minimum Length of Membership, try lowering or removing it — it may be filtering out all results.
“I do not see the median or average lines on the chart”
These lines only appear when there is at least one month with on-hold memberships greater than zero.
If all values are zero, the lines will not be drawn. Widen your date range or check your filters.
“The chart shows a loading spinner that never goes away”
This usually means the API call is taking a long time or has failed silently.
Try refreshing the page.
Check your internet connection.
If you selected a very large date range, try narrowing it down — a smaller range means less data to process.
“I expected to see guest or staff memberships, but they are missing”
By design, this chart only includes contingent, campaign, and personal training membership types.
Guest and staff memberships are not included in this report. This is noted in the info tooltip next to the card title.
There is no way to override this — it is built into the report logic.
“The month labels on the x-axis are hard to read”
The labels are displayed at an angle to fit more months on screen.
Try narrowing the date range so fewer months are shown, making each label easier to read.
You can also try making your browser window wider to give the chart more horizontal space.
“The numbers on the chart do not match what I expect”
Remember that each candlestick shows four values: open, high, low, and close. Hover over a candlestick to see the exact numbers.
Double-check your filters — a membership type or minimum length filter may be excluding memberships you expected to see.
Verify you are looking at the correct gym. The global gym selector determines which location’s data is shown.
“I changed the gym but the chart did not update”
The chart should reload automatically when you change the selected gym.
If it does not, try refreshing the page.
Make sure the new gym has on-hold membership data for the selected date range.
“I see an error message when the page loads”
A red error notification usually means the server could not process your request.
Try refreshing the page.
If the error persists, check with your administrator — the insights API may be temporarily unavailable.
