What a loyalty reward actually costs you
Almost everyone calculating this uses the menu price of the reward. That overstates the cost by a factor of three or four, and it is why plenty of profitable loyalty programs get cancelled by owners who think they are losing money.
Cost the goods, not the price
A free flat white does not cost you €3.20. It costs you the milk, the beans, the cup and the lid — call it €0.80. You are not forgoing €3.20 of revenue either, because in most cases that particular cup would not have been bought at that moment without the card.
So the honest cost of a reward is its cost of goods, plus the small share of rewards that genuinely displaced a sale you would have made anyway. For a café that is usually well under a third of menu price.
Wivly asks for the reward's cost rather than its price for exactly this reason. If you enter €3.20 there, every economics figure in your dashboard will tell you the program is four times worse than it is.
The number that decides it: incremental visits
A loyalty program pays if it causes visits that would not otherwise have happened. It does not pay if it simply hands a discount to people who were coming anyway.
The cheap way to find out is to hold a group back. Pick a random tenth of your members, exclude them from offers for a month, and compare their visit rate to everyone else's. The difference is the program working. Wivly does this for you on campaigns, and it is worth reading the number honestly even when it is small.
One extra visit a month per member, at a €3.20 ticket and €0.80 of reward cost, is roughly €2.40 of contribution per member per month. Multiply by your member count and compare to what the program costs to run. That comparison is the whole business case.
Watch the breakage, but do not depend on it
Breakage is the share of earned rewards that are never redeemed. It flatters your numbers — the stamps were given, the coffee never was — and it is real: a meaningful share of cards are abandoned half-full.
It is also a warning light. High breakage means members are starting and not finishing, which is the same signal as a card that is too long or a reward nobody wants. A program with 60% breakage is not a cheap program; it is a program most people gave up on.
The costs that are not the reward
Staff time at the counter is the one people forget. Two seconds per scan, a hundred scans a day, is a bit over an hour a month — real, but small. Anything that takes longer than a scan is the thing to fix.
The other is the cost of getting it wrong in public: a member who is told at the till that their reward has not applied is a worse outcome than the reward itself. Consistency beats generosity.