Key takeaways
- Understaffing costs more than overstaffing, but it hides better. Extra wages show up on your payroll report. Lost sales, angry customers and the employee who quits don’t show up on paper.
- Check your hours block by block, not week by week. A weekly total that looks perfectly healthy can still hide lineups at noon and idle staff at three.
- You already have the data you need. Four weeks of sales or volume reports plus your timesheets. No forecasting tool required.
- Most coverage problems come down to three shapes: a peak nobody staffed for, a dead afternoon nobody trimmed, and an opening where everyone clocks in at once. All three are fixed by changing when shifts start, not by adding people.
- Your floor isn’t negotiable. Below a certain staffing level, cost savings stop being savings.
Understaffing and overstaffing can live in the same week, on the same schedule. Fixing either usually means moving work hours you already have planned to where the work actually is.
Every manager of an hourly team makes the same call several times a week: three people on Thursday evening, or four?
Most managers pick the leaner option, because labor cost percentage is the line item that gets reviewed at month end. Nobody reviews the sale you didn’t make at 6:15 p.m.
And when you’re short-staffed, the instinct is to think about hiring. That’s usually the wrong place to look first.
According to Statistics Canada, nearly one in five part-time workers in Canada is part-time because they can’t get full-time hours, not because they want fewer.
On a team of twelve with eight part-timers, that’s one or two people who would say yes to the Thursday evening shift you’re about to leave uncovered. Already trained, already on payroll, already know the closing routine.
So before you post a job ad, there are two cheaper moves: shift the hours you already schedule to where the work actually is, and offer the leftover gaps to the people who’ve been asking for more.
Understaffing vs. overstaffing: which one actually costs more?
Understaffing and overstaffing are not two versions of the same problem. When you’re understaffed, your customers notice. When you’re overstaffed, your payroll shows it. Both need fixing, and not in the same way.
What is understaffing?
Understaffing is when fewer people are working than the volume of work requires, either overall or during specific hours of the day. You see it as longer wait times, tasks pushed to the next shift, and breaks that get shortened or skipped.
The cost lands in three places, and none of them is on your payroll report.
The first is revenue you never record. The sale that didn’t happen because the lineup was too long.
The second is your reputation. A customer who waits twenty minutes doesn’t just leave, they tell people, and increasingly, they write it down in an online review. One bad Saturday morning can sit on your Google reviews for years.
The third is your team. A short-staffed shift asks people to cover the gap with their own effort, and the ones who cover the most are usually your most experienced employees. Because they’re the ones who can. Do that often enough and they stop volunteering. Then they leave to work elsewhere or because they’re burnt out.
All three are fixable. The last two are the ones that stay with you long after the shift is over.
What is overstaffing?
Overstaffing is when more people are scheduled than the workload requires, so you pay for hours that produce little. It lands directly in your labor cost, which is why it gets corrected fast, and often too aggressively.
Cutting a shift is easy. But cut the wrong shift and you’ll end up understaffed at noon.
Overstaffing also wears on people: standing around for two hours with nothing to do is its own kind of bad shift.
| Understaffing | Overstaffing | |
|---|---|---|
| Where the cost lands | Lost sales, damaged reputation and employee turnover | Payroll |
| How fast you see it | Weeks or months later | Same pay period |
| What you notice first | Lineups, skipped breaks, unfinished tasks, bad reviews | Idle staff, budget overrun |
| Who tells you | Customers, then your best employees | Your payroll report |
| The usual reflex | Push the team harder or jump in yourself | Cut a shift |
| The actual fix | Add hours where the pressure is | Move those hours, don’t cut them |
Aisha schedules five people on a Tuesday. Three were needed, so two of them spend the afternoon reorganizing a display that didn’t need it. Ten paid hours, and she’ll see them on her pay report Monday.
Understaffing doesn’t produce a number like that. The customer who saw the lineup and left. The order that took eleven minutes instead of five. The restock that didn’t happen, so the shelf was empty the next morning. Nobody wrote any of it down.
Overstaffing shows up on your labor report. Understaffing shows up in your sales report, six weeks later, with no explanation attached.
You’re trading a cost you can measure against a cost you can’t, and the one you can measure always wins the argument.
Why “how many people do I need?” is the wrong question
You’re given a weekly hour budget. You divide it across seven days. The total works, so it feels correct.
But demand doesn’t arrive as a weekly total. It arrives in bursts, at specific hours, on specific days.
Take a grocery store in Kamloops with a 320-hour weekly budget. Three cashiers on at 10 a.m. serving eleven customers an hour. Three cashiers on at 5 p.m. serving ninety. Same store, same week, same budget, understaffed and overstaffed at the same time.
Most teams aren’t one or the other. They’re both, a few hours apart. Fixing that costs nothing in extra hours, which is what makes it worth doing before anything else. It’s also one of the more useful practical scheduling tips you can apply this week without asking anyone for budget.
The most common staffing problem isn’t too few people or too many. It’s the right number of hours for the week, spread across the wrong hours of the day.
How to determine your staffing needs: the four-week block tally
Step 1. Pick your demand unit. Whatever your business already counts:
- Retail: transactions, or door traffic if you have a people counter
- Restaurant: hourly sales, or number of orders
- Healthcare and residences: residents assisted, admissions, or care tasks
- Warehousing and logistics: units picked, orders shipped, trucks unloaded
- Call centres and offices: calls or tickets handled
The unit only has to be consistent, not perfect.
Step 2. Split your opening hours into two-hour chunks. A store open 8 a.m. to 8 p.m. becomes six chunks: 8 to 10, 10 to 12, 12 to 2, 2 to 4, 4 to 6, 6 to 8. Each one is a bucket you’ll fill with two numbers in the next steps: how much work came in, and how many hours you had on the floor.
Two hours is the sweet spot for most businesses. If your rush is short and sharp, like a lunch counter, use one-hour blocks for the middle of the day and two-hour blocks for the rest.
Step 3. Log four weeks of demand per block. Most point-of-sale systems export this in a few clicks. A paper tally sheet at the counter works fine for a month.
Keep your days separate. Four Tuesdays averaged together, four Saturdays averaged together. You’re looking for the shape of a typical Tuesday, not the shape of a typical day, because those are two different schedules. Start with your busiest day and your quietest day if you don’t want to do all seven at once.
Step 4. Log the hours worked in each block. Worked, not scheduled. This is the step people skip and the one that matters.
Split each shift across the blocks it touches. Daniel was scheduled 11 to 7 but clocked out at 6:40, so he contributes 1 hour to your 10-to-12 block, 2 hours each to 12-to-2 and 2-to-4, and 1 hour 40 to 4-to-6. Add up everyone on the floor and you have the hours worked for each block.
If you use a time clock app, this is already recorded and you’re just pulling a report. On paper timesheets, this is the part that takes a while to figure out.
Step 5. Divide. Demand ÷ hours worked, for each block. If your 12-to-2 block took 74 orders and you had 6 hours of staff on the floor, that’s 12.3 orders per hour worked.
That number is what you’re comparing from here on. Whatever your unit is, this is orders per hour, transactions per hour, or residents assisted per hour. Not per employee, per hour worked, so a three-person block and a two-person block are on the same footing.
Step 6. Pick your reference block. Not an industry benchmark, your own. Look for a block where service felt good, nothing fell apart, and nobody was standing around. That block’s number is your baseline.
Then compare every other block to it. Running well above your baseline means more work per person than you know you can handle well, so that block is understaffed. Well below means you’re paying for hours the work doesn’t need.
Step 7. Add one thing you can see to every number. Lineup length, wait time, breaks that got skipped, a task pushed to the next shift. This is the only step you can’t pull from a report, so do it for the next week or two while the numbers are fresh: one note per block.
A ratio that looks fine while three customers walk out is not fine.
What it looks like filled in
Four weeks at a café in Moncton, counting orders:
| Block | Orders (4-week avg) | Hours worked | Orders per hour worked | What you saw | Read |
|---|---|---|---|---|---|
| 7 to 9 a.m. | 64 | 6 (3 people) | 10.7 | Busy but flowing, nobody waiting | Reference block |
| 9 to 11 a.m. | 34 | 6 (3 people) | 5.7 | Staff wiping clean tables | Overstaffed |
| 11 a.m. to 1 p.m. | 132 | 8 (4 people) | 16.5 | Lineup to the door, 8-minute waits | Understaffed |
| 1 to 3 p.m. | 44 | 8 (4 people) | 5.5 | Quiet | Overstaffed |
| 3 to 5 p.m. | 61 | 6 (3 people) | 10.2 | Steady | Fine |
| 5 to 7 p.m. | 38 | 4 (2 people) | 9.5 | Closing prep done on time | Fine |
Your 7 to 9 a.m. block is the reference: about 11 orders per hour worked, busy, and nothing broke. Lunch is running at 16.5, roughly 55% above what you know your team handles well, and the eight-minute waits confirm it. The two valleys are running at half the reference rate.
At your reference pace, the 9-to-11 block needs about 3 hours of staff instead of 6, and the 1-to-3 block about 4 instead of 8. Lunch needs about 12 instead of 8. In people, that’s dropping the quiet blocks from three to one or two, and going from four to six at lunch.
Cutting the two quiet blocks back frees up 7 hours. Lunch needs 4 of them, which leaves 3. Spend them wherever your next tightest block is, or give them to whoever’s been asking for more shifts.
Three staffing patterns that cause most of the damage
Once your blocks are laid out, the shape of the problem is usually obvious. Almost always it’s one of three, and each one has a different fix.
The peak collapse
Three people at 10 a.m. serving thirty customers. Three people at noon serving a hundred and twenty. Same three people, same pay, four times the work.
This is the one that costs you sales, because it happens exactly when the most customers are in front of you.
The fix: a mid-shift overlap. In the Moncton example, one person from 10 to 3 covers the lunch peak and finishes before the afternoon valley. Five hours placed where the pressure is.
The dead middle
Four people on the floor at 2 p.m. serving forty-four orders in two hours. That’s one order every three minutes, split four ways.
The fix: this is where your spare hours live, and it’s the block to raid when the peak needs coverage. Fix the peak first, then decide what to do with what’s left over. Trimming the quiet block and stopping there saves you a bit of payroll and leaves the expensive problem exactly where it was.
The opening and closing lag
Everyone starts at the same time, whether or not there’s work for everyone at that hour. Same at close, where three people wipe down a room that one person could close.
The fix: stagger. Nathan opens alone at 7 because the first hour is prep and one delivery, and he’s out at 3. Mandy comes in at 9. Emma comes in at 11 for the lunch rush and closes at 7. Three people, twenty-four hours between them, spread across the day instead of stacked at the ends.
Understaffing and overstaffing by industry
The method is the same everywhere. What it catches isn’t.
Retail. An understaffed peak doesn’t show up as fewer people walking in. It shows up as fewer of them buying. If your traffic is steady and your conversion is dropping at 4 p.m., that’s a staffing problem wearing a marketing problem’s clothes. More on retail scheduling best practices.
Restaurants. Run front and back of house as separate tallies. The kitchen is under pressure before the dining room fills, so one combined number averages away both problems. More on building a restaurant schedule.
Healthcare and residences. Your floor sits close to your ceiling, and it may be prescribed rather than chosen. Run the tally on the flexible layer above the minimum, not on the minimum itself.
Warehousing and logistics. Your demand arrives on a schedule, so your data is better than most. The gap is usually between shifts rather than inside them, so check your handovers before your blocks.
Where reality fights back
Reading demand is the easy half. Now you build a schedule that survives contact with real people, real rules, and real availability.
You can’t schedule 2.3 people. Your data says the 2 p.m. block needs 2.3. You’ll schedule 2 or 3. Round based on what breaks when you’re short: if it’s a longer lineup, round down. If a resident doesn’t get help or a truck sits at the dock, round up.
Minimum shift lengths. Nobody wants a two-hour shift, and often you can’t offer one. It’s a big part of why coverage stays lumpy, and it’s not a problem software fixes. If you’re hiring, hire for the shape of your day rather than the convenience of an eight-hour block. A few people who want short, well-placed shifts will do more for your coverage than one more full-timer.
Availability isn’t infinite. The perfect coverage curve is worthless if nobody available can work it. Mandy has class Tuesday afternoons. Nathan can’t close. Collect availability properly before you build, not after.
Don’t solve peaks with overtime. It’s the fastest fix and the most expensive one, and overtime hours add up faster than most managers expect. Post the extra coverage as an open shift instead, so people who want more hours can take them and nobody gets volunteered.
A split shift is a real option, and a real imposition. Two short shifts with a gap between them cover a lunch peak and an evening peak without paying for the dead afternoon. They also stretch a five-hour workday into nine, with an unpaid gap the employee can’t use, and some jurisdictions and collective agreements require a premium. Some people want them, for the flexibility or the extra hours. Offer them, don’t assign them. Our guide to split shifts covers where they work and where they don’t.
Your floor isn’t negotiable. Every operation has a level below which safety, service, or legal obligations break. In healthcare it may be prescribed. In retail it might be never leaving one person alone at close. Set your floor first, then build up from there. Savings that come from going under the floor aren’t savings.
What this looks like week to week
The block tally gives you a baseline. A short loop keeps it accurate.
- Before you build: look at coverage across the day, not headcount for the week. Pull up last week’s block numbers before you place a single shift.
- While you build: watch the running labor cost as you place shifts, not after you publish. Once it’s published, the only way to fix an expensive week is clawing back hours from someone who already planned around them. A scheduling app built for hourly teams shows the cost of each shift as you drop it in, which turns “that’s about right” into a number you can still act on.
- After the week: compare scheduled hours against clocked hours. People clocking out early on Tuesday afternoons is your data telling you Tuesday afternoons are overstaffed.
- Every few months: rerun the tally on your two busiest days. Traffic patterns drift, and the reference block you set in March most likely won’t hold in August.
Agendrix shows your labor costs as you build the schedule. 21-day free trial, no credit card required.
The number you defend
Every schedule is a bet about how many people the next four hours will need. Most managers make that bet from memory and defend it from instinct. You don’t have to. The answer is in four weeks of your own reports, and it’s better than anything a benchmark chart will tell you.
What is understaffing?
Understaffing is when the work on the floor exceeds what the people on shift can reasonably handle. It can apply to a whole operation or to a single two-hour window inside an otherwise well-staffed day. Because the cost is missing revenue rather than added expense, understaffing almost never appears on a financial statement, which is why it often runs for months before anyone names it.
What is overstaffing?
Overstaffing is when more hours are scheduled than the workload justifies, so wages get paid for work that isn’t there. Unlike understaffing, it registers immediately in your labor cost. That visibility is why most managers correct overstaffing faster, and more aggressively, than they should.
Which is worse, understaffing or overstaffing?
Understaffing is generally the costlier of the two, because lost sales and the turnover that follows tend to exceed the wages saved by cutting a shift. Overstaffing is simply easier to see. In practice most teams have both on the same day, a few hours apart, which means the fix is usually redistribution rather than hiring or cutting.
How do I determine my staffing needs?
Pick a demand unit your business already counts (transactions, covers, admissions, units picked) and log it in two-hour blocks for four weeks, alongside the hours actually worked in each block. Divide demand by hours worked to get a ratio for every block. Choose a block where service felt good as your reference, then compare the rest against it. Blocks running well above your reference are understaffed; blocks well below it are overstaffed.
What is a good labor cost percentage?
Labor cost percentage varies enough by industry that a single benchmark isn’t useful, and the averages you’ll find online usually mix profitable businesses with failing ones. Tracking your own by hour block rather than by week is more informative, because a healthy weekly figure can hide badly distributed hours. Compare each block against your own best-performing periods first.
What are the signs I'm understaffed?
Recurring overtime, breaks skipped or shortened, tasks handed to the next shift, complaints about wait times, and turnover concentrated among your most experienced people. Any two of these appearing in the same time block for several weeks is a strong signal that the block is understaffed rather than unlucky.
Does understaffing cause employee turnover?
Consistently short-staffed shifts are strongly associated with burnout and departures, and the first to leave are often the experienced employees who absorbed the extra work. That makes understaffing self-reinforcing: losing tenured staff makes the shortage harder to fix and pushes more of the load onto whoever stays.
Can scheduling software tell me how many people to schedule?
Scheduling software can show your labor cost as you build, flag conflicts, and compare scheduled hours against hours actually worked. It won’t set your staffing levels for you, because only you know your service standard and your safety or legal floor. The data makes the decision defensible; the decision stays yours.
