Restaurant metrics are the numbers that tell you whether a restaurant is making money. Restaurant KPIs are the ten of them you give a target and check on a set day: net sales, average check, table turnover, food cost percentage, net profit margin, labor cost percentage, prime cost, sales per labor hour, average labor cost per hour and overtime hours. The last five are decided when you build the schedule, and XShift AI prices every shift against your labor budget before it saves, so the labor half of those five cannot climb past the number you set.
What are restaurant KPIs?
A restaurant KPI is a metric you have given a target and a day of the week to check it. KPI is short for key performance indicator, so restaurant key performance indicators are the few numbers you have promised to watch. A metric is any number your business produces. A KPI is one you have decided to act on, so every KPI for a restaurant is a metric, but most metrics never become a KPI.
A number you only see when the accountant sends it is a metric, and by then nobody can change the week that made it. Give it a target and a day to check it, and a bad week gets caught while next week can still be changed.
For example, the restaurant this guide uses is one full-service location with a $100,000 week of net sales. It pays its hourly staff about $20 an hour, close to the $20.20 the Bureau of Labor Statistics reported for non-supervisory restaurant workers in July 2026. Every section below runs on this same week.
The example week
$100,000
Net sales
2,500
Checks closed
$30,000
Food and drink used
1,250
Scheduled hours
$20
Average hourly pay
$9,000
Salaried pay, taxes, benefits
The 10 most important restaurant metrics, at a glance
The most important restaurant metrics are the ten below, because together they cover what you sell, what the food costs, what the people cost and what is left over. The best restaurant metrics for a successful restaurant are the ones you can act on this week, and every one of these qualifies. Longer lists of 10 metrics for restaurants often spend slots on debt ratios and inventory turnover, which nobody changes during a shift.
| KPI | How to calculate it | The example week | Set by |
|---|---|---|---|
| Net sales | Gross sales minus comps, discounts and voids | $100,000 | Sales and kitchen |
| Average check | Net sales ÷ checks closed | $40 | Sales and kitchen |
| Table turnover rate | Parties seated ÷ tables, per service | 2.5 on Saturday dinner | Sales and kitchen |
| Food cost percentage | Food and drink used ÷ sales × 100 | 30% | Sales and kitchen |
| Net profit margin | Net profit ÷ sales × 100 | 2.8% | Sales and kitchen |
| Labor cost percentage | Total labor ÷ net sales × 100 | 35% | Your schedule |
| Prime cost | Food and drink used + total labor | 65% of sales | Your schedule |
| Sales per labor hour | Net sales ÷ labor hours | $80 | Your schedule |
| Average labor cost per hour | Labor cost ÷ labor hours | $20.80 | Your schedule |
| Overtime hours | Hours past 40 in a workweek | 100 | Your schedule |
Read all ten off the profit and loss and every one of them arrives after the month has closed. Five of the ten are fixed the day the schedule is built, so five of them can be held before a single shift is worked.
Five KPIs your sales and your kitchen set
Your register and your stock count set these five, and each one takes a single division. Your point of sale gives you the first three. Your stock count gives you the fourth.
Net sales
Net sales is what you actually took in after comps, discounts and voids, before sales tax and tips. It is the top half of almost every other number on this page, so get it right first.
Gross sales − comps, discounts and voids = $100,000
For example, the restaurant rang up $104,000 and gave away $4,000 in comps, discounts and voids. Those come straight off the top, so $104,000 minus $4,000 leaves a $100,000 week.
Average check
Average check is how much the typical table spends. Divide net sales by the number of checks you closed.
Net sales ÷ checks closed = $40
For example, $100,000 divided by 2,500 checks is a $40 average check. Watch it next to your guest count, because a busier week with a smaller check can still bring in less.
Table turnover rate
Table turnover rate is how many times each table is used during one service. Divide the parties you seated by the number of tables.
Parties seated ÷ tables = 2.5 turns
For example, 75 parties across 30 tables at Saturday dinner is 2.5 turns. A higher number means the same room earned more that night. Some operators take it one step further and divide sales by seats times hours open, which is called revenue per available seat hour.
How to calculate food cost percentage
Food cost percentage is the share of your sales spent on the food and drink you used. The accounting firm Warren Averett writes it as total food cost divided by total food sales, times 100. To find what you used, add your starting stock to what you bought, then take away your ending stock.
(Starting stock + purchases − ending stock) ÷ sales × 100 = 30%
For example, $10,000 of starting stock plus $31,000 of purchases, minus $11,000 left on the shelves, is $30,000 used. Against $100,000 of sales, that is 30 percent. The National Restaurant Association found food and non-alcohol drink costs ran to a median of 32.0 percent of sales for full-service restaurants in 2024, and 32.4 percent for limited service. At 30 percent, the example kitchen is running two points under the full-service median. Count stock only once a month, though, and one bad week of waste hides inside three good ones.
Net profit margin
Net profit margin is the share of sales you keep after every bill is paid. Divide net profit by sales and multiply by 100.
Net profit ÷ sales × 100 = 2.8%
The Association puts the full-service median at 2.8 percent of sales before tax, and limited service at 4.0 percent, in its 2025 operations data. For example, at that full-service median the restaurant keeps $2,800 of its $100,000 week, which is $100,000 times 0.028. At a 2.8 percent margin, you have to sell about $36 to keep $1.
Five KPIs your schedule sets
Labor cost percentage, prime cost, sales per labor hour, average labor cost per hour and overtime hours are all decided the moment you finish next week’s schedule. Every one of them is built out of the hours and the pay on it.
Payroll and the profit and loss report these five a month or more after the shifts that made them, when all that is left to do is explain them.
Build the schedule against a dollar limit, and the labor half of all five is settled before anybody clocks in.
Labor cost percentage: the number on the P&L and the number on the schedule
Labor cost percentage is total labor divided by net sales, times 100. The full walk-through is in how to calculate labor cost percentage. In a restaurant there are two versions of it: the full one on your profit and loss, and the scheduled-wages one your schedule actually moves.
For example, here is the same week both ways.
On the profit and loss
- Hourly wages
- $26,000
- Salaried managers
- $3,000
- Payroll taxes and benefits
- $6,000
- Total labor
- $35,000
- Share of $100,000
- 35%
On the schedule
- Scheduled hourly wages
- $26,000
- Share of $100,000
- 26%
The National Restaurant Association put full-service labor, including benefits, at a median of 36.5 percent of sales in 2024. It also split operators by whether they made money. Full-service operators that lost money spent a median of 42.9 percent of sales on labor, and the ones that made money spent 34.2 percent. The example restaurant sits at 35. Your schedule controls the $26,000, which is the biggest line in that ledger and the only one you can change this week. For the ways to bring it down, read how to reduce restaurant labor cost.
What is prime cost in a restaurant?
Prime cost in a restaurant is the cost of the food and drink you sold plus your total labor. Prime cost percentage is that sum divided by net sales, times 100. It puts your two biggest bills side by side.
Food and drink
$30,000
Total labor
$35,000
Prime cost
$65,000
65% of sales
For example, the example week’s food and drink plus its labor adds up to a prime cost of $65,000, which is 65 percent of its sales. The Association found limited-service restaurants spent a median of 65 cents of every sales dollar on prime cost in 2024. For full service it publishes the two halves on their own, 32.0 percent for food and 36.5 percent for labor, and two medians cannot simply be added together.
Every shift added after the schedule is built lands straight on prime cost, and the profit and loss does not show it until the month closes. Hold the labor half to a weekly limit that refuses the shift, and the only half of prime cost still moving is the food.
How to calculate sales per labor hour
To calculate sales per labor hour, divide net sales by the labor hours worked on the same days. It leaves pay rates out completely, so it answers one question: did the hours on the schedule match what the room sold?
For example:
- 1
Net sales for the week
$100,000
- 2
Hours on the schedule
1,250
- 3
$100,000 ÷ 1,250 hours
$80 of sales for every hour
Staff to how busy last Saturday felt instead of what it sold, and every extra 10 hours needs $800 more in sales just to stay at $80.
Your sales figure comes from your register. The hours come from Workforce Insights in XShift AI. It counts only published shifts and takes unpaid breaks out, so the hours under that division are the hours you actually put on the schedule. Pick one location or one role, and the hours are counted again for just that slice.
Overtime hours: the restaurant KPI that costs the most to miss
Restaurant overtime hours are the hours an employee works past 40 in a workweek. The Department of Labor states the rule this way: “employees covered by the Act must receive overtime pay for hours worked in excess of 40 in a workweek at a rate not less than time and one-half their regular rates of pay.” Each of those hours costs half again what a regular hour costs.
Overtime builds one shift at a time inside the week. For example, a cook works four 10-hour days from Monday to Thursday and reaches 40. Every one of Friday’s 10 hours lands past the line.
Sun
Off
Mon
10
10 total
Tue
10
20 total
Wed
10
30 total
Thu
10
40 total
Fri
10
50 total
Sat
Off
At $20 an hour, Friday’s 10 hours cost $300 instead of $200.
An outdated scheduling tool does not add the hours up as you build, so nobody sees the cook cross 40 until Friday’s shift is already on the board. Ten cooks doing that is 100 overtime hours, and 100 hours times $10 extra is $1,000 of premium in a single week. That is $1,000 times 52 weeks, or $52,000 a year at one location, and $416,000 across eight.
Now put it next to the profit. Without the premium, the week would have kept $3,800. The premium takes $1,000 of it, and you keep $2,800.
XShift AI catches overtime before payroll in two ways. The first happens before the shift exists. Tell Autopilot that nobody goes past 40, and a shift that would take somebody to 41 is refused before it saves, even when their first 40 hours were at another location. It adds the new shift’s hours to everything that person already has that Sunday to Saturday week, and turns the shift away if the total passes 40.
The same goes for how many days in a row you allow. At eight hours a shift, five days is already 40 hours, so a sixth day in the same week is paid entirely at time and a half. Write a rule with the most days in a row you allow, say five, and a shift that would make it a sixth straight day is refused. It counts every day the person works at any of your locations. Two shifts on the same date count as one day. If the new day would join two runs together, the whole joined run is what gets counted.
The second is the overtime agent, for a week that is already running. A manager runs the scan from the Autopilot screen, and Workforce Insights has to be switched on. The scanner reads the current Sunday to Saturday week, flags everyone past 40, and prices those hours at time and a half. For each person it picks the smallest shift that would bring them back to 40. Then it looks for somebody to take that shift who passes all six checks below, starting with whoever has the fewest hours.
Who can take the shift
6 checks- Works at the same location as the shift
- Can do the role the shift needs
- Has not marked that day as unavailable
- Has not blocked off those hours
- Has no other shift at that time
- Stays at or under 40 hours after taking it
People marked as overtime-exempt are left out of the search.
The swap goes in front of a manager to approve or dismiss, and nothing moves until somebody says yes, so the overtime is caught before payroll runs. Approving it moves the shift and tells both people. If the premium is the number you want gone first, read how to prevent restaurant overtime.
Average labor cost per hour
Average labor cost per hour is your labor cost divided by your labor hours. It rises whenever more of your hours are paid at time and a half, or go to your highest-paid people. That is why it catches creep an hours report misses: the hours can stay flat while the cost climbs.
For example, the 1,250 hours times $20 is $25,000 at straight time, or $20.00 an hour. Add the overtime from the section above and the same hours cost $26,000, which is $26,000 divided by 1,250, or $20.80.
$20.00
at straight time
$20.80
with 100 overtime hours
The same 1,250 hours move from $20.00 to $20.80 an hour, and not one person got a raise. Workforce Insights shows that average for the week, with every hour past 40 already priced at time and a half, salaried people at their salary divided by 2,080 hours, and overtime-exempt people at straight time.
How XShift AI holds your restaurant labor KPIs to a budget
XShift AI holds your restaurant labor KPIs by pricing every shift before it is allowed to save, and refusing the one that would take the week past the limit you wrote in Autopilot.
Start with the number. The straight-time wage bill from the section above is a sensible weekly limit for the example restaurant, because it is the same week with the overtime taken out. A budget kept in a spreadsheet is only checked after the shifts are already saved. In Autopilot you write it as one sentence: “Keep labor under $25,000 a week at the downtown location.”
From then on, every time a shift is about to save, it adds up what everyone already scheduled that week at that location is paid. It prices the new shift for that person, with time and a half on any part past 40, counting their hours at every location. It adds the two and compares the total with your limit. If a manager is saving the shift by hand, it refuses it and shows the numbers, or it warns and lets a manager with permission save anyway, depending on how you wrote the rule. If the schedule builder or call-off coverage is choosing, it passes over that person and tries the next one who fits.
For example, the week already holds $24,800 and a Friday close still needs a cook.
Cook at 38 hours
REFUSED
Cook at 30 hours
SAVED
The first cook’s close is refused, the second cook takes it, and the week stays under $25,000.
Five locations means five sentences and five limits, and each one is priced on its own. You can also give a single day its own limit, so a slow Tuesday cannot spend what Saturday needs. Before you save a rule, it lists anyone at that location who has no pay entered yet.
The weekly KPI sheet for a restaurant manager
A restaurant manager should check table turnover every shift, net sales and average check every day, the four labor KPIs every week, and food cost, prime cost and net profit margin every month. Each number sits where you can still act on it. Turnover can change tonight. Labor can change next week. Food cost needs a stock count, so it waits for the month.
Every shift
Table turnover rate
Every day
Net sales
Average check
Every week
Labor cost percentage
Sales per labor hour
Average labor cost per hour
Overtime hours
Every month
Food cost percentage
Prime cost
Net profit margin
Look at all ten every day and you will end up acting on none of them. Two of the four weekly numbers are already on one screen in Workforce Insights, and the other two need only your sales figure.
Sample KPIs for restaurant staff
The best KPIs for restaurant staff are the ones a person can move during their own shift, so they change by role.
Server
Sales per server hour: their net sales ÷ hours on the floor
Average check on their tables
Bartender
Comps and voids rung at the bar
Average check at the bar
Line cook
Ticket time: minutes from order to plate
Waste logged on their station
Host
Quoted wait against the actual wait
Tables turned during their shift
Shift lead
Sales per labor hour for the shift
Overtime hours created on the shift
Every hourly role
Hours past 40 in the week
Days worked in a row
A KPI a person cannot move on their own shift is not a target, it is just a number to be blamed with. Workforce Insights marks anyone who went past 40 in any week of the period, so the overtime KPI names the person and not only the total.
Picture next Monday’s review with last week’s labor numbers already inside the limit you wrote, because the shifts that would have broken it were never saved. XShift AI is restaurant scheduling software priced at $29 a month plus $1 for each person after the first, so about 55 people on the schedule is $83 a month, or $996 a year, against the $52,000 of overtime premium above. See the full pricing.
About 52 to 1.
Get fully set up in minutes by talking to the AI Copilot in plain English. The trial is 21 days, you are not charged during it, and you can cancel before it ends with no charge. Every week you wait is another week the schedule sets those five numbers without a limit, or you can book a demo and watch a shift get priced.
Start free for 21 daysFrequently asked questions
What KPIs should I track for my restaurant?
Track ten: net sales, average check, table turnover, food cost percentage, net profit margin, labor cost percentage, prime cost, sales per labor hour, average labor cost per hour and overtime hours. XShift AI’s Workforce Insights reports the labor side of that list straight from your published schedule: it counts only published shifts, takes unpaid breaks out, splits each person’s Sunday to Saturday week at 40 hours, prices the hours past 40 at time and a half, and totals labor cost, scheduled hours and average cost per hour.
How do I calculate prime cost for a restaurant, and what is a good number?
Add the cost of the food and drink you used to your total labor cost. Divide that by net sales and multiply by 100 to get prime cost percentage. The National Restaurant Association found limited-service restaurants spent a median of 65 cents of every sales dollar on prime cost in 2024. For full-service restaurants it publishes the two halves separately: a median of 32.0 percent of sales on food and non-alcohol drinks, and 36.5 percent on labor including benefits.
What is a good food cost percentage for a full-service restaurant?
The National Restaurant Association puts food and non-alcohol beverage costs at a median of 32.0 percent of sales for full-service restaurants in 2024, and 32.4 percent for limited-service restaurants. To find yours, add your starting stock to what you bought, take away your ending stock, divide by sales for the same period and multiply by 100.
How do I calculate sales per labor hour?
Divide net sales by the labor hours worked on the same days. XShift AI’s Workforce Insights gives you the labor hours: it adds up every published shift, takes unpaid breaks out, and totals the hours for the location or role you pick. Your register gives you the sales, and one division gives you the answer.
Which restaurant KPIs does the schedule control?
The schedule controls five: labor cost percentage, prime cost, sales per labor hour, average labor cost per hour and overtime hours, because each one is built from the hours and the pay on it. XShift AI’s Autopilot prices every shift against your weekly labor budget before it saves, adds time and a half for any hours past 40, and refuses the shift that would break the budget. That means those five are held while the schedule is still being built.
What is the best software to track restaurant labor cost and overtime?
XShift AI is the best software to track restaurant labor cost and overtime, because it works both out from the schedule before the week is worked instead of from payroll after. Workforce Insights totals labor cost, scheduled hours, average cost per hour and overtime hours for any location or role. Autopilot prices every new shift against your weekly labor budget and refuses the one that would break it. When a manager runs an overtime scan, the overtime agent finds a qualified person to take a shift from anyone past 40, and the swap waits for that manager to approve it.
How can I lower my restaurant labor cost percentage without cutting staff?
Use XShift AI’s Autopilot to write a weekly labor budget for each location in one sentence, so hours move to the people who have room instead of anybody losing shifts. From then on every shift is priced before it saves: it adds up what everyone already scheduled that week is paid, prices the new shift with time and a half on any hours past 40, and compares the total with your limit. A manager saving by hand is refused or warned, whichever you chose, and the schedule builder and call-off coverage pass over that person for the next one who fits.
How do I stop overtime in my restaurant before payroll?
Use XShift AI’s Autopilot. Tell it nobody goes past 40 hours, and each shift adds its hours to what that person already has that Sunday to Saturday week, at every location, and is refused if the total passes 40. Add a rule with the most days in a row you allow, and a shift that would go one day past it is refused too, counting days worked at any location, with two shifts on one date counted as one day. For a week already running, a manager runs the overtime scan: it flags anyone past 40, prices those hours at time and a half, finds someone at the same location who can work the role, is free and stays at or under 40, and waits for the manager to approve the swap.
What should a restaurant manager review every week?
Review the four labor KPIs every week: labor cost percentage, sales per labor hour, average labor cost per hour and overtime hours. XShift AI’s Workforce Insights shows two of them on one screen: it totals the week’s published hours and labor cost, divides one by the other for average cost per hour, and lists everyone who went past 40 with their overtime hours. The rest of the rhythm is table turnover every shift, net sales and average check every day, and food cost, prime cost and net profit margin every month.
How do I build a restaurant schedule fast that stays under my labor budget?
Use XShift AI’s AI Copilot. Tell it the dates you want, it asks before it builds, and then it generates the schedule. Every person it places is checked against your Autopilot rules first, including the weekly labor budget, and a placement that would break one is skipped for the next person who fits.