Loyalty vendors (including us) love saying “retention is cheaper than acquisition.” True, but useless without numbers. Here's the actual worksheet we use for our own stores. Plug in your figures; the point of this post is the method, not our conclusions.
The only three numbers that matter
Supplement retail has a structural advantage most retail doesn't: consumable products with predictable reorder cycles. A tub of protein lasts roughly a month; preworkout, five to seven weeks; daily vitamins, a month. That means your revenue is mostly a function of:
- Active customers — people who bought within their expected reorder window
- Average basket — what a visit is worth
- Purchases per customer per year — the reorder frequency you actually capture
A loyalty program only earns its fee by moving #1 and #3. Anything a vendor shows you that isn't traceable to those two numbers is decoration.
The worksheet
Say a store has 1,000 known customers, a $55 average basket, and captures 5 purchases per customer per year — $275,000 of tracked annual revenue. Now the two levers:
Lever 1: one extra purchase per year from a fraction of members
Suppose the program — points that make the next visit worth something, plus a well-timed reorder text — gets just 20% of those customers to make one additional purchase a year. That's 200 extra purchases × $55 = $11,000/yr. Against the platform fee ($200/mo = $2,400/yr), the program pays for itself more than four times over before you count anything else.
Lever 2: catching lapsing customers
Every store bleeds quietly. If 25% of your actives lapse in a year (miss two reorder cycles), that's 250 customers × $275/yr = ~$69,000 of at-risk revenue. You won't save it all. But a win-back text to someone 30 days after their last tub — while they still remember you — recovers a real slice. Even a 10% save rate is ~$6,900/yr. The mechanics of who to text and when are in our segmentation playbook.
What it costs — honestly
- Software: whatever your platform charges. Ours is $200/mo with 5,000 texts included (what that covers).
- Reward liability: the real hidden cost. If members earn a $10 reward per ~$200 spent, you're funding ~5% of tracked revenue in rewards. Set point costs against your margins deliberately — free shaker cups and mid-margin house products make better rewards than cash-equivalent discounts on top brands.
- Counter time: near zero if check-in is a self-serve kiosk; real if staff type phone numbers at the register.
Vanity numbers to ignore
- Total members. A list of 4,000 with 600 actives is a 600-member program.
- Points issued. Cost, not revenue, until redeemed against a repeat visit.
- Campaign “sends.” Sent ≠ delivered (see: carrier filtering), and delivered ≠ visited. Track redemptions and return visits, not sends.
The 90-day test
Don't evaluate a loyalty program on faith. Baseline your repeat-purchase rate for the trailing 90 days, run the program for 90 days with one win-back campaign and one reorder-cycle campaign, and compare. If tracked repeat purchases didn't move, change the program or the platform. That's the standard we hold our own product to — our stores run on it, and the dashboard leads with points-attributed revenue for exactly this reason.
A full-year example, all costs counted
Putting the levers and costs together for the same 1,000-customer store, using deliberately modest assumptions:
| Line | Annual |
|---|---|
| Lever 1 — 20% of members make one extra purchase | +$11,000 |
| Lever 2 — 10% of lapsing revenue saved | +$6,900 |
| Software ($200/mo platform fee) | −$2,400 |
| Reward liability (~5% of tracked revenue, redeemed) | −$8,000 |
| Net | ≈ +$7,500 |
Notice what carries the result: the win-back lever is nearly pure profit (those texts cost cents), while the always-on earn rate is what funds the reward liability. Which leads to the mistakes that flip this math negative:
- Rewards that discount your best sellers for your best customers. Your Gold-tier regular was buying that protein anyway; giving them 15% off it is margin donation. Anchor rewards on accessories and house brands where a $10 reward costs you $4.
- Earn rates set by vibes. Decide the funded percentage first (3–5% of tracked revenue is a sane band), then derive points-per-dollar from it — not the other way around.
- Counting breakage as savings. Points nobody redeems aren't profit; they're a sign nobody cares. A healthy program wants redemptions — each one is a return visit with a basket around it.
- No baseline. If you didn't measure repeat-purchase rate before launch, every number afterward is a story. Take the baseline this week, before you change anything.
One final honesty check: attribute conservatively. A member who redeemed a reward on a visit they'd have made anyway isn't incremental revenue; a lapsed customer who returned within a week of the win-back text almost certainly is. When in doubt, count only the behavior that followed a program touch — if the program still clears its costs under stingy attribution, you know it's real, and you can defend the line item to yourself in a slow month.