A loyalty program is probably a better model for attracting regular customers than this though, right.
You want to attract people willing to pay more or less full price. A program that you get the 10th pie free, and always get a free 2L soda with every pie or something would accomplish that better.
An example - I live part of the year in an area that is more a "summer destination" so a lot of the local restaurants close November thru April.
One hotel restaurant stays open year round, and in their first year they mailed everyone locally an offer to get a 15% off "locals only" loyalty card. You had to apply, send some proof you were local, wait for them to mail the card, and then keep it in your wallet. 15% is a nice little incentive, but given tax/tipping/etc, doesn't materially change the price. Going there off season, even just monthly, all the hosts/waiters know us well now vs the more transient guests. So it sticks out in our mind as a reminder that they are always open, and a friendly place to go eat.