The real math of a loyalty program
5 min read
A loyalty program is a spreadsheet decision dressed up as a marketing decision. Before you sign anything — with us or anyone — you should be able to write the whole calculation on the back of a receipt. This article walks through the exact model behind our ROI calculator, with every assumption in the open, then shows the three places where programs quietly lose money.
The whole model in one line
Strip away the dashboard and a loyalty program earns money exactly one way: extra visits × average ticket − cost of rewards − subscription fee. That's it. Everything else — stamps, points, the card in the phone's wallet — exists to move the first term. If the extra visits aren't real, no feature list saves the math.
A worked example, start to finish
Say you run a dessert café in Montréal. None of the numbers below are measurements from anyone's shop — they're the calculator's default assumptions, and every one of them is a slider you can drag. Start with the business itself: a $12 average ticket, 150 customers a day, open 6 days a week, and your own estimate that about 25% of your customers already come back in a given month.
Now the four program assumptions. Your staff signs up 20% of the people they serve — joining is a counter ask, and the member gets their wallet card through a text link afterwards. The program lifts repeat visits by 15%, which is a deliberately modest default, not a promise. Rewards hand back 8% of the extra revenue. And it takes 6 months of sign-ups to build the member base.
Here's the arithmetic for a settled month, once the base is built:
- 150 customers a day × 6 days × 4.33 weeks = 3,900 customers served a month.
- 3,900 × 20% sign-up rate = 780 new members a month; after 6 months, 4,680 sign-ups.
- Capped at the people you actually have: about 3,900 ÷ 1.25 = 3,120 different customers a month, so 3,120 members. You can only enrol someone once.
- 3,120 members × 25% repeat rate = 780 visits that would happen anyway.
- 780 × 15% lift = 117 extra visits credited to the program.
- 117 × $12 = $1,404 in extra revenue.
- $1,404 × 8% = about $112 handed back as rewards.
- Subtract the Growth plan at $99 a month: $1,404 − $112 − $99 ≈ $1,193 net a month.
We modelled Growth at $99 a month because it's the plan that adds gift cards and the review funnel. Starter at $49 moves the result by exactly $50; Pro at $199 covers up to 3 locations, more on request. The plan fee is real money, but notice it's the smallest line in the calculation — the assumptions above it are what decide everything.
Month one is smaller. The base is 780 members instead of 3,120, so the same arithmetic gives 195 would-be visits, 29 extra, $351 in revenue, minus $28 of rewards and the $99 fee — about $224. The climb between $224 and $1,193 is the part most sales decks skip.
Leak #1: rewards that give back too much
The reward rate is the quiet killer. At the default 8% the arithmetic barely feels it. But say your reward is a free $5 item that regulars redeem against a $12 ticket — on the visits it touches, that's more than 40% handed back. Push the model's reward rate to 25% and the settled month drops from about $1,193 to $954: $1,404 − $351 − $99. Still positive at this volume, but you just gave away $239 a month without getting a single extra visit for it. Generosity should be a decision you make once, in dollars — not a mood at the till. Size the reward so a redeemed visit still leaves margin on the plate.
Leak #2: a list nobody works
The entire model rests on one assumption: the lift. Set it to zero — members join, collect stamps, and come back exactly as often as they always did — and the extra revenue is zero, the rewards are zero, and the net is minus the subscription: −$99 a month, every month. That's what a dead list costs. A list stays alive because you work it: the dashboard's lapsed-regulars lists show you who's slipping away, and a win-back message gives them a reason to come in this week. A program you set up and never touch isn't a program. It's a recurring charge.
Leak #3: nobody asks at the counter
The 20% sign-up rate isn't a law of nature — it's your staff asking, at the till, every single time. Suppose the ask never becomes a habit and only 5% of customers get signed up. After 6 months the base is 1,170 members instead of 3,120. Same arithmetic: 1,170 × 25% × 15% ≈ 44 extra visits, about $527 in revenue, $385 net after rewards and the fee. That's roughly a third of the result, lost to a sentence nobody said. The counter ask is the highest-paid line in the shift.
What this math deliberately leaves out
Four omissions worth knowing before you trust any loyalty math — ours included:
- It's revenue, not profit. The $1,193 doesn't subtract your food, packaging or labour. Your real margin decides how much of it you keep.
- No gift-card breakage. In Québec, gift cards never expire, so there's no forgotten-balance windfall to book. Some vendors count one anyway. We don't.
- The 25% repeat rate is your estimate, not our measurement. Perkaria doesn't report a repeat-visit rate — the dashboard shows visits per member per month, your top customers and lapsed-regulars lists.
- Reviews, campaigns and birthday perks may bring people back too. None of that is in the number.
Run the model twice: once with numbers you believe, once with numbers a pessimist would pick. If both come out ahead, the program is probably worth a try. If neither does, you just saved yourself a subscription — and we'd rather you found that out now.