Seshman

How to Price Prepaid Session Packages as a Personal Trainer

A practical pricing framework for solo personal trainers selling prepaid session packs — set your hourly floor, size your discount, plug the revenue leaks

You’ve just sold someone a 10-session pack. Did you charge enough? If the answer is “I think so”, you’ve got a pricing problem — and you’re not alone.

Most solo trainers price their packs the same way they priced their single session: pick a number that feels right, multiply by ten, knock off a tenner because it feels generous. That’s not pricing. That’s hoping.

Here’s a framework that gets you out of guessing and into numbers that actually pay the bills.

Start with your hourly revenue floor

Before you think about discounts or pack sizes, work out what one session has to earn just to keep the lights on. The honest answer is rarely “my single-session price.”

Add up:

  • Direct costs per session — gym hire, equipment hire, mileage, parking.
  • Unbillable time — travel between clients, admin, marketing, the half-hour you spent on the phone with someone who never booked.
  • Tax and pension — if you’re full-time and self-employed, set aside 25–30% of what you keep.
  • Income target — what you actually want to pay yourself per month, divided by the number of sessions you can realistically deliver.

Stack those up and you’ve got your floor. If your single-session price is below this number, packs aren’t going to fix it — your whole pricing is wrong.

Decide what a pack discount really costs

The whole point of a pack is that the client commits and pays upfront, and they get something for the commitment. Usually that something is a discount. The question is: how much?

A 10% discount on a 10-pack sounds small until you do the maths. If your single rate is £50 and you offer £450 for 10 — that’s £45 a session. Over a year of 8 active clients each going through two packs, that’s £800 you’ve given back in exchange for the prepay.

That can be worth it. Cash up front means no chasing payments, no gaps when someone “forgets” their card. But it has to be a deliberate trade, not a default. Decide what the prepay is actually buying you — predictable revenue, a sticky client, a no-show buffer — and make sure the discount is sized for that, not just because the round number looked nice.

A common pattern that holds up: pay-as-you-go full price, 5-pack 5% off, 10-pack 10% off, 20-pack 15% off. The discount scales with commitment, but never to the point where the pack rate undercuts your floor.

Match pack size to client behaviour

Pack size isn’t just a discount mechanism — it’s a commitment device, and it has to fit the client.

  • 5 sessions — good entry point for someone who’s testing the relationship. Low risk for them, low cash for you, but it gets them out of pay-as-you-go.
  • 10 sessions — the default. Roughly six to eight weeks of training for someone going twice a week. Long enough for habit, short enough that they can see the end.
  • 20 sessions — for committed clients on a longer arc. Bigger cash-flow win, bigger risk if the relationship breaks down.

Don’t offer all three to everyone. Start a new client on 5, move them to 10 once they’re sticking, only go to 20 if they ask. Packs that don’t match the client’s actual training rhythm sit half-burned for months and turn into a problem.

Set an expiry that respects both sides

A pack without an expiry isn’t a pack — it’s an open tab. Six months later a client resurfaces wanting to use their five remaining sessions at a price you’ve since raised, and you’ve got an awkward conversation.

Expiry rules of thumb:

  • 5-pack: 8 weeks.
  • 10-pack: 16 weeks.
  • 20-pack: 6 months.

Build in a one-time, no-questions extension for illness, holiday, or work crunches. People will respect the policy more if there’s a release valve.

Make the count visible

Whatever price you land on, the model only works if the client believes the count is right. Most disputes about pricing don’t start with the price — they start with “I had three sessions left, not two.” A spreadsheet you maintain and they can’t see isn’t going to settle that.

Build the visibility in from day one: a shared running total, ideally one they can check themselves. It removes the awkward conversation before it happens.

That’s where Seshman comes in — both sides see the same pack balance, every completed session drops the count, and pricing stops being the thing you get pulled back into every Friday. Join the waitlist and we’ll let you know when it’s open.