Sales per working hour has a ceiling

Restaurants track sales per working hour because labour is their biggest cost. Nona Vikman's argument is that the number has a point beyond which pushing it higher starts costing you sales, and that most of the work is finding where that point is for each site and each part of the day.
This article comes from the first episode of Act on Facts, a conversation series where we take one topic from the industries we work with and talk it through with people who work in them daily. This one is on workforce optimisation, Hosted by Oliver Törnroth, Marketing Manager at Zoined, with Sasa Moilanen, Co-founder & CEO of Zoined, and Nona Vikman, Customer Success Manager. I hosted. Watch the full conversation below, or read on for the main points.
INSERT YOUTUBE VIDEO
What labour costs
In Finland, personnel costs run at 35–40% of restaurant revenue (MaRa). Sasa puts retail at 15–20%, and the US at around 30% for restaurants. It's the biggest single cost in a restaurant and, in Sasa's words, it's become more important to get right now that Finnish consumers have less to spend and restaurants are struggling to bring traffic in.
His definition of what you're optimising is simple: the right number of people for the demand you actually have, at each time of day.
Nona sees the interest spreading. Smaller restaurants without an admin department can now understand their numbers in a way they couldn't before, and retail is starting to adopt the same efficiency KPIs because physical stores are fighting web traffic for every sale.
Why higher isn't better
Sales per working hour is sales divided by the hours your staff worked. Higher means more revenue per hour paid.
"It's not a number you always want as high as possible. You need to understand where the sweet spot is, where you actually start losing sales because there's too much sales pressure for the customer traffic you have."
That's Nona. Sasa describes what the other side of the sweet spot looks like from the inside.
"You start seeing that your employees don't clean the floors as fast as they should, queues build up, people turn away from the door, you're losing sales, and your employees burn out. You have to optimise for the whole, not for this one metric."
So the figure runs alongside the ones that tell you whether customers are still happy (customer satisfaction, return rate, NPS). Push it up and watch those. If they drop, you've found your ceiling.
There is outside evidence for this. The Stable Scheduling Study, a randomised trial across 28 Gap stores in 2015–16, found that giving staff more stable schedules and adding hours at the right times raised median sales 7% and labour productivity 5% (report). It's one US apparel retailer, not a restaurant, and the intervention wasn't only about stability. But it's a controlled test of the idea that cutting hours isn't the same as optimising them.
The pair of numbers, and what sits behind them
Sasa says the operators he works with run two metrics together: sales per working hour, and staff cost as a percentage of sales. The second is what most people mean when they talk about labour cost.
Add cost of goods sold and you have prime cost, the number restaurants actually manage to. Sasa's example: 20% COGS and 35% labour gives a prime cost of 55%. His range for the industry is 55–70%, and he calls keeping it under control the key thing for running a profitable restaurant.
Nona's point is that sales per working hour has parts, and the parts tell you what to do. Split it two ways.
Across the organisation. Which sites do better, and what are they doing differently? Which weekdays, which hours? These shift over time, so the comparison has to keep running.
Inside the number. If it's going up, why? Is the average receipt going up? Are staff upselling, or is there a campaign adding items per receipt? Or are you just staffing better? Each of those needs a different response.
Time of day, not hour, not day
The most specific thing Sasa said on the recording is about granularity.
"It's too vague to look at a day as one unit, and too detailed to look at every single hour. The sweet spot is to split the day into groups, so you can monitor your lunchtime, for example, and optimise for that."
Peaks are where the money is made or lost. Mani, Kesavan and Swaminathan studied 41 stores of one retail chain with hourly traffic and labour data and found every one of them was systematically understaffed during a three-hour peak (paper). Retail again, not restaurants, but the shape of the problem is the same: a day-level average hides a peak-level shortage.
Where the schedule comes from
Modern forecasting uses several years of POS history plus seasonality, holidays and local events to produce demand forecasts by site, weekday and time of day. Nona's version of why that matters: if you're planning shifts three weeks out, you need to know what's happening in the next three weeks, not what happened last month.
Sasa walked through a worked example on the recording using demo data (a fictional restaurant chain in the Netherlands, so the numbers are illustrative, not a customer's). One site had a sales per working hour target of €127. Combined with the forecast, that gives an optimal hours figure. The site was scheduled 25 hours over it.
The reason is the useful part.
"The scheduled hours come from the past. We used to need this many hours. Now, with lower demand, we shouldn't be scheduling that many in that location."
The schedule was inherited from last year's sales. Nobody decided to over-staff. The forecast said demand had dropped and the rota hadn't heard.
From there a manager can drill into the day, see two people scheduled for 12 hours, and decide whether that holds. Minimum staffing constraints go into the model so it never recommends below what the operation needs to run.
Other numbers worth watching
Sasa mentions transactions per working hour as an alternative to the sales version. If a person can handle roughly 12 transactions an hour, tying efficiency to that rather than to money makes sense for some businesses.
Nona points to queue time. The larger chains are tracking it, and she says every 10 seconds shaved off the queue shows up in sales. Sasa's own contribution was walking out of a lunch restaurant that day because of the queue, and into the one next door.
Some operators are now using cameras (anonymised, GDPR-compliant) to count queues, track unnecessary movement, and measure capture rate: how many people walk past and how many come in.
Making it stick
Nona's answer to what one thing an operator should change:
"Understand your numbers, and share them. Share the responsibility for the numbers with the people who generate them every day."
Sasa's version is peer visibility. When restaurant managers can see how they're doing against their peer group, they know whether they're fine or not, and they see the effect when they change something. Nona takes it to the individual: share employee-level data with the employees, let them compare, and upselling and cross-selling become a daily competition rather than a request.
The reason automation matters, in Nona's experience, isn't speed.
"If the process is very manual, the follow-through doesn't always happen. There might be a fire somewhere, literally or figuratively, and they go and deal with that."
A report that arrives every week to the right person gets acted on. A report someone has to go and build doesn't. Sasa's longer view is that once you've run the recommendations for a while and seen they hold, the recommendations become the schedule and people only get alerted when a threshold is crossed.
From my own time in restaurants: managers spent hours planning working hours. That's hours not spent on the floor.
Getting started
Nona's first step is the least glamorous and the one people skip: get your sales numbers and your working hours (or staffing costs) into the same place. Restaurants usually have a POS, a workforce management system, and something else for inventory, and none of them talk.
Sasa's addition is about scale. Even a small chain generates millions of receipt rows quickly, and you want three or four years of it at row level. That's past what you can paste into a general-purpose AI tool.
"You cannot just copy-paste your receipt rows into Claude with your ten million rows. It will choke on that data."
Nona: or it hallucinates something. Either way you're acting on the wrong number.
What we didn't establish
Sasa's estimate for what modern scheduling and analysis saves is three to five percentage points of labour cost. He's seen it, and on a 35% labour cost that's material. But it's his figure from practice, not a controlled result, and the studies behind claims like it don't have control groups, so treat it as a practitioner's estimate.
The whole conversation leaned restaurant. Sasa expects retail to follow and says he's having more of those conversations, but the retail side wasn't tested here.
And the two studies cited are retail, not restaurants. They show the shape of the problem, not your number.
Zoined combines POS and workforce data into this reporting for restaurants and retailers. See how it works.
SEO block — not part of the article
Primary term: sales per working hour (in title, opening, and throughout). "Sales per labour hour" is the more-searched variant and appears nowhere; add it once in the opening if search matters more than matching the recording's language.
Meta title: Sales per working hour has a ceiling (37)
Meta description: Push the number too high and you lose sales. Nona Vikman and Sasa Moilanen on where the ceiling is, how to find it by time of day, and what to do about it. (148)
URL:
/blog/sales-per-working-hour-has-a-ceilingInternal links to add: the prime cost post on blog.zoined.com fits under "The pair of numbers." CMB Restaurants and Sodexo case studies fit but check what they say about labour before linking.
External: MaRa, Stable Scheduling Study, Mani et al. All verified 11 Sep 2026.
Two expansions of speaker material: "If they drop, you've found your ceiling" (my closing of Nona's point). "The forecast said demand had dropped and the rota hadn't heard" (my restatement of Sasa's mechanism).
Trade accepted: "restaurant labour cost percentage" outranks this term. This piece takes the specific one.
Predict: modest search traffic. Main use is forwarding inside a chain, from an ops director to site managers, on the "why isn't higher always better" question. Failure would be no shares in the first month.
