HiveDesk
<- Back to Blog

Building a Shift Schedule in a Contact Center — The Process from Forecast to Published Schedule

Vik Chadha
Vik Chadha · · Updated · 16 min read
Building a Shift Schedule in a Contact Center — The Process from Forecast to Published Schedule

A shift schedule in a contact center is the mechanism that turns a staffing requirement into specific agent assignments — who works when, which days they are off, and when their breaks fall. The schedule determines whether the operation has enough agents on the phones during every interval to meet service level, whether overtime is controlled, and whether agents have predictable work patterns that allow them to plan their lives.

Building a productive schedule is not a creative exercise. It is a calculation that follows a defined sequence: forecast → staffing requirement → shift design → agent assignment → break placement → publication. Each step depends on the output of the previous one. Skipping steps — building schedules from "what shifts we ran last week" instead of from current forecast data — is the root cause of most scheduling problems.

For weekly planning templates, see the weekly shift planning guide. For common scheduling problems and how to diagnose them, see the scheduling challenges guide. This post covers the end-to-end process of building the schedule.

Step 1: Start with the volume forecast

The schedule starts with a question: how many contacts will arrive during each interval of each day? The volume forecast provides this.

Forecast inputWhere it comes fromWhat to check
Historical volume by intervalACD reports — calls offered per 30-minute or 60-minute interval, by day of week, for the past 4–8 weeksAre there anomalies in the historical data (outages, one-time campaigns, holidays) that should be excluded? See data quality considerations
Known upcoming eventsMarketing calendar, client notifications, product launches, billing cyclesWill any event in the upcoming schedule period drive volume above or below the historical pattern?
Trend adjustmentMonth-over-month volume growth or declineIs volume trending up or down? Apply the trend to avoid scheduling to last month's volume when this month's is 10% higher
AHT by intervalACD reports — average handle time by call type and time of dayAHT often varies by time of day (morning calls tend to be more complex). Use interval-level AHT, not a single daily average

Worked example — a weekday forecast:

IntervalForecasted callsAHT (minutes)Agent workload (call minutes)
8:00–8:30455.5248
8:30–9:00625.5341
9:00–9:30786.0468
9:30–10:00856.0510
10:00–10:30805.8464
10:30–11:00725.8418
11:00–11:30585.5319
11:30–12:00505.5275
12:00–12:30485.2250
12:30–1:00525.2270
1:00–1:30655.5358
1:30–2:00705.5385
2:00–2:30685.8394
2:30–3:00605.8348
3:00–3:30485.5264
3:30–4:00355.5193
4:00–4:30255.2130
4:30–5:00185.294

This volume pattern — ramp-up from 8:00, peak from 9:00–10:30, lunch dip, afternoon secondary peak from 1:00–2:30, evening taper — is typical for a business-hours contact center. The schedule must match this curve, not assume flat demand.

Step 2: Calculate agents required per interval

Convert the workload into agent requirements using the staffing formula. For each interval:

Agents on phones = (Calls × AHT) ÷ (Interval length × Target occupancy)

Occupancy is how much of an agent's available time is spent handling contacts. Target occupancy for an 80/20 service level is typically 82–88%. Higher occupancy (90%+) means agents are constantly busy with no buffer — service level degrades and burnout increases.

Worked example — peak interval (9:30–10:00):

  • Calls: 85
  • AHT: 6.0 minutes
  • Interval length: 30 minutes
  • Target occupancy: 85%

Agents on phones = (85 × 6.0) ÷ (30 × 0.85) = 510 ÷ 25.5 = 20 agents on phones

Now account for shrinkage — the percentage of scheduled agents who will not be on phones due to breaks, coaching, training, after-call work, and absences.

Agents to schedule = Agents on phones ÷ (1 − Shrinkage)

At 30% shrinkage: 20 ÷ 0.70 = 29 agents scheduled for this interval.

IntervalCallsAHTAgents on phones neededAgents to schedule (30% shrinkage)
8:00–8:30455.51015
8:30–9:00625.51420
9:00–9:30786.01927
9:30–10:00856.02029
10:00–10:30805.81927
10:30–11:00725.81724
11:00–11:30585.51319
11:30–12:00505.51116
12:00–12:30485.21015
12:30–1:00525.21116
1:00–1:30655.51521
1:30–2:00705.51623
2:00–2:30685.81623
2:30–3:00605.81420
3:00–3:30485.51116
3:30–4:00355.5812
4:00–4:30255.269
4:30–5:00185.246

The operation needs 29 agents at the 9:30 peak but only 6 at the 4:30 taper. A schedule that puts the same number of agents on for the full day wastes money in off-peak intervals and may still be short during peak.

Step 3: Design shift patterns to match the curve

The staffing requirement curve from Step 2 determines which shift patterns to use. The goal is to layer shifts so that total scheduled agents in each interval is as close to the requirement as possible — without chronic overstaffing or understaffing.

