← All notesStudio data

Six tabs.Six different answers.

Ask a studio owner how many members they have and watch what happens. There's a pause. Then: "well, it depends which report you look at."

That pause is not incompetence — it's the honest answer. The booking platform says 312. The spreadsheet from Sunday says 298. The accountant's number is different again, and the number the owner says out loud is usually the one they trust for reasons they'd struggle to write down. Nobody is wrong. The tools are answering different questions, and nobody told them they were supposed to agree.

Here's what's actually going on underneath, because once you can name the four causes, the disagreements stop feeling like a mystery and start feeling like a decision you haven't made yet.

Active members · same studio, same day
The booking platform says312
Sunday's spreadsheet says298
The accountant says291
One set of definitions · applied everywhereone answer
recreation · the disagreement is definitional, not arithmetic

Cause 1: "Member" isn't one thing

The word does more work than any other in a studio, and every system defines it differently. A running list of the edge cases sitting inside your member count right now:

  • Comped memberships — real people, real capacity, zero revenue. Booking counts them; the books never see them.
  • Staff and instructor accounts — usually invisible to the owner and quietly inflating attendance and membership alike.
  • Paid-in-full members — a year of revenue collected in one month. Are they a member every month after? (Yes.) Are they MRR? (No.)
  • Class packs and drop-ins — customers, not members, but they fill seats and show up in attendance like everyone else.
  • Freezes and suspensions — not revenue, not quite churn, and the single most common cause of a membership number that drifts.

None of these has a correct answer. All of them need an answer, written down once, applied everywhere. A studio that decides "packs are customers, not members; paid-in-full counts as a member but never as MRR; a freeze over 60 days counts as churn" now has a number it can defend — and more importantly, a number that means the same thing in January as it did in June.

3 datesEvery transaction in a studio has at least three: when it was booked, when the class happened, and when the money moved. Two reports that pick different ones will never agree, and neither is lying.

Cause 2: Dates mean different things to different tools

A member buys a ten-class pack on March 30th, takes their first class on April 2nd, and their card is charged on the 1st. Which month was that sale? Your booking platform, your P&L, and your attendance report can each give a different, defensible answer.

It compounds in ordinary ways. Refunds usually land on the day they're issued, not the day of the original sale — so a clean month quietly restates itself two weeks later. Late-night classes fall on the wrong side of a timezone boundary. Auto-pays that retry across a month boundary get counted twice or not at all. None of this is exotic; it's just invisible until two reports sit side by side.

Cause 3: Location attribution is undefined

The moment you open a second location, a new question appears that nobody asks out loud: where does a member belong? Most systems tie a member to a home location while visits happen wherever they show up. A member who signed up downtown but takes most classes at the new site can be counted downtown, at the new site, at both, or at neither, depending on which report you pulled.

The tell is simple. Add up your locations and compare to the company total. If they don't reconcile, the gap isn't an error — it's the size of the population your attribution rule doesn't cover. Rates make it worse: you cannot average two locations' retention rates to get the company rate, because the locations have different denominators. Rates must be recomputed from the underlying members, never averaged.

Cause 4: Nobody owns the definitions

The first three causes are technical and fixable. This one is the reason they persist. In most studios the definitions live in one person's head — usually the owner's — and they get re-derived from scratch every time someone builds a report. Which means the report is only as consistent as the mood of whoever built it, and it means the owner is the bottleneck for every question about their own business.

You don't have a reporting problem. You have an undefined-definitions problem wearing a reporting problem's clothes.

How do you actually fix it?

Write the definitions down, then compute every number from one place using them. That's the whole answer, and the first half is free — an afternoon and a document nobody enjoys writing:

  • What counts as a member? (comps, staff, paid-in-full, packs, freezes — one line each)
  • Which date does a sale belong to?
  • How long does a lead have to convert before it stops counting?
  • When does a freeze become churn?
  • Which location owns a member who moves between sites?

The second half is where studios stall, because computing everything from one place means either living in one vendor's ecosystem — and no single vendor covers booking, ads, website analytics, reviews, and the books — or maintaining the join yourself, forever, on Sunday nights.

That's the gap Xyzios exists to close: it connects the systems you already run and computes every board from one set of definitions — your definitions. You decide whether paid-in-full counts as a member, whether a freeze is churn, how long a lead has to convert; every number on every board follows those rules, so the dashboard you read is one you can defend in front of your accountant, your manager, and yourself. The join itself — what connects, what gets computed, and when — is walked through on how it works.

The fastest way to find out how many of these are live in your studio right now is the two-minute studio check — five questions, no connecting anything.

Straight answers

Common questions.

Why does my booking platform show a different member count than my accounting?

Almost always because they are counting different things. Your booking platform counts people with an active agreement — typically including comped memberships, staff accounts, and members on freeze. Your accounting sees money, so a comp is invisible and a freeze disappears until it resumes. Neither is wrong; they answer different questions. The fix is deciding which question you are asking before you compare the two.

What is a single source of truth for a fitness studio?

One place where every number is computed from the same underlying data using one agreed set of definitions, so that "members," "revenue," and "churn" mean the same thing on every report and every location. It does not mean using one vendor for everything — it means one layer where the definitions live, sitting on top of whatever tools you already run.

Should paid-in-full memberships count as members?

That is your call, and the only wrong answer is answering it differently in different reports. A paid-in-full member is a real member using real capacity, but they contribute no recurring revenue this month. Most operators count them in membership totals and exclude them from MRR — what matters is writing the rule down once and applying it everywhere.

Why do my two locations report numbers that do not add up to the company total?

Usually attribution. Members are typically tied to a home location while visits happen wherever they show up, so a member who books across two sites can be counted at one, both, or neither depending on which report you run. Any location number that does not reconcile to the company total is telling you the attribution rule is undefined, not that someone made an arithmetic mistake.

Try it on your own numbers

Every board in this piece is a screen in the product.

Shown here on demo data. Connect Mindbody and it fills with yours. The first month is $99: the whole OS, every board, hands-on onboarding.

No card today · billing starts when you're connected and say go

Every number, one screen. The studio grows.

Studio notes

A sharper studio,
one email at a time.

Occasional notes on running a tighter studio — leaks, saves, and what the numbers say. No spam, no drip campaign, unsubscribe any time.

Written by the people who build Xyzios — not a content farm. Read the latest notes →