Utilization (demand and occupancy)
How Club Insights measures how full a club is, and how the comparable cohort is built.
Demand rate
The share of bookable court-hours that were booked: booked / (free + booked). Blocked slots (recurring club blocks) are excluded from both numerator and denominator. This is the headline utilization metric.
Occupancy rate
Court-hours in use whether paid or not: (booked + blocked) / (free + booked + blocked). It differs from demand rate in exactly one input, the treatment of blocked, so a recurring league or school block counts as use here but not in demand rate. With no observed blocks the two rates are identical.
How it is aggregated
Both rates are court-hour-equivalent. We sum the minutes in each bucket across the club's courts and the date window first, then divide. Rates are never averaged across slots or courts, so a busy 1-court-hour does not outweigh a quiet 12-court-hour.
Comparable cohort
The comparable cohort is active clubs in the same country with a similar court count and a similar indoor share, without the club itself and without further booking routes of the same club. Each club contributes one value per metric; median and interquartile range are computed across those clubs. A group under 3 clubs with measured data is shown as too small rather than as a misleading band. The search for that group runs in stages and stops at the first stage carrying at least 3 clubs with measured data: within 50 km at a court count of 0.5x to 1.5x and an indoor share within 0.25; then within 50 km at 0.25x to 3x and 0.5; then within 150 km on those same loosened criteria; then within 300 km at 0.1x to 4x and 1; finally the whole market at 0.1x to 10x, capped at the 30 most similar clubs. Every stage stays inside the club's own country. Which stage carries the comparison is stated in the report: the first one without a label, the others marked Widened, Region or Market. The number beside a comparison value counts the clubs that measured that metric, not every club the criteria admit: with 9 clubs admitted and 6 measured it reads 6. When a stage falls below 3 clubs with measured data only because clubs with interrupted observation drop out, the search stops there; we do not widen the radius to compensate.
A club with several booking routes
A club can be bookable through several booking routes, for example when its indoor and its outdoor courts are offered separately or an additional route joins the existing one. We still carry it as one club: one entry in every list, one pin on the map, one member of every comparable cohort. Its court count is the verified count of the courts it physically has rather than the sum of those offers, because the same court can be bookable through two routes. We combine the observed booking situation of the individual routes only when they cannot describe the same court in the same hour; one rate then describes the whole club. Where that cannot be ruled out we publish no demand, utilization or revenue figures for the club and keep it out of other clubs' comparable cohorts, while its courts and its observed bookings still count. Because a club counts once this way, our club count for a location can come out lower than the number of separately bookable offers there. A third case can appear on the club report: the figures then describe the venue's primary booking route only, while the rank and the map compare the venue's whole observed booking activity. The report says where that applies.
Coverage indicator
Each tile shows how much observed data backs the number, banded from the count of slot samples in the window. Thin coverage is shown muted. Coverage reflects how much we have observed, not how many courts exist. The bands: low under 200 slot samples, medium from 200, high from 2,000.
Caveats
Utilization is computed from the latest observed slot state for upcoming dates, not a historical average. We recognise a block by every comparable court at a club being taken at the same time. Where a club has only one court of that kind, that is indistinguishable from a real booking and the block counts as demand, so at very small clubs the demand rate can read too high.
Why the demand figure can read low
Bookings that were not visible by a slot's last observation are not counted. That includes bookings made in the final hours before play, recurring or standing reservations already in place before a date came into view and dates that were already fully taken when we began observing them. Each of these lowers the figure rather than raising it, and the effect is largest at the busiest clubs and busiest times, because that is where those bookings concentrate. Clubs open around the clock also spread the same bookings across more hours, so they read lower than clubs open only in the evening. Bookings far outside the times a club is otherwise bookable are treated as a special case and left out, so genuine bookings at the edges of the day are missing. A newly added club starts out almost entirely free, because the bookings made before it came into view never become visible to us; when several clubs are added at once, that pushes a whole market's figures down for a while too. Read a strong club's demand as the lower end of its real demand, not an exact count. That reading applies to the demand rate for upcoming dates. The daily rate for days that have already passed, shown in the club report, is treated there as a conservative lower bound.
Interrupted observation
The demand rate comes from observing the same slot repeatedly. When too much time passes between two observations, what was booked in between can no longer be established: the affected slots stay recorded as free while the bookable time counts in full. The rate then reads low without the number of observations showing it. For such periods we publish no demand, occupancy or revenue figures and no positions for the affected clubs. Figures that rest directly on observed bookings, realized prices among them, stay visible with a note that they rest on fewer bookings than usual. The exact period is stated at the figure itself. The days right after are affected too, because bookings placed during the interruption are missing from them.
How current the observations are
A rate is only as good as the observations behind it. For every club we therefore measure what share of its court-hours in the window rests on an observation from the last 24 hours. From 90 % up we publish the figures without a note. Below that and down to 50 % we publish them with a note naming the share of times without a current observation; that share is also the width of the uncertainty on the rate. Under 50 % we publish no demand, occupancy or revenue figures and no rank for that club. So that a single missed run cannot switch a club off, the last step applies only once no usable observation has arrived for more than 24 hours either. Realized prices rest directly on observed bookings and stay visible. In figures spanning several clubs an affected club does not count towards the rate; how many do is stated at the number.
This page describes the calculation as currently implemented in the product.
This page as of 23 Aug 2026. Changes to published figures