Blog

Class packs vs memberships: the revenue math nobody shows you

A pack is cash today and an obligation for an unknown number of tomorrows. A membership is predictable revenue with a churn rate attached. Most studios need both — but only if the pack mechanics are set up so the liability can't quietly grow behind your back.

Ask an owner whether packs or memberships are better and you'll get a preference. Ask them what their outstanding pack liability is this morning and most can't tell you — which is the actual problem, because that number is the difference between "we had a good month" and "we sold next quarter's revenue at a discount."

Both models are fine. They're just different businesses, and they fail in different ways.

Two different businesses in one studio

A class pack is cash up front against future delivery. Someone pays $180 for 10 classes. You have $180 today. You also owe ten classes at an unknown time, possibly spread over a year, possibly never claimed, possibly all claimed in the six weeks when your 6pm is already full. That tail is what makes packs feel great in month one and confusing in month eight.

A membership is predictable revenue against a churn rate. Someone pays $120/month. You can forecast it, staff against it, and borrow against it. You will also lose a percentage of them every month whether or not you do anything wrong, and the number you actually run the business on is not "members" but "members × price × (1 − monthly churn), compounded."

The honest summary of the trade:

Class packsMemberships
Cash timingAll up frontSpread, monthly
ForecastabilityPoor — usage is the variableGood — churn is the variable
What's on your booksA liability until redeemedRevenue as it's earned
Capacity riskRedemption can bunchAttendance is roughly steady
Who it suitsIrregular attenders, gift buyers, first-timersHabitual 2–4×/week attenders
Main failure modeLiability you can't quantifyChurn you don't notice until it's structural

Which is why most studios end up selling both: packs as the on-ramp and the gift, memberships as the destination. The mistake isn't offering both. The mistake is pricing the pack so close to the membership that nobody converts — if a 10-pack at $180 is 18 a class and your unlimited month is $120, a twice-a-week regular is paying $144 a month on packs for a worse relationship with you. Put daylight between them deliberately, in the direction you want people to walk.

The liability arithmetic, shown

Here's the number you should be able to produce at any moment, with no spreadsheet archaeology:

Outstanding liability = Σ (remaining credits × unit price) + gift balances.

Unit price means what the member actually paid per class, not your drop-in rate. A 10-pack bought for $180 has a unit price of $18; if she has six left, you owe $108, not $6 × your $25 drop-in. Getting this wrong in the flattering direction is common and it makes your books look worse than they are; getting it wrong in the other direction hides a real obligation.

Worked example. A studio with 140 pack holders, deliberately simple bands:

BandHoldersAvg. credits leftUnit priceLiability
5-pack ($100)602.1$20$2,520
10-pack ($180)554.4$18$4,356
20-pack ($320)259.0$16$3,600
Gift balances$1,150
Total outstanding$11,626

Substitute your own bands. The point is the shape: $11,626 of classes already paid for. If your average class costs you $45 in instructor pay and overhead and seats 20, that's roughly 650 pre-sold seats — about 33 classes' worth of teaching you've already been paid for. That's not a crisis. It's a number you need in view when you're deciding whether to run a pack promotion, because a big pack sale in March is partly a loan against your April and May capacity.

Bar chart of outstanding pack liability decaying over eight months as credits are redeemed, with a tail that never reaches zero when packs do not expire Outstanding liability from one month's pack sales M1 M2 M3 M4 M5 M6 M7 M8+ the tail that never closes no expiry = these bars stay on your books forever $
Redemption decays fast and then stops. The blue bars are healthy usage; the red tail is credits nobody will ever claim — and with no expiry date, that tail is a permanent line on your books and a permanent argument waiting to happen at your front desk. Illustrative shape, not a benchmark: run it on your own redemption data.

Note what the chart is not saying. Unredeemed credits are not free money. They are either (a) an obligation you'll eventually honour, or (b) a customer who paid you and got nothing, which is how you get a bad review and a chargeback eighteen months later. Expiry isn't a trick to capture breakage; it's what gives the obligation a known end date so both sides know where they stand.

Five mechanics that leak money

These are the ones that bite in practice. Every one of them is a rule your software either enforces or doesn't — and if it doesn't, your front desk enforces it inconsistently by hand.

