Demand Forecasting 101: Scheduling Around Your Busiest (and Quietest) Hours
Scheduling around busy and quiet hours starts with demand forecasting. See how to predict staffing needs using data you already track.

Demand forecasting for scheduling means using past sales, foot traffic, call volume, or appointment data to predict when a business will be busy or quiet, then building rosters that match staff levels to those predicted periods. Done well, it prevents the two most expensive labor mistakes an operation can make: leaving a floor short-handed during a rush, or paying wages for a shift nobody needed. This guide breaks down how operations managers, shift supervisors, and line managers can build a reliable forecast using data they already have, without buying specialized forecasting software, and how to translate that forecast into a working roster that holds up week after week.
Why Getting This Wrong Is So Costly
Understaffing and overstaffing are not equally visible mistakes, but they are equally expensive. Overstaffing shows up immediately as wasted payroll. Understaffing is quieter it shows up later as lost sales, frustrated customers, and burned-out staff, which is exactly why it is so often underestimated.
A 2025 survey of retail workers found that 77% said their store regularly loses sales due to poor scheduling or staffing decisions, and 51% reported their location was short-staffed during busy periods most of the time. That same research found 82% of frontline workers feel regularly overwhelmed at work, a direct consequence of labor plans that don't match real demand.
The revenue impact is not hypothetical. Research led by MIT Sloan Visiting Professor Rogelio Oliva found that when store staffing falls short of demand, 33% of customers who needed help couldn't find sales staff, and 6% of all possible sales were lost purely because of insufficient coverage. Oliva's team also found that store managers, left to guess at staffing needs, systematically underestimated how many people they needed during peak hours, a pattern that repeats across retail, hospitality, healthcare, and service industries whenever staffing decisions rely on gut feel instead of demand data.
On the other side of the ledger, overstaffing quietly erodes margin. Labor is consistently one of the largest controllable costs on an operating statement, particularly in service-driven industries, a factor that makes even small forecasting errors compound quickly across a full roster and a full year.
Both failure modes tend to trace back to the same root cause: staffing decisions made from memory or intuition instead of a documented demand pattern. A supervisor who staffs Saturday the same way every week, regardless of whether that particular Saturday falls on a payday, a holiday weekend, or a slow off-season stretch, is effectively guessing, and guessing gets more expensive the larger the operation grows. The goal of demand forecasting isn't to remove judgment from the process; it's to give that judgment something reliable to work from.
What a Demand Forecast Actually Looks Like
A demand forecast, at its simplest, is a prediction of how much work will need doing during a given time block, expressed in transactions, calls, patients, covers, or units, translated into a headcount needed to handle that load without falling behind or standing idle.
This doesn't require predictive software or a data science team. Every operation already generates the raw material for a forecast:
Point-of-Sale or Transaction Data - Timestamped sales, order counts, or ticket volume
Foot Traffic or Entry Counts - From door counters, appointment logs, or reservation systems
Call or Ticket Volume Logs - Timestamped inbound contact data
Historical Rosters and Actual Hours Worked - What staffing levels were in place during past busy and quiet periods
Calendar and Event Data - Holidays, paydays, local events, weather patterns, school terms
The forecasting method described below works entirely from spreadsheets and the records a business already keeps, no specialized platform required.
Consider a simple example: a coffee shop that logs 40 transactions between 7 a.m. and 8 a.m. on a typical Tuesday, but only 12 during the same hour on a typical Thursday. Without a documented pattern, both days might get staffed identically out of habit. With even a basic forecast, it becomes obvious that Tuesday needs an extra person at the register while Thursday does not, a small adjustment that, repeated across every hour of every day, adds up to meaningfully better labor spend without cutting a single needed shift.
Building a Forecast Without Specialized Software
Step 1: Pull at Least 8-12 Weeks of Historical Data
A forecast is only as good as the pattern it's built on. Export transaction counts, call volume, or foot traffic by hour (or half-hour, for high-turnover environments) for the past two to three months at minimum. Longer history, ideally a full year, captures seasonal swings that a shorter window will miss entirely.
Step 2: Break the Data Into Day-of-Week Buckets
Demand rarely distributes evenly across a week. Group historical volume by day (Monday, Tuesday, and so on) and calculate the average volume per hour for each day. This immediately surfaces which days run consistently heavier, a pattern most line managers can already sense intuitively, but rarely have documented in a way that supports a defensible roster.
Step 3: Calculate a Simple Moving Average
For each hour-of-day and day-of-week combination, average the last 4-8 weeks of volume. A moving average smooths out one-off anomalies (a single slow Tuesday because of a storm) while still tracking recent trends more closely than a full-year average would. This is the core forecasting technique used in hospitality operations long before predictive software existed, and it remains reliable for most day-to-day labor planning.
Step 4: Layer In Seasonal and Event Adjustments
Once the baseline moving average is set, adjust it for known variables: holidays, paydays, local events, school breaks, or weather patterns specific to the business. Retailers provide the clearest example of how large these swings can be, the National Retail Federation's holiday season hiring estimates alone have ranged from roughly 265,000 to 665,000 additional seasonal workers in a single quarter depending on the year's economic conditions, illustrating just how much a single seasonal window can move demand relative to a typical baseline.
Step 5: Convert Predicted Volume Into Labor Hours
Translate forecasted volume into required headcount using a simple productivity standard, for example, "one cashier can process 25 transactions per hour" or "one associate can safely support 40 customers on the floor per hour." Multiply forecasted volume for each hour by this standard to get the number of staff needed, then round up to reflect realistic shift-length constraints.
Step 6: Compare the Forecast Against Last Period's Actual Roster
Before finalizing shifts, lay the new forecast next to what was actually staffed during the same period last cycle. Large gaps in either direction, far more forecasted demand than staff scheduled, or the reverse, are worth a manual sanity check before shifts go live. This final check catches obvious data errors, such as a public holiday that was misclassified as a regular day, before they get baked into a live roster.
Turning the Forecast Into a Working Roster
A forecast is only useful once it becomes shift assignments. A few principles keep that translation practical:
Staff to the curve, not the average. Flat shift blocks built around an average day will consistently understaff peaks and overstaff lulls. Stagger start and end times so headcount rises and falls with the actual demand curve.
Build in overlap at shift changes. A hard changeover at the exact peak hour creates a coverage gap. Stagger shift boundaries so incoming and outgoing staff overlap briefly during transition periods.
Reserve a small flex pool. Even a strong forecast will miss occasionally. Cross-trained staff or a short on-call list absorbs the difference without requiring a full re-plan.
Publish shifts as far ahead as the forecast allows. Predictability matters as much to workers as it does to the business. Research from the University of California's Shift Project found that 41% of hourly workers learn their schedule less than a week in advance, a pattern strongly associated with higher turnover and lower engagement. A forecast built two to three weeks out gives managers room to publish shifts earlier and reduce that instability.
How This Plays Out Across Different Operations
Retail - Demand tracks foot traffic and transaction volume, with sharp swings around weekends, paydays, and holiday periods. A UCLA study of the Los Angeles retail sector found that 8 in 10 workers lacked a set, predictable work pattern, underscoring how much retail labor planning still relies on last-minute adjustment rather than forecasted demand.
Hospitality - Covers, reservations, and check-in volume drive labor needs, with demand shaped by day of week, local events, and season. Moving-average forecasting by meal period or shift block is a long-standing method in this sector for setting baseline staffing guides before adjusting for known events.
Healthcare and Clinical - Patient volume, appointment density, and historical admission patterns drive coverage needs. Research on inpatient units has shown that basing staffing purely on average demand leaves a meaningful share of shifts understaffed, since averages by definition miss the peaks that matter most for coverage and care quality.
Call Centers and Service Desk - Inbound volume by hour and day of week is typically the most consistent and well-documented forecasting input of any industry, since every call is timestamped automatically. The same moving-average and day-of-week bucketing approach applies directly, just measured in contacts per hour instead of transactions or covers. Spikes tied to billing cycles, product launches, or outages are usually predictable enough to plan around once a few cycles of history are on record.
Across all four settings, the underlying method barely changes, only the unit being measured does. A retailer counts transactions, a restaurant counts covers, a clinic counts patient visits, and a service desk counts contacts, but in each case the path from historical volume to a working roster follows the same day-of-week and moving-average logic.
Keeping the Forecast Accurate Over Time
A demand forecast is not a one-time project, it's a routine. Demand patterns shift as a business changes: a new competitor opens nearby, a popular product line launches, a location's customer base ages or turns over, or a call center adds a new product line that generates its own contact volume. A forecast built from last year's patterns without updates will drift further from reality every month it goes unchecked.
A simple monthly or quarterly cadence keeps the model honest:
Pull the actual volume data for the period just completed.
Compare it to what was forecasted for the same hours and days.
Flag any hour blocks where the gap exceeds a set threshold, for example, 15-20% over or under.
Investigate the cause before adjusting the model, a one-off weather event is different from a lasting shift in customer behavior.
Update the moving average and seasonal adjustments to reflect confirmed changes, leaving one-off anomalies out of the baseline.
This routine takes a fraction of the time it took to build the original forecast, but it's what keeps a scheduling model useful past its first few months. Operations that skip this step often find their forecast quietly losing accuracy until a supervisor abandons it altogether and reverts to guesswork, undoing the entire benefit of building it in the first place.
Common Forecasting Mistakes to Avoid
Relying on a single "typical week." One week rarely represents the full range of demand a business sees across a month or season.
Ignoring shift-length constraints. A forecast that calls for 1.5 people during an hour isn't actionable without a plan for how partial coverage gets handled.
Never revisiting the forecast after publishing. Demand patterns shift with new locations, new promotions, or changing customer behavior. A forecast built a year ago should be revisited regularly, not treated as permanent.
Treating every quiet period the same. A slow Tuesday afternoon and a slow holiday Monday can have very different causes and may call for different responses.
Skipping the actual-versus-forecast comparison. Without comparing forecasted demand to what actually happened, there's no way to know whether the model is improving or drifting.
Building the forecast in isolation from the people using it. Shift supervisors and line managers who work the floor daily often notice pattern shifts before the data catches up. Folding their observations into the review cadence, rather than treating the forecast as a top-down number, tends to produce a more accurate scheduling model over time.
Forecasting demand but not communicating the reasoning behind the roster. Staff are more likely to trust a schedule that visibly reflects real demand than one that seems arbitrary, even when the underlying logic is sound.
The Bottom Line
Demand forecasting isn't about predicting the future perfectly, it's about replacing guesswork with a documented pattern, built from data the business already has. Getting it right means fewer shifts that are either understaffed during a rush or overstaffed during a lull, and a roster that holds up against the way demand actually moves through a week. The method doesn't require new tools, just a consistent habit of pulling the data, checking it against what actually happened, and adjusting the plan before the next cycle begins.
Build rosters around real demand patterns, not guesswork. Rostero helps operations teams turn historical data into staffing plans that hold up during peaks and lulls alike. Start your 30 day FREE trial!



