Your threshold is an output, not a preference
Two numbers set your stamp count: your gross margin, and the share of gross profit you're willing to hand back. Everything else is decoration — how many circles fit on a card, what the shop next door prints, what sounds generous out loud. Work the two numbers and a threshold falls out. For most shops it lands between 5 and 10; for a few it lands at 3, and for a few the honest answer is that a stamp card is the wrong tool.
The common mistake is arguing about the reward's price tag. The price tag isn't what leaves your bank account. A free 18 SAR drink at a 70% gross margin costs you 5.40 SAR in coffee, milk, and a cup. Treat it as an 18 SAR loss and you'll build a card so long that nobody finishes it.
What follows is the formula, three worked shops at 18, 50, and 120 SAR average tickets, and why "buy 10, get 1 free" is wrong for most of them. It fails in both directions, which is the part owners rarely expect.
The formula, with its assumptions on the table
You need four inputs. T is your average ticket. m is your gross margin as a decimal, so 70% becomes 0.70. R is the retail value of the reward you plan to give away. And g is the share of gross profit you're willing to hand back — decide this before you start and write it down.
Then: N = R × (1 − m) ÷ (g × m × T). Round up. The top of the fraction is what the reward actually costs you. The bottom is the gross profit one paid visit produces, multiplied by your allowance. Between 5% and 10% works for most shops; under 3% the card is invisible, and over 15% you're running a discount business with extra steps.
Two assumptions, stated plainly. First, this treats every reward as going to someone who'd have bought anyway, which is the worst case for you. Real programs do better, because some rewards land on visits that wouldn't have happened. Plan for the worst case and let the upside be upside.
Second, it assumes the reward carries roughly the same margin as your average ticket. If the reward is your thinnest-margin item, use that item's own margin instead. Better still, don't make that item the reward.
Three shops, three different answers
Start with a specialty cafe. Average ticket 18 SAR, gross margin 70%, reward a free drink worth 18 SAR, allowance 8%. That gives N = 18 × 0.30 ÷ (0.08 × 0.70 × 18) = 5.36, so 6 stamps. Over one full card the customer spends 108 SAR, you earn 75.60 SAR of gross profit, and you give back 5.40 SAR. That's 7.1% of gross profit, and the customer sees about 17% of their spending come back.
Now a barbershop where the barber takes 40% of every ticket. The ticket is 50 SAR, so your gross margin on that service is 60%. A free 50 SAR cut gives N = 20 ÷ 2.40 = 8.33, so 9 visits. The cost is fine at 7.4% of gross profit. The problem is the clock: at one cut a month that's a nine-month card.
So change the reward, not the threshold. Make it a 25 SAR beard trim and N drops to 4.17, so 5 visits. The giveaway is 6.7% of gross profit, the customer still gets 10% of their spending back, and the card finishes inside five months. Same allowance, and a card people actually complete.
Third, a casual restaurant with a 120 SAR average ticket, a 65% margin, and a 30 SAR dessert as the reward. The formula returns 1.68, so 2 visits. Two visits is a coupon, not a loyalty card, which tells you margin isn't what limits this shop. Set it to 5 instead: the giveaway is 2.7% of gross profit and the customer still gets 5% back on 600 SAR of spending.
A ceiling and a floor, and which one limits you
Every workable threshold sits between two limits. The ceiling is margin: the reward mustn't eat more than your chosen slice of gross profit. The floor is perception: divide the reward's retail value by the total spending it takes to earn it. Below roughly 5%, most people stop paying attention.
Low-ticket shops run into the ceiling. Their reward is worth about one whole ticket, so the value back to the customer is automatically 1 divided by the stamp count — 10% on a 10-stamp card, 17% on a 6-stamp card. Perception is never their problem. Cost is.
High-ticket shops run into the floor instead. A 30 SAR dessert against a 120 SAR ticket is cheap enough to hand out every second visit, so the margin ceiling never bites. What kills these programs is stretching the card until the reward stops being a reason to come back.
That's the whole reason one threshold can't serve both, and the reason copying the shop next door goes wrong. Their ticket and their margin aren't yours, so their stamp count carries no information for you.
Why "buy 10, get 1 free" misfires
Ten stamps is a print-shop convention. Ten circles fit neatly on a business card and the phrase is easy to say. Neither fact has anything to do with your margin.
At a 70% margin cafe, 10 stamps isn't expensive. The free drink costs 5.40 SAR against 126 SAR of gross profit, about 4.3%. You're not losing money; you're being stingier than you need to be, and you pay for it in cards that stall at stamp four and never move again.
Thin margins are where it genuinely costs too much. Take a shop reselling branded product at a 25% margin with a 40 SAR average ticket. Give away one unit on the eleventh purchase and the reward costs 30 SAR against 100 SAR of gross profit — 30% of it. To bring that down to 8% you'd need 38 purchases, and nobody finishes a 38-stamp card.
If that's your shop, stop trying to give away a unit of what you sell. Give away something with high perceived value and low cost to you, or move to a points or balance card where you set the earn rate directly instead of inheriting it from your price list.
The clock matters as much as the math
The third failure mode is time. Ten stamps at one visit a month is a ten-month card. Multiply your threshold by the normal gap between visits and try to keep the total under about three months. In Saudi Arabia most salaries land at the end of the Gregorian month, and spending clusters in the first week after payday, so that rhythm is your visit interval rather than the calendar.
When the formula returns a number you can't reach in time, shrink the reward instead of lengthening the card. A smaller R shortens N at the same allowance, which is exactly what the barbershop example did. Stretching the card to protect a big reward is the wrong trade every time.
Add-ons make the best rewards. An extra shot, a dessert, a beard trim, an interior wipe-down at a car wash, one extra garment pressed. Customers price these at menu value, so they read as generous, and their own cost of goods is low enough that your allowance barely moves.
Write the reward narrowly. "Any drink free" gets redeemed against the most expensive drink on the menu, every single time, and that's rational behavior on the customer's part. "Free hot drink up to 20 SAR" costs you what you modeled. You write the reward text on the card yourself in Waya, in Arabic or English, so use the space.
Checking your threshold once it's live
Two numbers tell you whether the guess was right: the share of started cards that reach the reward, and how long the median customer takes to get there. Low completion means the card is too long or the reward too small. Very fast completion may mean you're paying for visits you already had.
Don't budget on breakage. Unredeemed cards make a program look cheap while quietly telling you it isn't working, and a threshold that's never reached is a threshold nobody is changing their behavior for. Model at full redemption, as the formula above does, and treat anything less as a signal rather than a saving.
Waya's dashboard shows visits, redemptions, new versus returning customers, and which regulars have gone quiet. It doesn't connect to your till — there's no POS integration — so your average ticket and margin still have to come from your own sales and purchase records. Staff add stamps by scanning the customer's card on an ordinary phone, beside whatever terminal you already use.
Changing the number later without losing people
Changing a threshold is an edit to the card. Apple Wallet and Google Wallet passes update themselves on the customer's phone, so nobody re-enrolls and nobody reinstalls anything. One rule: never raise the threshold on someone who's already halfway through a card. Lowering it is safe, and it works well as a win-back move for regulars who've drifted.
Testing a threshold costs nothing. The free plan covers 1 stamp card, 1 branch, up to 100 customers, and 100 wallet messages a month, with no credit card; Growth is 85 SAR a month if you later want several cards running side by side. If the first number turns out wrong, you'll know within a few weeks, and the only real cost was reprinting the QR sign on your counter.
Frequently asked questions
How many stamps should a loyalty card have?
For most shops the right number is between 5 and 10 stamps, and it should come from your gross margin rather than from a template. Take the reward's cost to you, divide by the gross profit one visit generates, then divide by the share of gross profit you're willing to give back — usually 5% to 10%. A cafe with a 70% margin and an 18 SAR ticket giving away a free drink lands at 6 stamps on an 8% allowance. A restaurant with a 120 SAR ticket giving away a 30 SAR dessert lands closer to 5 visits, for a completely different reason.
Is "buy 10, get 1 free" too generous?
In most shops it isn't generous enough, which is the opposite of what owners assume. At a 70% gross margin the free item costs about 4.3% of the gross profit that card generated, so the cash cost is comfortable. The real risk is that 10 stamps takes too long to finish, so customers stall halfway and the program changes nothing. It's genuinely too expensive only in thin-margin shops, where giving away one unit can cost 30% of gross profit.
Should the reward be a free item or a percentage discount?
A free item is almost always cheaper for you than a percentage discount. You pay the item's cost of goods once, at the end of the card, while a 20% discount comes out of every ticket in cash from the first visit onward. A free item also has a clearer value in the customer's head, so it pulls harder for the same money. Word it narrowly — "free hot drink up to 20 SAR" rather than "any drink" — so the cost is the one you modeled.
Can I change the stamp count after customers have started collecting?
Yes. You edit the card and the wallet passes already on customers' phones update themselves, with no re-enrollment. Never raise the threshold on someone who is mid-card, though; that reads as a broken promise and it's how you lose your best regulars. If you need a genuinely different structure, publish it as a second card and let the old one finish — the free plan allows one card, so that means moving to Growth at 85 SAR a month.
Do I need a POS integration to work out these numbers?
No, and Waya doesn't offer one. Pull the figures from your own records: gross margin is sales minus cost of goods divided by sales, and average ticket is total sales divided by transaction count, over any full month. Staff add stamps by scanning the customer's card on an ordinary phone, so Waya sits beside your till rather than inside it.