Scheduling for Call Centres: Mind the Gap

Hourly staffing bars falling short of call demand, with the coverage gap shaded

A call centre schedule isn’t finished until the gap row reads zero in every hour you’re open. The sample tiered schedule I put together for this post back in 2008 had eight people on it, covered the overnight hours perfectly, and still came up 32 agent-hours short in a single day. That’s the whole problem with scheduling for call centres in one number. You can have enough people on the payroll and still have them sitting in the wrong hours. In Part I of this series I used Erlang C to work out how many agents you need in each hour to hit your service level. That gives you a required-staff figure for every hour of the day. This part is about the next step, which is turning that figure into actual shifts for actual people and then checking, hour by hour, where the two don’t match. Most of the pain in a contact centre lives in that mismatch, not in the forecast.

What does a tiered daily schedule actually show?

Here’s the sample schedule, laid out the way I’d build it in a spreadsheet. Each row is one person and each column is an hour, with a 1 wherever they’re on shift. Six of the eight are Tier 1 and two are Tier 2. That ratio is deliberate. Think about your team as a pyramid: the higher up you go, the more skilled your staff are and the fewer of them you have, so you’ll always have fewer Tier 2 people than Tier 1. Two Tier 1 agents cover midnight to 7am. Three more start at 7am and finish at 2pm, a fourth Tier 1 works 8am to 5pm, and the two Tier 2 agents work 8am to 5pm and 10am to 5pm. Below the people sit the three rows that matter.

Sample tiered daily call centre schedule showing required staff, actual staff and the hourly gap

Required Staff is the Erlang C output for each hour. Actual Avail is simply the count of people on shift. The Gap is required minus actual, and it’s the only row you really need to read. Here are those three rows for the busy part of the day, from 7am to 9pm. Midnight to 6am is 2 required and 2 on shift every hour, so the gap there is zero, and after 9pm the requirement drops to nothing.

Hour 7am 8am 9am 10am 11am 12pm 1pm 2pm 3pm 4pm 5pm 6pm 7pm 8pm
Required 5 5 6 7 7 9 10 10 7 7 6 3 3 1
Actual 5 5 5 6 6 6 6 6 3 3 3 0 0 0
Gap 0 0 1 1 1 3 4 4 4 4 3 3 3 1

How do you read the gap row?

Add it up. The day needs 100 agent-hours and the schedule supplies 68, so 32 agent-hours are uncovered. That’s roughly a third of the day’s demand with nobody there to meet it. Where it falls matters even more than the total. The gap opens at 9am, hits 4 from 1pm through 4pm, and for the three hours from 6pm to 8pm there’s nobody on at all while the forecast still says 3, 3 and 1. This is where you can expect to receive more calls, emails and contacts than your staff can handle. Expect complaints, bad service and abandoned calls. Leave it long enough and you should expect to start losing customers, unless you can get that row to zero.

Now look at the other end of the day. Two people sit on shift from midnight to 7am, perfectly matched to a requirement of 2, while the afternoon runs four short. Overnight coverage is a real decision, not a default. It does you no favours to have too many resources at 2am when you’re only expecting one call and your SLA gives you two hours to respond. If your tiered SLA matrix allows a slower response overnight, an outsourced answering service that takes the details and opens an incident can hold that line until your own staff are back on.

The arithmetic for closing the gap is plain. Thirty-two uncovered hours is four more 8-hour shifts at the very least, and that’s before you allow for breaks, training and sick days. Some of it can come from moving start times: a shift that starts at 1pm instead of 7am covers the afternoon peak and the evening at the same cost. Some of it can’t, and that’s the number to take to whoever signs off headcount. A schedule that shows the gap by hour is a far stronger case than a general complaint that the team is stretched. The spreadsheet makes the argument for you.

Skills, tiers and where the spreadsheet runs out

The schedule above treats Tier 1 and Tier 2 as two rows of people, but in real life every skill you route on needs its own version of this sheet. Skill-based routing is simpler to say than to actually execute. The idea is that each contact reaches the agent best suited to deal with it, which helps your first call resolution and matters a lot for languages and specific technologies. A French-speaking customer with a data problem should reach your agent in Montreal, not an agent in an English-speaking centre. It’s only as good as the information you have, though, whether that comes from your customer database or from the options a caller picks in your ACD (Automatic Call Distribution) menu. Tier 2 is a skill too. It’s the first rung of your escalation matrix, so a Tier 2 gap at 3pm isn’t just a slower queue, it’s an escalation with nobody to catch it.

For a small support centre a spreadsheet is enough. Microsoft Excel is the obvious choice if your budget covers it, and if it doesn’t, Open Office, Google Docs and Zoho Docs are free and will do the job. The formulas and the look differ a little between them, but a required row, an actual row and a subtraction work the same everywhere. Don’t get too complicated with it. Remember this is one day for eight people. A week is seven of these, a second language doubles the rows, and a second product line doubles them again. That’s the point where a specialised tool pays for itself, and ICMI’s research on staffing and scheduling practices shows how centres step up from spreadsheets to Erlang add-ins and full workforce management software as they grow. There’s a multitude of free and paid scheduling tools out there and, obviously, you get what you pay for. I’ll get to those in the next part. Until then, build the gap row first. The rest of the schedule is just the working that proves it.

Frequently Asked Questions

How do you calculate the staffing gap in a call centre schedule?
For each hour, subtract the number of agents actually on shift from the number your Erlang C calculation says you need. Any positive number is a gap. Add the hourly gaps together to get the total uncovered agent-hours for the day.

Can I build a call centre schedule in Excel?
Yes, and for a small team it’s the right place to start. Put one row per agent, one column per hour, then add required, actual and gap rows at the bottom. Once you’re scheduling several skills or languages across a full week, a dedicated scheduling tool will save more time than it costs.

How many Tier 2 agents should I schedule compared to Tier 1?
Fewer, because Tier 2 handles the smaller share of contacts that Tier 1 can’t resolve. The sample schedule here runs six Tier 1 to two Tier 2. Check the gap for each tier separately, since a Tier 2 shortage blocks escalations even when Tier 1 looks fine.

Should a call centre be staffed overnight?
Only as far as your overnight volume and SLA require. If you expect one call and have a two-hour response target, a full team is wasted cost. An outsourced answering service that logs the incident for your morning team is often the better option.

1 thought on “Scheduling for Call Centres: Mind the Gap”

  1. Pingback: The 5 Best CRM Systems in 2020 - CX Master

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.