Common shift patterns for business-hours operations

Shift patternHoursCoverageWhen to use
Full day8:00–5:00 (8 hrs + lunch)All intervalsBase coverage — agents who work the full operating day
Early7:00–3:00 or 8:00–4:00Morning peakExtra agents for the high-volume morning period who leave before the evening taper
Mid10:00–7:00 or 9:00–6:00Mid-day through afternoon peakCovers the lunch dip and afternoon peak
Late12:00–9:00 or 1:00–10:00Afternoon peak through eveningCovers extended hours or afternoon peak without being present during the quiet morning start
Split8:00–12:00 then 4:00–8:00Morning and evening peaks, off during mid-day dipCovers both peaks. Less common because agents dislike the split
Part-time4–6 hoursSpecific peak intervalsTargeted peak coverage without a full shift. Useful for the 2–3 hour morning peak that does not justify a full additional shift

Layering shifts for the example volume curve

Using the staffing requirement from Step 2 (peak of 29, taper to 6):

ShiftStartEndAgentsCoverage provided
A (Full day)8:005:0015Base coverage for all intervals
B (Early)8:004:008Additional morning and mid-day coverage. Leave at 4:00 as volume drops
C (Mid)10:007:006Covers the lunch dip (when A and B agents take lunch) and afternoon secondary peak

Total scheduled agents by interval with this shift mix:

IntervalShift AShift BShift CTotal scheduledRequirementVariance
8:00–8:301582315+8
9:00–9:301582327−4
9:30–10:001582329−6
10:00–10:3015862927+2
10:30–11:0015862924+5
12:00–12:3015862915+14*
1:00–1:3015862921+8
3:30–4:0015862912+17
4:00–4:30156219+12
4:30–5:00156216+15

*The 12:00 interval shows +14 because scheduled agents are 29 but the requirement is only 15. However, this is the interval when A and B agents take lunch — actual on-phone agents will be lower. Break placement (Step 5) addresses this.

The problem this reveals: This 3-shift design overstaffs the late afternoon and understaffs the 9:00–10:00 peak. Fixes:

  • Add 4 part-time agents (8:00–12:00) to cover the morning peak
  • Reduce Shift A to 12 agents and add the part-time coverage

The schedule is iterative — the first pass identifies gaps, the second pass adjusts shift sizes and patterns to close them.

Step 4: Assign agents to shifts

Once shift patterns are defined, assign specific agents. This step balances operational need (skill coverage per shift) with agent considerations (preferences, seniority, fairness).

Assignment factors

FactorWhat to consider
Skill coverageEach shift needs agents who can handle the call types that arrive during that shift. If bilingual agents are all on Shift A and Spanish-language calls come in during Shift C, coverage is wrong
Experience mixDo not stack all new agents on the same shift. Each shift should have a mix of experienced and newer agents so that the supervisor is not coaching everyone simultaneously while calls are arriving
Supervisor coverageEach shift needs a supervisor (or team lead) present. If Shift B has 8 agents and no supervisor, nobody is managing real-time performance
Days off distributionIn a 5-day operation, days off are straightforward (Saturday/Sunday). In a 6-day or 7-day operation, days off must be distributed so that each day has adequate coverage. Giving all Shift A agents Tuesday off leaves Tuesday understaffed
Agent preferencesWhere possible, accommodate shift preferences through seniority-based bidding or rotating priority. Agents who consistently get the shift they do not want will leave — schedule dissatisfaction is a top attrition driver
Approved time offBefore publishing, subtract approved PTO from the roster. If 3 of 15 Shift A agents have approved time off on Wednesday, Wednesday Shift A has 12 agents — which may be below the requirement

Shift rotation considerations

ApproachHow it worksWhen it fits
Fixed shiftsEach agent works the same shift every weekSimpler to manage. Agents prefer predictability. Works when the operation can fill all shifts with enough agents who want each one
Rotating shiftsAgents cycle through shifts (e.g., 2 weeks on Early, 2 weeks on Mid)Distributes less desirable shifts fairly. Required when not enough agents volunteer for late or weekend shifts
HybridSenior agents get fixed preferred shifts. Newer agents rotate through remaining slotsRewards tenure with schedule stability. Common in operations where experience correlates with shift preference

Step 5: Place breaks to maintain coverage

Break placement is the step most likely to be done poorly — and the step most likely to create service level problems if it is wrong.

The principle

If 20 agents are on a shift and all 20 take lunch from 12:00–12:30, the operation has 0 agents on phones for 30 minutes. Breaks must be staggered so that the number of agents on break during any interval does not push on-phone agents below the requirement.

Break placement rules