1. Packs that never expire. A pack with no expiry is an indefinite liability. You can't age it, you can't close it out, and you can never produce a defensible outstanding-liability number because the denominator has no bottom. Give every pack a term — 3, 6, 12 months, whatever suits your bands — say it clearly at the point of sale, and let the system expire them on schedule rather than a staff member deciding case by case. (Discretionary extensions are fine and good; undocumented discretion is what costs you.)

2. Waitlisted members charged at join instead of at promotion. If a member joins the waitlist for a full 6pm and you burn a credit right then, you now own two problems: refunding people who never got a seat, and a credit balance that doesn't mean what it says. The correct mechanic is that the waitlist costs nothing, and payment happens at promotion — the moment a seat opens and she's confirmed into it. One rule, and a whole category of front-desk apology disappears.

3. Credits that can go negative. This sounds impossible until you have two staff members checking the same person in on two devices, or a cancellation that refunds a credit that was already spent. Then someone has −1 classes and nobody can explain it. A credit ledger must refuse to go below zero as a hard rule at the point of writing, not as a nightly cleanup script.

4. Refunds bigger than what was granted. The other side of the same coin: if a member bought a 10-pack, used three, and you refund "the pack," what exactly are you refunding? The cap has to be what was actually granted and not yet consumed. Without that cap, a well-meaning manager, a duplicate request and a partially used pack can hand out more than came in.

5. Liability you can only compute at month end. If producing the number takes an export and an afternoon, you'll do it quarterly, which means you'll make pricing decisions without it. It should be a figure on a screen: Σ (remaining × unit) + gift balances, right now. Those four invariants — credits never negative, refunds capped at granted, waitlist pays at promotion, liability computable on demand — are the ones we treat as non-negotiable in our own studio product, because every one of them is a category of dispute you can design out instead of arguing about.

If you'd like to see your own bands and redemption history turned into a live liability number, book a demo and we'll build the table on the call.

Paid-in-full terms vs recurring plans

Memberships come in two shapes and they behave differently on your books.

Recurring plans bill on an interval until cancelled. Revenue is earned as it's billed, churn shows up promptly, and a failed card is a thing you find out about within days. This is the default and it should be.

Paid-in-full (PIF) terms are a single payment for a fixed term — six months, a year — usually at a discount. Cash up front, no dunning, no monthly churn decision. The critical mechanic: a PIF term has to actually expire. A 12-month PIF that quietly runs forever because nothing in the system ends it is an unlimited membership you sold once. The term needs an end date the system enforces, a renewal reminder before it lands, and a status change on the day it lapses — otherwise you find out when a member who paid in 2024 swipes in and you have no idea what she's entitled to.

The economics differ too. A $1,200 annual PIF against a $120/month recurring plan is a $240 discount bought with 11 months of cash-flow certainty and zero churn risk on that member. Whether that's a good trade depends on what you'd do with the cash. If it funds a second studio or a year of instructor stability, it's excellent. If it funds nothing in particular, you gave away $240.

Signup fees are the third piece and the simplest: a one-time line on the first charge, not a padded first month. Keep it as its own line item so you can see it separately in reporting, judge whether it's suppressing conversions, and remove it for a promotion without touching the plan price.

Choosing a mix

A defensible default for an independent studio: packs as the trial and gift instrument with a real expiry, one or two recurring memberships as the destination, an annual PIF for the small group who want the discount and will genuinely use it, and a signup fee only if you can say out loud what it's for.

Then watch two numbers monthly: outstanding pack liability (is it growing faster than redemption?) and pack-to-membership conversion (are on-ramp buyers walking up the ramp?). If liability is climbing and conversion is flat, your packs aren't an on-ramp — they're your product, and you should price them like a product rather than hoping people upgrade.

For the gym version of this, where memberships dominate and packs are the day-pass and PT edge cases, the gym solution page covers the same mechanics with signup fees and PIF terms in the foreground. If you're comparing systems on exactly these mechanics, our side-by-side against Zen Planner is written around them, and pricing is published — $200/mo platform, $500 one-time setup, no contracts — so you can put our line into your own arithmetic rather than waiting for a quote.

Next step

See your outstanding pack liability as a live number.

Twenty minutes: your pack bands, the liability arithmetic on screen, and the four invariants that keep credits, refunds and waitlists from arguing with each other.

$200/mo platform · 5,000 texts included · no contracts