Call centre shift scheduling turns a forecast of calls into a roster: who works which hours, when each person takes a break, and how many agents are on the phones in every half hour. Get it right and the same team meets its service level with less overtime. Get it wrong and you have idle agents at 9 am and a full queue at 11. This guide walks through roster planning step by step: forecasting by interval, converting calls into agents, adding shrinkage, designing shifts, placing breaks and managing the day as it happens.
Why scheduling matters more than headcount
Most contact centres that miss their service level do not have too few people in total. They have too few people at the wrong times. Calls arrive in waves: Monday mornings, the hour after a bill or SMS goes out, lunch time for retail lines, evenings for consumer helplines, results day for colleges. A roster built on “8 people, 9 to 6” ignores all of that.
Scheduling is the link between three numbers you probably already track:
- Calls by interval, from your call reports.
- Average handle time, from your AHT figures.
- Your service level target, such as 80% within 20 seconds; see call centre service level.
Step 1: Forecast calls by interval
Use at least four to six weeks of history, by weekday and by half hour or hour. A Monday should be forecast from previous Mondays, not from the weekly average.
Then adjust for what you know is coming:
- Business events: bill runs, EMI due dates, campaign launches, new product releases.
- Seasons: festival sales, admission season, monsoon for travel and logistics, financial year end.
- Holidays: the day after a long weekend is usually busy.
- Channel shifts: if more customers now use WhatsApp, voice volume may fall while chat rises.
Keep the forecast simple at first. A spreadsheet of calls per interval per weekday, updated every month, is far better than no forecast.
Step 2: Turn calls into agents for each interval
For each interval, work out how many agents must be on the phones to meet your target. The standard tool is Erlang C, which uses calls per interval, average handle time and your service level target. Our Erlang C staffing guide shows a worked example: 120 calls in a half hour with a 4-minute handle time needs 20 agents for 80% within 20 seconds.
Do this for every interval and you get a staffing curve for the day: few agents early, a peak mid-morning, a dip after lunch, a smaller second peak in the evening.
Step 3: Add shrinkage
Agents on the roster are not all on the phones. Breaks, training, meetings, coaching, leave and absence all take time away. That gap is shrinkage. If shrinkage is 30%, you need to schedule about 1 ÷ (1 − 0.30), roughly 1.43 times the agents the Erlang result gives. Measure your own shrinkage from login and status data instead of guessing.
Step 4: Design shifts that follow the curve
With required agents per interval, build shifts that match the shape:
- Staggered start times, such as 8, 9, 10 and 12, instead of everyone at 9.
- Part-time or short shifts to cover the mid-morning peak.
- Split shifts, used carefully and only with agreement, for lines with two distinct peaks.
- Rotating weekend and late shifts, so the same people do not always get the hard hours.
A simple example for a support line open 8 am to 9 pm, with 9-hour shifts that include a 1-hour break:
| Shift | Hours | Agents |
|---|---|---|
| Early | 08:00 to 17:00 | 5 |
| Mid | 10:00 to 19:00 | 5 |
| Late | 12:00 to 21:00 | 3 |
| Time block | Agents on shift | Agents needed on calls |
|---|---|---|
| 08:00 to 10:00 | 5 | 4 |
| 10:00 to 12:00 | 10 | 9 |
| 12:00 to 17:00 | 13 | 9 (lunch breaks staggered, 3 to 4 away at a time) |
| 17:00 to 19:00 | 8 | 7 |
| 19:00 to 21:00 | 3 | 2 |
The extra people in the middle of the day cover lunch breaks without leaving the queue short. Use quieter intervals for callbacks and chats.
For night or late shifts, check your state’s Shops and Establishments rules and company policy on working hours, transport and safety before you finalise the roster.
Step 5: Place breaks against the valleys
Breaks are where many rosters fail. If six agents take tea at 11:00 because that is the habit, the queue will build at 11:00 every day.
- Assign each agent a break window, not just a break length.
- Keep breaks out of the busiest intervals wherever you can.
- Stagger lunch across a two to three hour window.
- Use clear break reasons so you can see later whether breaks ran over. Our agent status and break codes guide covers how.
Step 6: Publish early and manage the day
Publish the roster at least one to two weeks ahead so agents can plan, and handle swaps through the team lead, not informally.
During the day, someone should watch live numbers and act:
- Queue building: pull agents from training or back-office work, delay breaks by 10 minutes, open an overflow group.
- Queue quiet: send agents to callbacks, WhatsApp chats, quality reviews or refresher training.
- Repeated misses in the same interval: change the roster next week rather than firefighting every day.
Compare the roster with what actually happened. Did agents log in at shift start? Were breaks the planned length? This schedule adherence check is how a roster improves month by month.
Using Voxdial data to build and check the roster
Voxdial Contact Center does not replace a dedicated workforce planning tool, but it gives you the data a roster needs:
- Calls by hour: the dashboard has an hour-by-hour inbound and outbound chart for today or any past day, and the wallboard shows the peak hour. Inbound reports can be exported for your forecast spreadsheet.
- Live status: the dashboard and wallboard show how many agents are available, on call, paused, ringing or on break right now.
- Break purposes: agents can be asked for a break purpose and reason when they go on break, saved to a break-reason report.
- Agent Performance report: for each agent, initial login, login duration and time spent idle, paused, on break, on calls and in closure (wrap-up), which is what you need to measure shrinkage and adherence.
When the queue still overflows, missed callers land on a callback list, and a BitVoice AI voice agent can act as backup for overflow and after-hours calls, handing callers back to your agents with a summary. Agents answer first; AI only covers the gaps.
Need help turning your call history into a working roster and live wallboard? Talk to BitVoice.
FAQs
How do I start call centre shift scheduling?
Start with four to six weeks of calls by weekday and half hour, convert each interval to agents needed with Erlang C, add shrinkage, then build staggered shifts that follow the shape of the day.
How far ahead should a call centre roster be published?
One to two weeks ahead is a common practice. It gives agents time to plan and leaves room for swaps through the team lead.
What is schedule adherence?
It is how closely agents follow the roster: logging in on time, taking breaks at the planned time and length, and being available when scheduled. It is measured from login and status data.
Should all agents take lunch at the same time?
No. Stagger lunch breaks across a two to three hour window so enough agents stay on the phones and the queue does not build at lunch time.
