Restaurant Loyalty Program ROI Calculator

Loyalty program ROI is the extra profit your members bring in over what the same guests would have spent anyway, measured against everything the program costs to run. It is the number that separates a program that pays from a discount you give your best guests for nothing. Enter your numbers for one month and see where you stand.

Restaurant Loyalty Program ROI Calculator

Enter one month of member and non-member behaviour, plus what the program costs to run, and see the return on every dollar the program takes.

Members who bought at least once in the month, not total sign-ups since launch.

Average visits per active member in the month.

What a member spends on an average visit.

How often a comparable non-member guest visits. This is your baseline, so be honest with it.

What a non-member spends on an average visit.

The share of a sales dollar left after food and beverage cost. Many restaurants sit between 60 and 70%.

Software subscription and any fixed monthly program fees.

Points, free items and member discounts you actually give away, as a share of member sales.

Launch fees, design and staff training at the start. Used for the payback line only.

–

Your loyalty program ROI per month

Member sales per month–
Same members at non-member behaviour–
Incremental revenue per month–
Incremental gross profit per month–
Total program cost per month–
Net incremental profit per month–
Payback on setup cost–

The formula

Incremental revenue = (Members x Member visits x Member check) – (Members x Non-member visits x Non-member check)

Loyalty ROI = (Incremental revenue x Gross margin % – Total program cost) / Total program cost x 100

Why the formula works this way: members spending money is not proof the program works, because many of those guests would have visited anyway. The honest comparison holds the same group of people against two behaviours: how they actually act as members, and how a comparable guest acts without the program. Only the gap between those two is revenue the program can claim. That gap is then cut down to profit with your gross margin, because a revenue dollar is not a profit dollar, and the full cost of the program, platform plus the rewards you hand out, is charged against it.

How to use it, with an example

  1. Take one full month. Member visits, member check and member count must all come from that same month.
  2. Get the non-member figures for a comparable guest group in the same month. This baseline decides whether your ROI is real, so do not guess it low to flatter the result.
  3. Add every program cost: the platform subscription plus the rewards cost, meaning points redeemed, free items and member-only discounts, as a percentage of member sales.
  4. Read the ROI, then read the payback line. A program can show a fine monthly ROI and still take too long to earn back a heavy launch cost.

Worked example: A casual dining group has 1,500 active members. Members visit 1.8 times a month and spend $36 a visit, so member sales are $97,200. The same 1,500 guests at non-member behaviour (1.4 visits at $33) would spend $69,300, so incremental revenue is $27,900. At a 65% gross margin that is $18,135 of incremental profit. The program costs $249 a month for the platform plus 5% of member sales in rewards ($4,860), a total of $5,109. Net incremental profit is $13,026 a month, an ROI of 255.0%, and the $500 setup cost is paid back in under a month. The calculator above is prefilled with these same numbers.

A loyalty program only produces these figures if member behaviour is tracked visit by visit, which is where the POS and the customer database have to agree with each other. With Odoo for Restaurants, member visits and spend are captured at the till and held against the guest record, and the Odoo CRM module is where lapsed members get spotted and won back, so the member versus non-member comparison comes from the system instead of a spreadsheet assembled at month end.

Common mistakes

  • Counting all member sales as program revenue. The biggest error in loyalty reporting. Your best guests join programs; they were already your best guests. Only the behaviour gap over non-members belongs to the program.
  • Forgetting the rewards cost. Points and free items are a real cost that scales with member sales. A program that looks brilliant on platform cost alone can be ordinary once redemptions are charged.
  • Comparing members with the wrong baseline. Members are self-selected frequent guests. Comparing them with a blended average that includes one-time visitors inflates the lift. Compare with your closest non-member segment.
  • Judging the program in its first weeks. Frequency lift builds as members learn the rewards exist. Most operators give a program at least a full quarter of clean data before calling it, and judge frequency before check size, because frequency is where loyalty earns.
  • Running loyalty on a POS that cannot see it. If enrolment, points and redemption are not handled where the check is paid, staff stop offering it and the data goes patchy. Our rundown of restaurant POS features covers what to look for, and how to choose a restaurant POS system walks through the questions to ask before you commit.
  • Confusing enrolment with activity. Ten thousand sign-ups who never return are worth nothing. This calculator starts from active members for a reason: count the guests who bought in the month, not the database.

FAQs

What is a good ROI for a restaurant loyalty program?

Mature programs are commonly reported in the 150 to 350% range once they have run for a year or more, meaning every dollar of program cost returns that much again in net incremental profit. Treat anything far above that as a prompt to check your baseline rather than as a trophy, and anything positive but under 150% as a program that works but is not yet earning its keep.

Should I use revenue or profit in the ROI calculation?

Profit, always. Incremental revenue at a 65% gross margin is only 65 cents of gross profit per dollar, before the program costs anything. Vendor reports that lead with revenue ROI typically look two to three times better than the same program measured honestly on profit.

How do I get a fair non-member baseline?

Use guests who resemble your members before they joined: similar visit history, same location, same period. If your system cannot split that out yet, use your overall repeat-guest average rather than your all-guest average, and say so when you report the number.

Do points that guests never redeem still count as a cost?

Count what is redeemed in the month, but watch the outstanding balance. Unredeemed points, called breakage, help this month’s number and quietly build a liability of future free food. If redemption jumps later, your rewards cost percentage will jump with it.

How long should I run a program before judging it?

At least one full quarter, and ideally a year to cover seasonality. Visit frequency, the main driver, moves slowly. Judging on launch-month data mostly measures your launch promotion, not the program.

Can a loyalty program work for a single location?

Yes, and the maths is often kinder, because the platform fee is spread over guests the owner actually knows. The same discipline applies: measure active members against a baseline, charge the rewards cost, and do not let the program become an automatic discount for people who would have paid full price anyway.

Since 1993

In software Development

Odoo Ready Partner

U.S based Odoo Expertise

End-to-End Odoo Services

U.S based Odoo Implementation, Customization, Rescue & Support

Tell us about your Odoo project