
Hannah Owen
·
Updated
·
Fact-checked against Gartner & Forrester data
Workforce forecasting predicts how many contacts will arrive on each channel in each 15 or 30 minute interval, and how long each one will take, so you can staff to it. For a support team of 20 to 60 agents, a realistic accuracy goal sits between the plus or minus 5% interval error that Brad Cleveland sets for groups of 100 or more agents and the plus or minus 10% he sets for groups of 15 or fewer.
Call center forecasting and contact center forecasting use the same method; what changes for a modern support team is the channel mix (chat with concurrency, email in a backlog) and the share of contacts AI agents now resolve before a person sees them. This guide covers the forecast itself. For the full plan, schedule and staff cycle, see our contact center workforce management guide.
Key takeaways
Forecast at the interval you staff to. Phone and chat need 15 or 30 minute intervals by weekday; email can be forecast by day and worked as a backlog.
Measure accuracy per interval, not per day. In a Peopleware example, a day was only 0.5% off in total but the interval MAPE was 13.2%.
Set a MAPE target by team size. Call Centre Helper suggests 5% or less for centres of at least 100 agents and 10% as reasonable for smaller ones.
Forecast workload, not just volume. Volume x handle time (divided by actual chat concurrency for chat) is what drives staff. Use measured concurrency, about 1.7 when the limit is 2, not the limit itself.
With AI agents, forecast the human residual. In our worked example AI resolves 30% of chats, but human workload falls 23%, because the chats left over take longer.
Which tools do workforce forecasting for support teams?
Lorikeet Workforce Manager turns your ticket and call volume by channel, day and hour into a staffing forecast that is ready to use as is, and you can fine-tune it for known events like a sale or launch. It is built for support teams of 20+ agents running live chat or phones. Other options:
Zendesk WFM analyses historical data to predict staffing needs in a given day, month or season, according to Zendesk. A natural fit if you already run Zendesk.
Assembled offers several forecast models, from an N-week average to a seasonal model and Meta's Prophet, as its forecasting guide explains.
NICE Workforce Management forecasts with 45+ patented algorithms, per NICE. Large or regulated contact centres with a dedicated planning team often need that depth.
Our workforce management software comparison covers each in more detail.
What is workforce forecasting?
Workforce forecasting is predicting contact volume and handle time per channel and interval, so that the staffing calculation and roster that follow are built on demand rather than habit. It has three horizons, and each uses different granularity. Assembled's forecasting guide matches them like this:
Long term (headcount planning): forecast by week or month, months ahead.
Medium term (email and non-urgent tickets): forecast by day.
Short term (chat, phone, messaging and AI-automated support): forecast hourly or by 15 minute interval, with the caveat that you need substantial volume for these short-term forecasts to hold up.
The output of a forecast is not a headcount. It is workload: contacts multiplied by handle time, per interval, per channel. Turning that into people is a separate step, covered below and in our WFM glossary.
How do you forecast contact volume by channel, day and interval?
Start with a simple average of the same weekday and interval over recent weeks, split by channel, then only add complexity when the simple method stops working. A practical sequence:
Export interval history per channel. Pull counts of created calls, chats and tickets by 15 or 30 minute interval from your helpdesk or telephony platform. Keep channels separate; they peak at different times.
Forecast at the group you route to. Peopleware's Brad Cleveland warns that a perfect forecast of total workload is of limited use if contacts go to specialised groups: a Mandarin-speaking team, a billing queue, a tier 2 desk. Forecast each one.
Build the baseline. Assembled's simplest model is an N-week average: to forecast 9am Monday, average the 9am volume of the past several Mondays. It suits short-term forecasts (up to 4 weeks) when volume is stable.
Add trend. If volume is growing or falling, Assembled's "N-week average with momentum" projects recent change forward. For most support teams, trend tracks customer count, so tie it to a growth number your finance team already uses.
Add seasonality once you have the history. Assembled's seasonal model looks at over a year of data. With less than a year, you cannot separate a seasonal peak from growth, so use known-event overlays instead.
How do seasonality, launches and known events change the forecast?
Treat known events as explicit overlays on the baseline, and remove one-off events from history so they do not inflate next month's forecast. Cleveland lists both failure modes among the ten most common causes of inaccurate forecasts in the Peopleware article:
Exceptions leak into the forecast. A storm, a confusing tax change or an uncoordinated marketing campaign drives a spike. If that week stays in your average unflagged, the following weeks are overforecast.
Nobody tells the forecaster. The software does not know what the marketing department is about to do. Most of what happens in a contact centre is caused by something outside it.
In practice, keep a short event calendar next to the forecast: launches, price changes, billing runs, planned maintenance, campaign sends, public holidays. For each event type, look back at the last two or three occurrences and record the uplift by interval, not just by day, because a billing email sent at 8am produces a morning spike, not an even lift. Our guide to handling seasonal support spikes covers the peak-season side.
How do you forecast handle time and chat concurrency?
Forecast average handle time (AHT) as its own series per channel, because workload is volume times AHT and an AHT error moves staffing as much as a volume error. Call Centre Helper makes the same point: AHT is just as important as volume when working out workload. Two rules from Cleveland help:
Plan on actual AHT, not the goal. If staffing assumes four minutes when calls really take seven, the schedule is, in his words, a pipe dream.
Watch work modes. If agents do not log after-call work consistently, measured AHT is wrong and so is the forecast.
Chat adds concurrency. Call Centre Helper's live chat forecasting article notes that the maximum chats per agent in your platform is not the average, and recommends using historical actual concurrency as the input. Concurrency also responds to staffing: overstaffed teams see it fall, understaffed teams see it rise as chats queue. Call Centre Helper's Erlang C for chat method uses a factor of 1.7 for agents allowed 2 chats and 2.5 for 3, and divides AHT by that factor to get an effective AHT.
A worked example: forecasting one Monday half hour
Here is the arithmetic for a single interval, live chat, 9:00 to 9:30 on a Monday, four weeks out. Every input below is an illustrative assumption, not a benchmark; replace each one with your own data.
Step | Assumption (illustrative) | Arithmetic | Result |
|---|---|---|---|
1. Baseline | Last 4 Mondays, 9:00 to 9:30: 52, 48, 55, 49 chats | (52 + 48 + 55 + 49) / 4 | 51.0 chats |
2. Trend | Customer base growing 2% a month | 51.0 x 1.02 | 52.0 chats |
3. Known event | Billing run that morning; past billing-run Mondays ran 20% above baseline in this interval | 52.0 x 1.20 | 62.4 chats |
4. Workload, no AI | AHT 12 min, measured concurrency 1.7 | 62.4 x (12 / 1.7) = 62.4 x 7.06 min = 440.6 min, / 30 | 14.7 agents' worth of busy time |
5. AI residual | AI agents resolve 30% of chats in this interval | 62.4 x 0.70 | 43.7 chats for humans |
6. Residual AHT | Remaining chats take 10% longer (simple ones are gone) | 12 x 1.10 = 13.2 min; 13.2 / 1.7 = 7.76 min | 7.76 min effective AHT |
7. Workload, with AI | Steps 5 and 6 | 43.7 x 7.76 = 339.3 min, / 30 | 11.3 agents' worth of busy time |
Step 4 and Step 7 are workload in Erlangs (busy agent time per interval), not staff. AI resolution removes 30% of chats, but workload only falls 23% (from 14.7 to 11.3), because the residual is harder. The next step, converting 11.3 Erlangs into seated agents at a service level, is a queueing calculation; we work it through in our call center staffing and Erlang C guide, so it is not repeated here.
How do you measure workforce forecast accuracy?
Measure forecast accuracy with mean absolute percentage error (MAPE) per interval: the absolute gap between forecast and actual, divided by actual, averaged across intervals. Daily totals hide errors that cancel out. In Peopleware's example, the day's forecast was 4,427 contacts against 4,407 received, only 0.5% off, but the interval MAPE was 13.2%. Chris Dealy, quoted by Call Centre Helper, calls these compensating errors and recommends saving a snapshot of the forecast at the moment you build schedules, then comparing actuals against that snapshot.
A small example over six half-hour intervals (illustrative figures):
Interval | Forecast | Actual | Absolute error | Absolute % error |
|---|---|---|---|---|
9:00 | 40 | 34 | 6 | 6 / 34 = 17.6% |
9:30 | 55 | 60 | 5 | 5 / 60 = 8.3% |
10:00 | 62 | 70 | 8 | 8 / 70 = 11.4% |
10:30 | 58 | 52 | 6 | 6 / 52 = 11.5% |
11:00 | 45 | 41 | 4 | 4 / 41 = 9.8% |
11:30 | 30 | 35 | 5 | 5 / 35 = 14.3% |
Total | 290 | 292 | 34 | MAPE = 72.9 / 6 = 12.2% |
The total is 0.7% under, which looks excellent. The MAPE of 12.2% is what the roster actually felt: understaffed at 10:00, overstaffed at 9:00. Weighted MAPE (WAPE), total absolute error divided by total actual, is 34 / 292 = 11.6%.
What target to set: Call Centre Helper suggests a MAPE of 5% or less for centres of at least 100 agents and 10% as reasonable for smaller centres, which lack the safety in numbers. Cleveland gives plus or minus 5% for groups of 100+ and plus or minus 10% for groups of 15 or fewer. A 30-agent support team should aim for somewhere between the two and track the trend.
Two caveats from Wikipedia's MAPE entry: MAPE cannot be used where actual values are zero or close to zero (quiet overnight intervals), and it penalises over-forecasts more than under-forecasts, so choosing a method by lowest MAPE biases you towards forecasts that are too low. Weighted MAPE avoids the zero problem. For quiet intervals, report WAPE or simply exclude intervals below a volume floor, and say which you did.
How do you turn a forecast into required staff?
Convert each interval's workload into seated agents with a queueing model such as Erlang C at your service level target, then divide by (1 minus shrinkage) to get rostered agents. The forecast feeds that calculation; it does not replace it. The steps are:
Workload per interval per channel (from the forecast above).
Seated agents per interval at your service level, for example 80% answered in 20 seconds for phone. Our Erlang C staffing guide shows the maths, and the contact center WFM hub has a full phone and chat example.
Rostered agents after shrinkage and an occupancy cap; our guide to adherence, shrinkage and occupancy covers the inputs.
A roster that fits contracted hours, rest between shifts, skills and leave.
Workforce Manager runs this chain for you: each week starts as a draft checked against contracted hours, rest between shifts, channel skills, approved leave and demand, and it flags under-covered shifts with suggestions of qualified, available agents. Coverage reports show shortfalls by channel and hour, and capacity planning shows shortfalls up to 12 months ahead, factoring in growth.
How do AI agents change workforce forecasting?
When AI agents resolve part of your volume, forecast two series per channel: total demand and the human residual, and staff only to the residual. The worked example shows why the residual needs its own AHT: AI agents take the simpler contacts first, so what remains is longer. Three practical points:
Forecast resolution rate by contact type, not as one number. An AI agent might resolve most order-status chats and few disputes. A launch that drives disputes shifts the residual more than the total.
Include handovers. When an AI agent cannot finish a task and passes it to a person, that contact arrives in the human queue, often mid-interval, and belongs in the residual forecast.
Re-baseline often while automation grows. History from before the AI agent went live describes a mix of work that no longer exists; shorten your N-week window or weight recent weeks more until resolution stabilises.
Lorikeet's AI agents resolve customer problems end to end across phone, SMS, chat, email and WhatsApp, and escalate to your team when they cannot solve an issue. Forecasting the residual is what AI workforce management means in practice, and it is the reason scaling support without hiring needs this arithmetic before a headcount decision.
What still needs a human?
A forecasting model is good at the weekly shape and steady trend. These still need a person:
The event calendar. Marketing sends, pricing changes and product launches only reach the forecast if someone adds them.
Cleaning history. Deciding whether last month's spike was an outage (exclude it) or a new normal (keep it) is judgement.
Owning accuracy. Cleveland lists "no one is accountable" as a common failure. Someone should review MAPE weekly and find the cause of each large miss.
Checking assumptions against reality. Concurrency, AI resolution rate and residual AHT all drift. Compare them with actuals monthly, alongside the contact center benchmarks you report on.
Managing the day. A forecast is a plan; sick calls and surprise spikes still need someone watching. The launch post for Workforce Manager says intraday management is next.
Putting it into practice
Export 8 to 12 weeks of interval volume and AHT per channel and per routing group.
Build an N-week average baseline, add trend, then overlay known events from a shared calendar.
Forecast AHT separately, and use measured chat concurrency.
If AI agents resolve contacts, forecast the human residual and its AHT.
Snapshot the forecast when you schedule; report interval MAPE (or WAPE for quiet intervals) weekly.
Feed the workload into your staffing model and roster.
If you would rather not keep the spreadsheet, Workforce Manager imports your current roster model from a spreadsheet or helpdesk export, and Lorikeet customers skip the upload because it reads ticket history directly. You can start a 30-day free trial and build a first forecast and roster from your own data.
Frequently asked questions
What is workforce forecasting?
Workforce forecasting is predicting contact volume and average handle time per channel and per 15 or 30 minute interval, so staffing and rosters match demand. Its output is workload (contacts multiplied by handle time), which a staffing model such as Erlang C then turns into agents.
How accurate should a call center forecast be?
Call Centre Helper suggests a MAPE of 5% or less for centres of at least 100 agents and 10% as reasonable for smaller centres. Brad Cleveland gives plus or minus 5% for groups of 100 or more and plus or minus 10% for groups of 15 or fewer, measured at the interval level.
How do you calculate MAPE for a contact center forecast?
For each interval, divide the absolute difference between forecast and actual by the actual, then average across intervals. Six intervals with absolute percentage errors summing to 72.9% give a MAPE of 12.2%. Measure per interval, because daily totals hide errors that cancel out.
How do you forecast live chat volume?
Forecast chat volume by interval like calls, then forecast workload using effective handle time: average handle time divided by your measured average concurrency, not the platform's chat limit. Call Centre Helper uses a factor of 1.7 for agents allowed 2 chats at once.
How do AI agents affect workforce forecasting?
Forecast total demand and the human residual separately, and staff to the residual. The residual usually has a longer handle time, because AI agents resolve simpler contacts first. In an illustrative example, AI resolving 30% of chats cut human workload by 23%.
How many weeks of history do you need for a support forecast?
An N-week average, such as 8 weeks, works for short-term forecasts up to about 4 weeks ahead when volume is stable. A seasonal model needs more than a year of data to separate seasonal peaks from growth.
Does Lorikeet Workforce Manager forecast volume?
Yes. Workforce Manager turns ticket and call volume by channel, day and hour into a staffing forecast you can fine-tune for known events like a sale or launch, then builds a draft roster. It is built for support teams of 20+ agents and has a 30-day free trial.
Try Lorikeet on your own tickets
Start a 30-day free trial. Coach sets up your first concierge in minutes.

