To work out how many warehouse workers you need per shift, divide that shift’s volume by your own measured rate. Divide again by the productive hours one person gets. Round up. Then hold that number as a minimum per site and per role, so the week is sized from it rather than from what you remember running last month.
How many warehouse workers you need per shift
Warehouse staffing levels are a number per shift, not a number per building. Each shift owns its own slice of the day’s work, and four figures clear it: the work, the rate, the productive hours, and the jobs that are not picking. Nothing else goes in.
All four sit inside your own operation. Nobody’s software knows your rate. A staffing model built on an industry average is a model built for a building you do not run.
THE FOUR FIGURES, AND WHERE YOU GET THEM
Almost every staffing guide will start you on a benchmark rate. That advice is wrong. A published rate was measured in somebody else’s building, on their best week, with their racking and their pick paths. It will overstate you by fifteen to twenty percent. Measuring your own costs one picker, one shift and a calculator.
The arithmetic is two divisions. Volume divided by rate gives you the labor hours the shift holds. Labor hours divided by productive hours gives you people. Round up, then count the non-picking roles on top.
For example, take the second week of January at a Midwest distribution center, once peak is over and the volume has settled. First shift runs 6:00 AM to 2:00 PM. It carries 4,000 order lines on a weekday.
Your pickers measure 80 lines an hour. After two breaks and a clean-down they get 7 productive hours each. So 4,000 divided by 80 is 50 labor hours of picking, and 50 divided by 7 is 7.1 people. Eight pickers. Two forklift operators have to be on trucks the whole shift. First shift is ten people.
Round up, always. A picker with a quiet half hour is cheaper than a truck that leaves half loaded. Round 7.1 down and you have 560 lines still on the floor at two o’clock, with a carrier cut-off that does not move for you.
All of this gets thinner as the crew gets smaller. Somewhere under fifteen people the arithmetic stops helping you much, because one absence is seven percent of your floor and no buffer figure survives that.
Going the other way costs real money. It never shows as a line item. One picker more than you need, on five first shifts a week at $22 an hour, is $880 a week. That is about $45,760 a year, out of one site.
That is the whole of warehouse labor planning. Get the number right. Then make sure the number is what actually gets built. I would never set a staffing level off the headcount you remember running last month. Measure the rate.
How to set warehouse minimum staffing requirements per role
A staffing minimum is the smallest number of people, in a named role, that a shift is allowed to be built with. In XShift AI you set one per site and per role, and every shift it builds at that site is sized from it. Not warned about. Sized from it.
Where a shift needs a different number, an override replaces the site figure for the days and the hours you name. That distribution center needs three numbers, not one. Eight pickers and two forklift operators as the floor. Ten pickers on a Monday. Two pickers on third shift.
Each of the last two replaces the floor for the days and the hours you give it, so the rest of the week keeps its original number.
- 1
Name every job somebody has to be doing on a shift: Picker, Forklift Operator, Packer, Loader, Replenishment. A count can then be held against each one separately.
- 2
Set the floor for the site. Eight pickers and two forklift operators. Ten people, and nothing at that site gets built below it.
- 3
Set the Monday figure at ten pickers, for the hours first shift actually runs. It replaces the floor on those hours only.
- 4
Set the third shift figure at two pickers, for the hours third shift runs, so the night is sized off its own volume rather than the day’s.
- 5
Build the week. Each shift is sized from whichever number matches its site, its day and its hours, and each role is filled separately until that role’s count is met.
In XShift AI you set those three numbers once and every week it builds is sized from them. The screen-by-screen version is on the role-based staffing page.
WHAT THE SITE NOW HOLDS
Midwest DC every shift
Total Required: 10 staff members
6:00 AM to 2:00 PM
10 Picker • forklift stays at 2
10:00 PM to 6:00 AM
2 Picker • replenishment only
Two overrides and one floor. Monday carries the weekend backlog, third shift only replenishes, and every other shift at this site is built to eight and two.
I would keep both, every time. A warehouse almost always needs both. You want a floor that never moves, and you want the two or three shifts a week that are nothing like the others to carry their own number.
Setting your first warehouse staffing minimums
You do not have to work any of this out before you start. During setup the AI Copilot asks how you staff: by site, or by day and time. It writes your first set of minimums from what you tell it, and the numbers you hand it are the ones the arithmetic above produced. Nothing in there is a guess.
Change them whenever your volume changes, and the change applies to the next week you build.
Every slot it could not fill, and the reason behind it
A minimum is only worth having if you find out the moment it is not met. When XShift AI builds a week, it records every slot it could not fill. It groups those slots into the handful of causes behind them, ordered by how many slots each cause accounts for.
That is the Schedule Log. You read it straight after a week is generated. It counts in slots, not shifts. A shift needing eight pickers with six on it is two people still needed, and that is the difference between a week that runs and a week that limps.
For example, here is what the run above reports back on a bad week.
23 of 30 shifts filled, 14 more people needed.
2 people were scheduled without availability on file.
No one with the Forklift Operator role is free
8 people are needed as Forklift Operator. People do work here, they just hold other roles.
Not enough people free at Midwest DC
Everyone who works there was already booked, off, or unavailable.
No one is assigned to Southeast DC
Nobody is linked to this location, so no one can be scheduled there.
3 employees have no location
They cannot be scheduled anywhere until they are assigned to one.
Fourteen missing people. Three sentences explain all of them. Eight of the fourteen are one problem with one fix. People work at that site, they just do not hold the Forklift Operator role, so give two of them the role and eight slots close at once.
That is why the causes are ordered by size: the row at the top is the change that clears the most work.
Open any cause and you get the shifts underneath it, and under each shift the people who could have worked it, every reason they could not, closest to allowed first.
A week where nobody ever asks why is a week where the same two roles come up short every Monday and nobody connects the two. I read the log before the calendar.
One new shift, start to finish
The whole thing runs in a few minutes, from the volume on the report to the week on the board. Here it is once more, on a different site, following the same six steps. Same order, different numbers.
For example, take the week a customer adds Saturday outbound at a cold storage site. That Saturday carries 1,200 lines.
Your pickers are slower in the cold, at 60 lines an hour. People blame the temperature for that, though I would put more of it on the gloves. With the extra breaks the cold room needs, they get 6.5 productive hours on an 8:00 AM to 4:00 PM shift.
So 1,200 divided by 60 is 20 labor hours, and 20 divided by 6.5 is 3.1 people. Four pickers, plus one loader on the dock.
So the number you write down is four pickers and one loader, at the cold storage site, on a Saturday, from eight to four. Loader has to exist as a role of its own before it can carry a count, because a count on Picker will never put a loader on the dock.
Then generate next week. The Saturday shift comes out sized at five, four pickers and one loader, filled from the people who work at that site and hold those roles. The weekday shifts keep the numbers they already had, because the override only claims Saturday from eight to four.
There is one gap worth knowing about. When you type a shift in by hand and put a name on it, your written rules still run, but availability is not checked on that path. Look at the person’s availability before you save.
Warehouse staffing levels: your questions answered
How many warehouse workers do I need per shift?
Divide the order lines that shift is responsible for by your own measured lines per labor hour, divide that by the productive hours one person gets, and round up. Write the total into XShift AI as a staffing minimum per role, and every shift it builds at that site is then sized from it instead of from memory.
For example, a first shift at 4,000 lines and a measured rate of 80 lines an hour is 50 labor hours. At 7 productive hours each, that is 8 pickers. Then add the roles that are not picking.
How do I set a minimum number of pickers per shift?
Hold it as a count against a named role, not as a headcount for the shift. In XShift AI you name Picker as a role and set the count for it at each site, so eight pickers means eight pickers and not eight bodies.
Every shift built at that site is sized from that number, with the Picker role filled separately from every other role until its count is met.
Should I schedule to average volume or peak volume?
Schedule to the volume that shift actually gets, not to the week average, because averaging overstaffs your quiet days and understaffs your heavy ones at the same time.
In XShift AI those minimums are held per site and per role, not as one headcount per shift. Work out the count from that shift’s own volume, then set it against that day and that role. A Monday inbound shift and a Thursday inbound shift can carry different numbers. The week is built from both.
How do I calculate warehouse headcount from order volume?
Four numbers do it: the shift’s volume in lines, your measured rate in lines per labor hour, your productive hours per person, and the roles that are not picking.
Divide volume by rate to get labor hours, then divide that by productive hours to get pickers. Count the other roles on top. Write the total into XShift AI as a minimum per site and per role. Every schedule is then built to it.
How do I staff a third shift in a warehouse?
Run the same arithmetic on the third shift’s own volume. Hold that as a separate number for the hours third shift runs, rather than lowering the site floor. In XShift AI you give it the lower counts and the hours they apply to. The day shifts keep their own number.
Why did my warehouse schedule come up short?
Read the Schedule Log in XShift AI. It opens on one line, such as 23 of 30 shifts filled and 14 more people needed. Then it groups every unfilled slot into the handful of causes behind it, ordered by how many slots each cause accounts for.
The causes are named: nobody assigned to a site, nobody free who holds a required role, everybody there already booked or off, and employees with no site at all.
How do I stop overstaffing my warehouse shifts?
Set the number from a rate you measured, not from the headcount you ran last month. Then let the schedule be built to it.
In XShift AI the shift is sized from the staffing requirement for that site, that day and those hours, so the extra person is never created in the first place.
One picker too many on every first shift is a wage you pay for all year and never see as a line item.
How many forklift operators do I need per shift?
Count the equipment that has to be moving at once, not the people: one operator per truck that has to run through the shift. Add cover for breaks if the truck cannot stand idle.
Set that as its own role in XShift AI, so the count is filled separately from picking and a picker is never counted as the operator.
Nothing in the software checks a license or a certification, so the role is what tells the schedule who is an operator and who is not.
How many hours a week can a warehouse worker be scheduled?
It depends on your state and on what you agreed with the person in writing. Ask your state labor office. Read your own handbook or offer letter. Overtime pay after 40 hours in a week is a separate question from how many hours you are allowed to schedule.
Related articles
How to schedule employees around availability
Set the days and the hours each person cannot work, and build the week around both.
How to handle call-offs: the ultimate guide
What has to be true before somebody can take a shift, and the order it gets checked in.
How to calculate labor cost percentage
Turn a sales or volume forecast into the wage bill a week is allowed to carry.