I went to a supermarket yesterday. Near the register, there was a big sign: "new triple coupon rules:" and it went on for about a page.
That's inefficient, don't you think? If you use some basic principles of game design, you won't have to put weasel limits on your offer.
There are three elements of game design which maybe could be used for coupon games. First: controlling what coupon offers to make in order to keep the twinking controllable. The reason there are so many restrictions on triple coupons is simple: the supermarket can't afford to give things away for free, so it limits coupons in a million ways. It would be smarter to issue more intelligently designed coupons.
Second: persistant world. Some places already do similar things, of course - like remembering what you've purchased and giving you offers and rewards based on how much of what kind of things you've bought. But that's pretty minor: by utilizing gambling and "random" rewards, you could probably addict hundreds of homemakers to buying stuff and hoping for interesting rewards. You could even have "sales" where it's not the price which goes down, but the reward potential which goes up!
Similarly, coupons could be affected by your "status", giving better percentages the more you buy. (Actually, it would be a U-shaped curve: in the beginning, lots of rewards are needed as well.)
I don't know the best way to do it, but stats are always fun. Maybe you have a "gourmet" stat, and a "bargain hunter" stat, etc. You raise the stats by buying stuff. Obviously, company accounts need another algorithm.
You'll still suffer mudflation, but seasonal sales where someone can spend their stats, permanently, for good deals... that will push people back down, allowing them to work back up towards the reward asymptote instead of simply sitting on it.
Third: socialization. Right now, supermarkets don't have a way to get your friends to buy from them. They could come up with a way. Maybe coupons come in pairs, and if some other card-wielder uses the second in the pair, they get a bigger discount. Or when the second is used by some other card-wielder, you gain points in a stat. The more times that second card-wielder has used your other coupon, the less effect it has. You'll need some method to limit people simply signing up for new cards over and over...
It could just be as easy as putting a "who referred you" on the card sign-up. Then you could do it pyramid-scheme style: when that new person gains stats, the referrer gains a fraction thereof. Or gets coupons, if you're afraid of that potential. This keeps people from benefitting from signing up for new cards over and over.
All the world's a game, eh?