Retail Staff Scheduling: Your Busiest Hour Lies to You
Most schedules come from store hours and gut feel. Build yours from a half-hour count of your own sales instead, and staff the transaction peak and the revenue peak differently.
Pull Thursday up on your phone. Somewhere around 12:30 you will find your densest half-hour of the day, the most sales you ring in any 30 minutes. Somewhere around 5:00 you will find your richest one, the most dollars. They are not the same half-hour, and you almost certainly staffed them identically.
Most retail staff scheduling is built from the wrong document. You start with store hours, 10 to 7, six days, and fill them with gut feel and who asked for Friday off. Two on Saturday, one on Tuesday. The wage bill lands in the same place every week, which feels like control. It isn't. If you write the schedule, you are spreading a fixed number of hours across a demand curve nobody has looked at. If you sign the payroll, you probably don't need fewer hours, you need the same hours pointed at different half-hours. And if you work the shifts, this is why your Tuesday looks the way it does.
How do you build a retail staff schedule from sales data?
Export the last six to eight weeks of sales with timestamps, bucket every sale by weekday and half-hour, then average each bucket across the same weekday only. That gives you two curves: number of sales, and dollars. Staff the transaction peaks for throughput, with extra hands and a second register open. Staff the revenue peaks for selling, with your strongest closer free to talk. They are almost never the same hour.
Your busiest hour and your richest hour are not the same hour
A transaction peak is a queue. People on a break know what they want, and only the speed of the line stands between them and the sale. The trigger for adding a body is arithmetic, not vibes. Time one sale at the register, start to receipt, then multiply by the sale count in your busiest bucket. 90 seconds times 14 sales is 21 minutes of a 30-minute window with someone pinned to the register. Once a bucket eats 70% of the window, you are staffing a line, not a floor, and the second person has to be there before it forms.
A revenue peak is a conversation. Fewer customers, bigger baskets, and decisions that take 15 minutes. A second body does almost nothing, and two people hovering over one couple deciding on a $400 item is worse than one. That half-hour needs your best seller unblocked, with enough slack to make the second approach 90 seconds after the greeting.
Work on traffic-based labor planning in apparel stores models sales against labor adequacy, the staff-to-traffic ratio, rather than headcount alone. The same extra hour is worth very different amounts depending where you drop it.
And if your best closer is never on at 5:00 because the hours that pay best sit elsewhere, that is a commission design problem, not a scheduling one.
Retail staff scheduling starts with an export and a spreadsheet
You do not need workforce management software. One export and about 40 minutes.
- Export the last six to eight weeks of sales, one row per sale, with a timestamp and a total.
- Add two columns: weekday, and half-hour bucket (10:00, 10:30, 11:00 and so on).
- Pivot to count of sales and sum of dollars, by weekday and by bucket.
- Average each bucket across the same weekday only. Saturday tells you nothing about Tuesday, and averaging them describes no day you actually trade.
Two rules keep it honest. Use the median where one $2,000 sale distorts a bucket, because you want the typical Thursday and not the memorable one. And drop weeks that were not normal trading, like the sale event, the refit or the storm. Those need their own staffing anyway.
You need two things: timestamped sales, and hours actually clocked. If your POS handles clock in/out as well as sales, and VoVi does, that is one place to look instead of two. Rebuild the curve quarterly, and again before December.
Two numbers to rank your half-hours
Sales per labor hour is net sales divided by hours actually clocked, including the opener who was in before the door opened. Saturday's $4,200 across 26 clocked hours is $162. Tuesday's $980 across 14 hours is $70. Now you know which day carries the other.
Labor as a percentage of sales is wage cost divided by net sales. The useful version is weekly, per store, with payroll taxes included so it is the real number.
I am not going to hand you a healthy percentage. It varies too much by format, margin and market, and the benchmarks you get quoted usually come from a business with nothing in common with yours. Benchmark against yourself. Take your most profitable four weeks of the last year and use that labor percentage as the target.
Then rank your half-hour buckets by sales per labor hour. The bottom tenth is where your next cut comes from. The top tenth is where your next hire goes before it goes anywhere else.
Open, handover and close: the hours the curve can't see
Your curve shows zero at 9:15 because nothing sold, not because nothing happened. Receiving, counting the float, restocking and price changes are labor hours, and they sit in your denominator. Give them one person, a list and a time limit, because tasks expand to fill whoever is standing there.
The handover is worse, because it is invisible. The closer starts counting at 6:40 for a 7:00 close, and for 20 minutes the floor has nobody on it, which is when the last customer of the day walks in. That decision got made by accident. Make it on purpose. Overlap the last two people by half an hour, one owns the count, the other owns the floor and the door. If your drawer is regularly off, the overlap is often why, because a short drawer is almost never theft. It is a count done while serving someone.
Then the dead hour. If your first hour averages under two sales, stop paying two people to stand in it. Move opening back an hour for four weeks and measure what you actually lose. Most independents won't, because changing the sign feels like an admission. If your lease fixes your hours, and most mall leases do, give the hour a job instead. Receiving, resets, order picking, calling the customers waiting on stock. One person, door open, working. Do not schedule your best seller into an hour with nobody to sell to.
Publish it two weeks out, even though nobody makes you
Sellers game a schedule for one reason. They cannot plan around it. The Shift Project, a Harvard and UC Berkeley survey of hourly service-sector workers, finds 60% get less than two weeks' notice, plus widespread last-minute changes to shift times. Fair workweek rules now require 14 days' written notice in Oregon and several US cities, though they mostly cover large employers. Oregon's predictive scheduling law starts at 500 employees worldwide, in retail, hospitality and food services. An independent is almost never covered, but check your own city, because a few ordinances set the bar well below 500.
Do it anyway, and not for karma. A field experiment in 28 Gap stores, 19 given more stable and predictable schedules against nine controls, saw median sales rise 7% and labor productivity 5%, worth about $6.20 more revenue per labor hour. The same study found only about 30% of week-to-week variation in payroll hours was explained by customer traffic. Most of the churn in most schedules is not demand. It is the manager rewriting on Wednesday.
The curve is what makes two weeks' notice possible. Once you know Thursday's shape, next Thursday takes 8 minutes to write.
What to do with this
- Bucket six to eight weeks of sales by weekday and half-hour, same weekday only, and chart sales count and dollars separately.
- Time one sale at the register, multiply by your busiest bucket's count, and add a body when it eats 70% of the window.
- At revenue peaks, add time to talk rather than a second body.
- Rank your half-hour buckets by sales per labor hour, and benchmark labor percentage against your own best weeks.
- Schedule the closing overlap on purpose, and give the dead hour a task list or lose it.
Common questions
How many weeks of sales do I need before the curve is trustworthy?
Six is the minimum, eight is better, and what you actually need is six clean examples of each weekday, so a holiday or a closure means going back further. If buckets still swing wildly at eight weeks, move to hourly ones.
What if my best closer is also my fastest on the register?
Put them on the revenue peak. A queue can be covered by a second, less experienced person and an open register; closing a $400 sale cannot. Train someone else to be the throughput answer.
Should I schedule to traffic or to sales?
Traffic is the better input in principle, because it also shows the people who left without buying. But a door counter that miscounts strollers and staff trips gives you a confident wrong curve. Unless you trust yours, use sales.