The math behind variable rewards: how to tune odds without losing money.
A practical walk-through of expected value, win rate, and the reward-pool math for a $4.50-ticket coffee shop.
Variable rewards get talked about in two registers that both mostly miss the point. The first is casino-flavored — slot machines, dopamine, Skinner boxes. The second is marketing-flavored — “engagement,” “gamification,” charts with upward arrows. Neither actually tells a shop owner what to do.
So here is the shop-owner version: concrete expected-value math, the reasons we default to a 60% win rate, and an honest look at when variable rewards beat a flat 10% off and when they don't.
Why variable at all
A variable-ratio reward schedule — the one Skinner popularized in the 1950s — produces more persistent engagement than a fixed one, given four conditions: the action is low-cost, the reward is meaningful, the schedule feels random, and the subject can't easily opt out of the rewarded action. Most of these hold at a coffee shop. The schedule feels random because it's cryptographically random. The action is low-cost because the customer was already buying a coffee.
The mechanism we care about isn't compulsion. It's mild anticipation. A regular who knows a coffee run has a small chance of unlocking a free pastry starts to look forward to the coffee run a little more than they otherwise would. Over a year, that small increase in enthusiasm shows up in visit frequency.
The expected-value worked example
Take a coffee shop with an average ticket of $4.50 and a gross margin of about 70%. Standard industry.
A flat 10% off coupon used on every visit costs the shop roughly $0.45 per visit — that's 10% of $4.50, redeemed every time.
Here's a reward pool we designed to hit the same expected cost of $0.45 per visit:
| Reward | Merchant cost | Probability | Expected cost |
|---|---|---|---|
| Free drink | $1.50 | 2% | $0.030 |
| Free pastry | $1.00 | 3% | $0.030 |
| Oat milk upgrade | $0.20 | 10% | $0.020 |
| Drink size upgrade | $0.25 | 8% | $0.020 |
| 10% off next drink | $0.45 | 15% | $0.068 |
| 2× points | ~$0.10 (future) | 22% | $0.022 |
| Try again | $0.00 | 40% | $0.000 |
| Totals | 100% | ~$0.19 |
At this reward pool, per-visit cost is closer to $0.19 than $0.45, and the win rate is 60% — meaning the customer feels like they usually walk away with something. The remaining budget buys you the one thing flat discounts can't: the emotional win when a regular hits the 2% free-drink slot and tells the barista.
Why 60% is the default win rate
Below 50% win rates, customers feel stingy-ed. They don't churn on the math — they churn on the feel. Above 70%, rewards lose their story value because winning isn't notable. The free-to-play mobile game industry landed on the 50-to-70% band two decades ago by watching retention cohorts; we default to 60% because it's roughly the middle of that band and leaves room to tune per shop.
One more thing: a first-few-plays guarantee. A customer who plays three times and loses three times will stop opening the pass. Sticki guarantees a win by the second play. It's a small economic cost and a massive psychological one.
When variable loses to flat
Three scenarios where a flat 10% off is actually the right answer:
- You have a commoditized ticket and near-100% customer-return expectation (a coffee shop in an office building with a lobby card access system). Nobody needs a game to keep coming back.
- Your staff hates the word “game.” Some shops have stylistic incompatibility. Variable rewards shouldn't be forced.
- You can't tolerate a single $5 free-drink loss in a given month because margins are on the knife-edge. Flat 10% off is predictable; variable rewards are bounded but probabilistic.
In those three cases, Sticki ships a classic punch card. We don't force a game. The same $89/month plan gets you all ten templates; use whichever one fits your shop.
What this means for you
If you're reading this as a shop owner: you don't need to do the math above. Sticki's dashboard asks you what percent of margin you want to spend on rewards, and we build the probability pool to match. The math is the product.
If you're reading this as a VC, investor, or fellow founder: this is the shape of what we think good loyalty infrastructure looks like. Honest inputs from the operator, honest math from the engine, honest output from the dashboard.
Pilot-program metrics post once we've been running long enough to report them credibly. Next post covers the staff- compliance problem that killed Fivestars and how we designed around it.