RuleRationale
Stagger breaks across intervalsNo more than 10–15% of scheduled agents should be on break simultaneously
Avoid breaks during the peak intervalIf 9:30–10:00 is the peak, no agent should have a scheduled break during 9:30–10:00. Place breaks before 9:00 or after 10:30
Coordinate lunch breaks with the volume dipIf volume dips from 11:30–1:00, this is the natural window for lunch breaks. Stagger lunches across this window: Group 1 at 11:30, Group 2 at 12:00, Group 3 at 12:30
Place 15-minute breaks between peak intervalsA short break at 10:30 (after the morning peak) and at 2:30 (after the afternoon peak) keeps agents fresh without removing them during high demand
Account for breaks in the staffing calculationThe shrinkage percentage in Step 2 includes break time. If breaks are clustered (not staggered), the actual shrinkage during the break cluster exceeds the average, and the interval is understaffed

Worked example — lunch placement for Shift A (15 agents)

Lunch groupAgentsLunch timeOn-phone during other groups' lunch
Group 15 agents11:30–12:0010 agents on phones
Group 25 agents12:00–12:3010 agents on phones
Group 35 agents12:30–1:0010 agents on phones

At every interval during the lunch window, 10 Shift A agents are on phones. Add Shift B (8 agents, taking lunch 11:00–11:30 or 12:00–12:30) and Shift C (6 agents, all on phones during this window since their shift started at 10:00 and lunch is at 1:30), and the total on-phone count during the lunch dip stays adequate.

Step 6: Publish and manage changes

Publication timeline

MilestoneWhenWhy
Draft schedule completed2 weeks before the schedule periodAllows time for review and adjustment
Agent review period10–12 days beforeAgents review their assignments, flag conflicts, and request shift swaps
Final schedule published7 days before (minimum)Agents need at least 1 week notice to plan personal commitments. Some state predictive scheduling laws require 7–14 days advance notice
Schedule freeze3 days beforeAfter this point, changes require supervisor approval. Day-of changes are intraday management, not scheduling

Managing day-of changes

The published schedule will not survive contact with reality — agents call out sick, volume deviates from forecast, systems go down. Day-of changes are intraday management actions:

SituationResponse
Unplanned absenceCheck if the staffing buffer absorbs it (1–2 absences usually covered). If not, offer voluntary overtime to off-duty agents
Volume above forecastDefer breaks, extend shifts (with agent consent), or call in off-duty agents. If above forecast by 15%+, escalate to ops manager
Volume below forecastOffer voluntary early release (VER) to agents who want to leave early. This reduces paid idle time
Agent requests same-day swapSupervisor approves if both agents are qualified for the swapped shift and coverage is maintained

Schedule quality checks

After building the schedule, verify it before publishing.

CheckWhat to verifyWhat failure looks like
Coverage vs. requirementFor every interval, scheduled agents ≥ requirement from Step 2Any interval where scheduled is fewer than required → service level risk
Break placementNo interval where more than 15% of agents are on break simultaneouslyAn interval where 8 of 20 agents are on break → the interval is effectively understaffed by 40%
Skill coverageEvery interval has agents for every required skill group (bilingual, escalation, specific client in a BPO)A shift with no Spanish-language agents during hours when Spanish calls arrive
Overtime exposureNo agent is scheduled for more than 40 hours unless pre-approvedAn agent working 5 × 9-hour shifts = 45 hours → 5 hours of unplanned overtime at 1.5x
ComplianceMinimum rest between shifts (typically 8–11 hours). Maximum shift length per policy. Meal and rest breaks per state lawAn agent closing at 10:00 PM and opening at 6:00 AM → 8 hours between shifts, which violates policy in many operations
Approved time offAll approved PTO and leave is reflected in the scheduleAn agent with approved PTO still showing as scheduled → they do not show up, and it looks like an unplanned absence
FairnessWeekend and undesirable shifts are distributed equitably (or by the established priority system)The same 5 agents get every Saturday shift for 3 consecutive months while others never work weekends

BPO scheduling additions

BPO operations add complexity because schedules must align with multiple client SLAs.

AdditionWhat it requires
Per-client staffing requirementsEach client has its own volume forecast, AHT, and SLA target. The staffing calculation runs per client, and the schedule must ensure each client's coverage is met independently
Cross-trained agent allocationAgents trained on multiple accounts can be shared across clients. The schedule assigns them to a primary account but marks them as available for overflow. Intraday management moves them as needed
Client blackout periodsSome clients require additional staffing during their peak periods (billing cycles, product launches). The BPO schedule must accommodate client-specific peak periods that may not align with the BPO's overall volume pattern
Contract-aligned hoursIf the contract specifies 10 dedicated agents for Client A from 8:00–5:00, the schedule must deliver exactly that — not 8 agents plus 2 overflow. Contract violations affect the SLA and client relationship
Vik Chadha

About the Author

Vik Chadha

Founder of HiveDesk. Has been helping businesses manage remote teams with time tracking and workforce management solutions since 2011.

Try HiveDesk Free for 14 Days

Increase productivity, take screenshots, track time and cost, and bring accountability to your team. $5/user/month, all features included.