The formula
Daily covers = Seats x Table turns per day x Seat occupancy %
Monthly sales = Daily covers x Average check x Days open per week x 52 / 12
A forecast is only as honest as its drivers. Seats and turns are the physical ceiling of the room: a seat cannot be sold more times than service allows. Occupancy is where honesty enters, because no dining room runs full at every turn, every day. Average check then turns guests into dollars. Building the number up this way means anyone, a partner, a lender, your future self, can challenge one assumption at a time instead of arguing with a single round guess.
Growth compounds on top of the run rate:
Forecast month = Monthly sales x (1 + Monthly growth %) ^ Months ahead
How to use it, with an example
- Count your seats honestly: seats a server can actually look after, not seats squeezed in for a photo.
- Take turns and occupancy from a real week. Your POS shows covers by day; divide covers by seats for turns, and compare busy and quiet services for occupancy.
- Use the average check from your POS reports for the same week, per guest, not per table.
- Read the monthly figure, then stress it: rerun the forecast with occupancy 10 points lower and see if the rent still gets paid.
- Use the growth fields last. Growth is an assumption to argue about, not a fact to hide inside the base number.
Worked example: A casual dining room has 60 seats. It turns its tables 2.5 times a day at 80% occupancy, so daily covers are 60 x 2.5 x 0.80 = 120 guests. At a $28 average check, that is $3,360 a day. Open 6 days a week, the monthly forecast is $3,360 x 6 x 52 / 12 = $87,360 a month, or $1,048,320 a year at the same pace. Add modest 2% monthly growth and month 6 lands at about $98,382. The calculator above is prefilled with these same numbers.
Once a restaurant is open, the forecast should be rebuilt from actuals every month, and that is painless when the POS holds your real covers and average check by daypart. Odoo for Restaurants pulls those numbers straight from service, and the Odoo POS module reports covers, turns and check averages per shift, so next month’s forecast starts from evidence instead of memory.
Common mistakes
- Forecasting at 100% occupancy. A full room at Friday 8pm says nothing about Tuesday lunch. Forecast at the occupancy you average across the week, usually 60 to 85%.
- Using weekend turns for every day. Turns belong to dayparts. A room that turns 3 times on Saturday may turn 1.2 times on Monday, and blending the two is what averages are for.
- Guessing the average check from the menu. The check in your POS is what guests actually spend, including the ones who only order an appetizer and a drink. Menu prices flatter it.
- Folding delivery and takeout into the dine-in check. Off-premise orders have different checks, fees and packaging costs. Forecast them as a separate line, the way you would after reading our guide to restaurant table management tips for the dine-in side.
- Building the forecast once, for the loan, and never again. A forecast that is not compared with actual sales every month is decoration. The comparison is the valuable part.
- Buying seats to fix a demand problem. More seats only raise the ceiling. If occupancy is under 60%, the money belongs in demand first: the concepts in best POS systems for small restaurants matter less than filling the seats you already own.
FAQs
How do restaurants forecast sales?
From capacity, not hope: seats multiplied by turns per day and realistic occupancy gives covers, and covers multiplied by average check gives sales. Lenders expect this build-up, because each driver can be checked against a real week of trading.
What is a good table turnover rate?
It depends on the daypart and concept. Casual dining typically turns 2 to 3 times at lunch and 1.5 to 2 times at dinner; fine dining often plans on 1 to 1.5 turns, sometimes a single seating by design. Counter service turns far faster because there is no table service stage.
What occupancy should I assume for a new restaurant?
Plan on 60 to 75% for a first year, even if the room will be full on weekends. New rooms ramp: awareness, reviews and repeat habits take months to build, and a forecast that assumes a mature room from week one is how opening budgets run dry.
Should delivery and catering be in the forecast?
Yes, but as separate lines with their own order counts and average tickets. Delivery carries platform commissions of roughly 15 to 30% and different packaging costs, so blending it into the dine-in check overstates what a delivery dollar is worth.
How far ahead should I forecast?
Monthly for the first year, because rent, payroll and vendor terms are monthly and seasonality hides in annual totals. A rolling 3 to 6 month view with a growth assumption is what most operators actually manage against.
Why is my forecast so different from my actual sales?
Usually one driver was borrowed from a different restaurant: a competitor’s turns, a menu-price check, weekend occupancy. Replace drivers one at a time with your own POS actuals and the forecast converges within a month or two.