The formula
Lifetime revenue per guest = Average check x Visits per month x 12 x Lifespan in years
Lifetime gross profit per guest = Lifetime revenue x Gross margin %
Value to cost ratio = Lifetime gross profit / Acquisition cost per guest
Why the formula multiplies rather than adds: each lever compounds the others. A guest who visits twice a month is worth twice the once-a-month guest at the same check, and that doubled frequency runs for every year of the relationship, which is why a modest rise in frequency usually beats a modest rise in prices. Gross margin is in the formula because revenue is not value: $2,700 of sales at a 70% margin contributes about $1,900 toward rent, labor and profit, and that profit figure is what should be compared against what the guest cost to win.
How to use it, with an example
- Pick one guest segment rather than averaging the whole dining room. Regulars, first-timers and event-only guests are three different values wearing one label.
- Take the average check for that segment from your POS, and their typical visits per month from loyalty, reservation or card data.
- Estimate the lifespan honestly: how many years a guest like this typically keeps returning before moving, drifting or being won away.
- Enter your gross margin (what remains of each check after food and beverage cost), and your acquisition cost per guest if you know it, to see the value to cost ratio.
Worked example: A casual dining regular spends $38 a visit, comes twice a month, and typically stays a guest for 3 years. That is 24 visits a year and $912 of revenue per year, for a lifetime revenue of $2,736. At a 70% gross margin, the lifetime gross profit is $1,915.20. One guest relationship, the size of a decent catering booking, built two dinners at a time. The calculator above is prefilled with these same numbers, so you can see how the compounding works before testing your own segments.
None of these inputs exist without guest-level data, which is where most restaurants discover their POS knows what was sold but not who bought it. Odoo for Restaurants links the point of sale to Odoo CRM, where guest history and visit frequency sit against the same contact, so lifetime value can be calculated per real segment instead of guessed for the whole house.
Common mistakes
- Averaging every guest into one number. The dining room follows an 80/20 pattern: a minority of guests produces most of the repeat revenue. One blended CLV hides the regulars who are worth protecting and flatters the one-time visitors who are not coming back whatever you spend.
- Counting revenue and calling it profit. Comparing acquisition cost against lifetime revenue overstates the case for every channel by the size of your food cost. Always run the comparison on gross profit, as this calculator does, before scaling spend.
- Assuming first-visit economics carry the relationship. A guest acquired at a loss-making discount can still be an excellent guest if they return at full price for years, and a full-price first-timer who never returns is worth exactly one check.
- Estimating lifespan from hope instead of data. Most operators overstate how long guests stay. Pull first and last visit dates for a sample of lapsed guests from your reservation or loyalty records; the real number, often nearer two years than five, produces harder but truer marketing decisions.
- Ignoring the data problem underneath. You cannot calculate visit frequency for guests you cannot identify. Cash walk-ins with no reservation, loyalty or digital ordering trail are invisible to CLV, which is one more reason the choice of system matters, as how to choose a restaurant POS system sets out.
- Using CLV to justify any discount. A high-value guest does not need a standing discount to return; discounting them trains full-price regulars to pay less for the same loyalty. Spend retention money on recognition and priority booking before percentage-off offers.
FAQs
What is a good customer lifetime value for a restaurant?
There is no universal figure, because it follows your check average and concept. A quick-service regular might be worth $1,000 to $1,500 over a couple of years, a casual dining regular $2,000 to $3,000, and fine dining guests more per relationship at lower frequency. The meaningful test is the ratio: lifetime gross profit should be at least three times what the guest cost to acquire.
How is CLV different from average check?
Average check measures one transaction. CLV measures the whole relationship: check size multiplied by how often the guest returns and how many years they keep returning. Two restaurants with identical average checks can have guest bases worth several times more or less than each other, and CLV is the number that shows it.
Which lever raises CLV fastest: check, frequency or lifespan?
Frequency, for most restaurants. One extra visit per month doubles a twice-a-month guest’s annual value and compounds across every year of the relationship, while the same effort spent raising check size usually moves it by single-digit percentages. Lifespan is the most valuable lever of all in the long run, but it is built slowly, out of consistency.
How do I find my guests’ actual visit frequency and lifespan?
From whatever identifies the guest: loyalty accounts, reservation history, online ordering accounts or card-linked data in your POS reports. Take repeat guests only, measure the gaps between their visits and the span from first to last visit, and use medians rather than averages so a handful of superfans does not distort the picture of a typical guest, a data discipline that starts with understanding what restaurant POS software can and cannot track.
Does a loyalty program actually raise lifetime value?
When it changes behaviour, yes. Industry research on loyalty members commonly shows them visiting more often and spending more per visit than non-members, because the program gives the restaurant both a reason to contact the guest and the data to time it. A program that only hands out discounts to guests who would have returned anyway lowers margin without raising lifetime value.