Essentials of Staffing – Part II
Staffing for a Variety of Contact Types

By Penny Reynolds

In the last article on Essentials of Staffing, we covered the basics of staffing for inbound calls.  In that article, we learned to calculate workload, consider different definitions of speed of answer, and use Erlang models to arrive at a “bodies in chairs” requirement for responding to inbound contacts.

Given that the traditional call center is now a modern contact center with all types of contacts being handled, we will explore in this article how to calculate workload, define service requirements, and select a staffing model that fits other types of work.  In particular, we’ll take a look at how to staff for outbound calling, email contacts, and chat interactions.

Outbound Calling

The main difference in calculating workload for outbound calling compared to inbound calling involves identifying how much time is involved in each set-up component:

  1. Looking up number.  This can be a manual look-up process or an automated one.
  2. Dialing number.  This can be a manual dialing process, or one done by the ACD or dialer.
  3. Waiting for connect.  There is typically a small amount of time for the call to be processed out of the center and through the telephone network.
  4. Waiting for customer connect.  Once the call rings on the other end, there may be several rings before answer and conversation.
  5. Time on non-connects. Not all calls result in a live customer contact.  Some may ring and not answer, get a busy signal, or go to voice mail.  Each of these takes time and has to be factored in to the overall set-up time.

Just like with inbound calling, AHT is made up of talk time plus the after-call work time.  However, for an outbound call, it’s important to also consider the time that it takes an agent to set up the call.

Take an example with 2 seconds to activate the handset or headset, and another 5 seconds to look up a telephone number. This is followed by 4 seconds to dial the number, 3 seconds of network connect, and waiting 3 rings (at 6 seconds each) for answer.  With these numbers, for every answered call there is an additional 32 seconds per call to factor into staff workload per call.

Let’s compare that set-up time to the rest of handle time. If an agent spends 135 seconds talking to the customer and there is no wrap-up time after the call, the total workload (or handle time) per call is 167 seconds. In this example the 32 seconds of set-up time compared to the 167 total seconds of the call is about 20% of the call. This is actually a conservative number, since it assumes all calls are answered.

When factoring in all the other types of calls: the no-answers, busy signals, voice mail, etc. to the calculation, the set-up time becomes even more important.

Assume a sample of 100 calls. Of these calls where 40% will be answered, another 40% will go to voice mail, 15% will get a busy signal, and the remaining 5% will ring and ring with no answer.

Assume 32 seconds of set-up time and 135 seconds of conversation for an answered call as outlined in the previous example. Assume 34 seconds if the call goes to voice mail, but that no conversation occurs on these calls. Assume a busy signal will be heard within 22 seconds upon call initiation, again with no conversation. And for the ring/no answer calls, assume the call tries for 46 seconds before giving up. That’s a total of 3200 seconds of set-up time compared to only 5400 seconds of conversation time.  This 3200 seconds of setup compared to a total workload of 8600 seconds is 37% of time. That is over a third of a person’s time that is NOT engaged in conversation with the customer.

Note that this example assumed manual look-up and dialing time.  If an automated dialing system is used, then the look-up and dialing time is not part of the associate’s handle time.

Email and Chat

One consideration for calculating workload for email contacts is where to look for historical data. Many centers have an email management system that tracks the number of contacts by arrival time, but others do not. It is important to have the same type of information about volume and handle time by interval that the ACD provides for inbound calls.

Another consideration is actual handle time and how it is reported.  Simply looking at the time the email was opened to the time it was sent may not reflect actual handle time, as staff may be busy on other activities or handling multiple emails at once.  Some centers choose to look at representative samples, calculate an average handle time, and apply that to all contacts.

There are a couple of important considerations for text chat calculations. Just like for email, consider whether there is reliable history available that provides the needed breakdown of chat volume, the time of day they arrive, and how long they take to handle.

There is also a challenge in determining the average handle time for a chat given that staff typically handle multiple chats
at once. It is common to assume most staff handle two simultaneous chats. Using this number and an average handle time of chat of 240 seconds, dividing by the number of chats gives the actual handle time of each one—120 seconds in this example.

Staffing for Service Goals

Now that workload calculations for these other types of contacts have been discussed, let’s take a look at how workload is applied to speed of answer goals to calculate staff requirements. Just like staffing for inbound calling, the number of staff needed depends on arrival pattern (random or sequential) and the speed of answer goals.

Here is a matrix that outlines the arrival rate, staffing model, and service window for each type of contact.  Let’s take
a look at each one of these in detail.

For outbound calling, the arrival rate is not random like inbound calling.  Outbound calls are made one right after the other since the contact center is in control and not at the mercy of when customers decide to place inbound calls.   The workload is sequential and therefore an Erlang staffing model is not needed.  A simple ratio approach is used to determine staff needs.

In terms of the service definition, it is up to the center to decide how many calls to place each hour and staffing is a result of that number, not a speed of answer to callers.

However, one consideration to keep in mind for outbound calling is having enough staff to match up to a dialed customer if a predictive dialer is being used.  If too many calls are placed and contact is made with a dialed customer and then there is not a contact center associate to match up, the customer will experience a delay of a few seconds, or the dialer will abandon the call.  This problem is usually addressed by a change to the dialing algorithm, but sudden changes to staffing levels can cause this abandon situation to occur.

For emails, the arrival rate depends on how the center handles these contacts.  Customer emails sent to a general mailbox such as sales@ or info@ are typically stored and accessed as a set of work that is sequential in nature.  Because the work is “stacked up” and waiting, frontline staff can handle one contact after another with no idle time in between waiting on another email to arrive. Therefore, an Erlang C staffing model is not needed and a simple ratio approach will be sufficient for staffing.

For many contact centers, there is a “dry cleaners” service window, where “in by x, out by y” is the goal.  There is a service window defined where email replies happen within one hour, two hours, four hours, etc.  For now, there are very few centers that treat emails like telephone calls where emails get an immediate response.

For chats, the arrival rate is much like inbound calls.  The chats arrive randomly throughout the hour and the center is at the mercy of customer’s decision about when to chat.  Because of this random nature of the work, the Erlang C staffing model is used. In terms of defining service, the same definitions apply that are used for inbound calls – either service level or ASA.

Now let’s take a look at how to manually calculate staff for all three other types of contacts – outbound calls, email, and chat.

Example 1 – Inbound Calling

Before we look at the other types of contacts, let’s review from the last article the calculations and model for inbound calling.  Let’s take the example where there are 400 calls expected with a handle time of 180 seconds and our service goal is an average speed of answer (ASA) of less than 30 seconds.   The calculation of 400 calls x 180 seconds/3600 yields a workload of 20 erlangs.

The next table shows what happens with varying number of staff in place to handle 20 erlangs of workload. To meet the desired service goal, 23 staff would be required, according to a standard Erlang C call center staffing model.

Example 2 – Outbound Calling

In this second example, assume that we wish to place 400 calls in the hour and that the AHT (talk time plus after-call work) is 180 seconds.  However, in this example, there is also a set-up time of 32 seconds per call if our agents are using a manual dial approach.

The workload calculation would be 400 calls x (180 + 32) / 3600.  This results in a workload of  23.55 erlangs.   Now, instead of applying this to an Erlang C model which assumes random work, we would use a simple ratio of workload to staff, since the work for these outbound calls would essentially be sequential workload. In other words, the calls would be placed back-to-back and an agent could complete a new call as soon as the current one is finished.  With this simple ratio approach, we might assume 24 staff would be needed.

However, there is one more step to consider.  In the inbound calling problem, we used Erlang C to determine staff to meet a service goal and the resulting staff requirement created an occupancy number.  With the outbound calling, we will need to factor in occupancy as part of the staffing design.  If we think 90% occupancy is reasonable with staff getting 10% downtime between calls, then dividing the 23.55 erlang and staff number by .90 would yield 26 staff needed to accomplish the work.

Example 3 – Emails

In the third example, we are going to assume that 1200 emails have arrived throughout the day up until 2:00pm and we guarantee a same-day response for any contact arriving by that time.  Therefore, there are 1200 emails to handle between 2pm and 5pm.  The handle time of these email contacts is 3 minutes.   Given that the emails are “stacked up” and waiting, this is another example of a sequential type of work where a simple ratio of workload to staff is all that is necessary.

Given this “dry cleaners” approach to staffing (in by x time, out by y time), there is a simple formula that can be used to determine staff.  This formula is:

Where volume is the number of contacts, RT is response time window, and AHT is the handle time.  Note that Response Time and AHT must be defined in the same increment of time (typically minutes or seconds)

Using this formula, 1200 contacts divided by a response time of 3 hours or 180 minutes, divided by a handle time of 3 minutes.   So, 1200/ (180/3) = 20 staff.  Another way to look at this is that 1200 contacts handled over 3 hours equals 400 emails per hour.  If the average handle time is 3 minutes, an agent can handle 20 per hour, and 400 contacts divided by 20 contacts per person yields a 20-person staff requirement.    

Either way, this staff requirement needs to be adjusted for a reasonable level of occupancy.  If we use the same 90% occupancy number from the previous example, 20 staff / .90 occupancy = 22.2  or 23 staff.

Example 4 – Chat

Our final example is a growing contact channel – chat.  These contacts arrive randomly just like incoming telephone calls and they are treated much the same way with an Erlang C model.  However, the tricky part is defining handle time since during a defined window, there may be multiple chats happening at the same time.

In this example, let’s assume 800 chats per hour and each one lasts 180 seconds. This part is simple, but complicated by the fact that there are almost always at least two simultaneous chats happening.  Assuming two chats at once, we simply divide the handle time by two, assuming the handle time is split between two contacts.  Therefore,  800 contacts x 180 seconds/3600/2 = 20 erlangs.

Since these contacts are randomly arriving work, we use the Erlang C model instead of a ratio model for sequential work.  Therefore,  the numbers are like the table shown in Example 1 for randomly arriving telephone calls.

Summary and Next Steps

Successful call center operations depends on getting the right number of people for each period of the day to answer incoming contacts while accomplishing two objectives – meeting desirable service levels and minimizing personnel costs.

In this continuation of the Staffing Essentials article, you learned the basic steps of contact center staffing, for other contacts like outbound calling, emails, and chats.

In the next article in this series, we’ll explore the various tradeoffs to consider when making staffing decisions.  You will learn about service considerations, productivity tradeoffs, and the impact that staffing decisions will have on the bottom-line financial picture.

Penny Reynolds was Co-Founder of The Call Center School and is a popular speaker and writer in the area of call center operations.  Recently retired, she serves as an Educational Advisor to SWPP, continuing to provide thought leadership and training to the workforce management community.  She can be reached at pennyreynolds00@gmail.com or at 615-812-8410.

In the last article on Essentials of Staffing, we covered the basics of staffing for inbound calls.  In that article, we learned to calculate workload, consider different definitions of speed of answer, and use Erlang models to arrive at a “bodies in chairs” requirement for responding to inbound contacts.

Given that the traditional call center is now a modern contact center with all types of contacts being handled, we will explore in this article how to calculate workload, define service requirements, and select a staffing model that fits other types of work.  In particular, we’ll take a look at how to staff for outbound calling, email contacts, and chat interactions.

Outbound Calling

The main difference in calculating workload for outbound calling compared to inbound calling involves identifying how much time is involved in each set-up component:

  1. Looking up number.  This can be a manual look-up process or an automated one.
  2. Dialing number.  This can be a manual dialing process, or one done by the ACD or dialer.
  3. Waiting for connect.  There is typically a small amount of time for the call to be processed out of the center and through the telephone network.
  4. Waiting for customer connect.  Once the call rings on the other end, there may be several rings before answer and conversation.
  5. Time on non-connects. Not all calls result in a live customer contact.  Some may ring and not answer, get a busy signal, or go to voice mail.  Each of these takes time and has to be factored in to the overall set-up time.

Just like with inbound calling, AHT is made up of talk time plus the after-call work time.  However, for an outbound call, it’s important to also consider the time that it takes an agent to set up the call.

Take an example with 2 seconds to activate the handset or headset, and another 5 seconds to look up a telephone number. This is followed by 4 seconds to dial the number, 3 seconds of network connect, and waiting 3 rings (at 6 seconds each) for answer.  With these numbers, for every answered call there is an additional 32 seconds per call to factor into staff workload per call.

Let’s compare that set-up time to the rest of handle time. If an agent spends 135 seconds talking to the customer and there is no wrap-up time after the call, the total workload (or handle time) per call is 167 seconds. In this example the 32 seconds of set-up time compared to the 167 total seconds of the call is about 20% of the call. This is actually a conservative number, since it assumes all calls are answered.

When factoring in all the other types of calls: the no-answers, busy signals, voice mail, etc. to the calculation, the set-up time becomes even more important.

Assume a sample of 100 calls. Of these calls where 40% will be answered, another 40% will go to voice mail, 15% will get a busy signal, and the remaining 5% will ring and ring with no answer.

Assume 32 seconds of set-up time and 135 seconds of conversation for an answered call as outlined in the previous example. Assume 34 seconds if the call goes to voice mail, but that no conversation occurs on these calls. Assume a busy signal will be heard within 22 seconds upon call initiation, again with no conversation. And for the ring/no answer calls, assume the call tries for 46 seconds before giving up. That’s a total of 3200 seconds of set-up time compared to only 5400 seconds of conversation time.  This 3200 seconds of setup compared to a total workload of 8600 seconds is 37% of time. That is over a third of a person’s time that is NOT engaged in conversation with the customer.

Note that this example assumed manual look-up and dialing time.  If an automated dialing system is used, then the look-up and dialing time is not part of the associate’s handle time.

Email and Chat

One consideration for calculating workload for email contacts is where to look for historical data. Many centers have an email management system that tracks the number of contacts by arrival time, but others do not. It is important to have the same type of information about volume and handle time by interval that the ACD provides for inbound calls.

Another consideration is actual handle time and how it is reported.  Simply looking at the time the email was opened to the time it was sent may not reflect actual handle time, as staff may be busy on other activities or handling multiple emails at once.  Some centers choose to look at representative samples, calculate an average handle time, and apply that to all contacts.

There are a couple of important considerations for text chat calculations. Just like for email, consider whether there is reliable history available that provides the needed breakdown of chat volume, the time of day they arrive, and how long they take to handle.

There is also a challenge in determining the average handle time for a chat given that staff typically handle multiple chats
at once. It is common to assume most staff handle two simultaneous chats. Using this number and an average handle time of chat of 240 seconds, dividing by the number of chats gives the actual handle time of each one—120 seconds in this example.

Staffing for Service Goals

Now that workload calculations for these other types of contacts have been discussed, let’s take a look at how workload is applied to speed of answer goals to calculate staff requirements. Just like staffing for inbound calling, the number of staff needed depends on arrival pattern (random or sequential) and the speed of answer goals.

Here is a matrix that outlines the arrival rate, staffing model, and service window for each type of contact.  Let’s take
a look at each one of these in detail.

For outbound calling, the arrival rate is not random like inbound calling.  Outbound calls are made one right after the other since the contact center is in control and not at the mercy of when customers decide to place inbound calls.   The workload is sequential and therefore an Erlang staffing model is not needed.  A simple ratio approach is used to determine staff needs.

In terms of the service definition, it is up to the center to decide how many calls to place each hour and staffing is a result of that number, not a speed of answer to callers.

However, one consideration to keep in mind for outbound calling is having enough staff to match up to a dialed customer if a predictive dialer is being used.  If too many calls are placed and contact is made with a dialed customer and then there is not a contact center associate to match up, the customer will experience a delay of a few seconds, or the dialer will abandon the call.  This problem is usually addressed by a change to the dialing algorithm, but sudden changes to staffing levels can cause this abandon situation to occur.

For emails, the arrival rate depends on how the center handles these contacts.  Customer emails sent to a general mailbox such as sales@ or info@ are typically stored and accessed as a set of work that is sequential in nature.  Because the work is “stacked up” and waiting, frontline staff can handle one contact after another with no idle time in between waiting on another email to arrive. Therefore, an Erlang C staffing model is not needed and a simple ratio approach will be sufficient for staffing.

For many contact centers, there is a “dry cleaners” service window, where “in by x, out by y” is the goal.  There is a service window defined where email replies happen within one hour, two hours, four hours, etc.  For now, there are very few centers that treat emails like telephone calls where emails get an immediate response.

For chats, the arrival rate is much like inbound calls.  The chats arrive randomly throughout the hour and the center is at the mercy of customer’s decision about when to chat.  Because of this random nature of the work, the Erlang C staffing model is used. In terms of defining service, the same definitions apply that are used for inbound calls – either service level or ASA.

Now let’s take a look at how to manually calculate staff for all three other types of contacts – outbound calls, email, and chat.

Example 1 – Inbound Calling

Before we look at the other types of contacts, let’s review from the last article the calculations and model for inbound calling.  Let’s take the example where there are 400 calls expected with a handle time of 180 seconds and our service goal is an average speed of answer (ASA) of less than 30 seconds.   The calculation of 400 calls x 180 seconds/3600 yields a workload of 20 erlangs.

The next table shows what happens with varying number of staff in place to handle 20 erlangs of workload. To meet the desired service goal, 23 staff would be required, according to a standard Erlang C call center staffing model.

Example 2 – Outbound Calling

In this second example, assume that we wish to place 400 calls in the hour and that the AHT (talk time plus after-call work) is 180 seconds.  However, in this example, there is also a set-up time of 32 seconds per call if our agents are using a manual dial approach.

The workload calculation would be 400 calls x (180 + 32) / 3600.  This results in a workload of  23.55 erlangs.   Now, instead of applying this to an Erlang C model which assumes random work, we would use a simple ratio of workload to staff, since the work for these outbound calls would essentially be sequential workload. In other words, the calls would be placed back-to-back and an agent could complete a new call as soon as the current one is finished.  With this simple ratio approach, we might assume 24 staff would be needed.

However, there is one more step to consider.  In the inbound calling problem, we used Erlang C to determine staff to meet a service goal and the resulting staff requirement created an occupancy number.  With the outbound calling, we will need to factor in occupancy as part of the staffing design.  If we think 90% occupancy is reasonable with staff getting 10% downtime between calls, then dividing the 23.55 erlang and staff number by .90 would yield 26 staff needed to accomplish the work.

Example 3 – Emails

In the third example, we are going to assume that 1200 emails have arrived throughout the day up until 2:00pm and we guarantee a same-day response for any contact arriving by that time.  Therefore, there are 1200 emails to handle between 2pm and 5pm.  The handle time of these email contacts is 3 minutes.   Given that the emails are “stacked up” and waiting, this is another example of a sequential type of work where a simple ratio of workload to staff is all that is necessary.

Given this “dry cleaners” approach to staffing (in by x time, out by y time), there is a simple formula that can be used to determine staff.  This formula is:

Where volume is the number of contacts, RT is response time window, and AHT is the handle time.  Note that Response Time and AHT must be defined in the same increment of time (typically minutes or seconds)

Using this formula, 1200 contacts divided by a response time of 3 hours or 180 minutes, divided by a handle time of 3 minutes.   So, 1200/ (180/3) = 20 staff.  Another way to look at this is that 1200 contacts handled over 3 hours equals 400 emails per hour.  If the average handle time is 3 minutes, an agent can handle 20 per hour, and 400 contacts divided by 20 contacts per person yields a 20-person staff requirement.    

Either way, this staff requirement needs to be adjusted for a reasonable level of occupancy.  If we use the same 90% occupancy number from the previous example, 20 staff / .90 occupancy = 22.2  or 23 staff.

Example 4 – Chat

Our final example is a growing contact channel – chat.  These contacts arrive randomly just like incoming telephone calls and they are treated much the same way with an Erlang C model.  However, the tricky part is defining handle time since during a defined window, there may be multiple chats happening at the same time.

In this example, let’s assume 800 chats per hour and each one lasts 180 seconds. This part is simple, but complicated by the fact that there are almost always at least two simultaneous chats happening.  Assuming two chats at once, we simply divide the handle time by two, assuming the handle time is split between two contacts.  Therefore,  800 contacts x 180 seconds/3600/2 = 20 erlangs.

Since these contacts are randomly arriving work, we use the Erlang C model instead of a ratio model for sequential work.  Therefore,  the numbers are like the table shown in Example 1 for randomly arriving telephone calls.

Summary and Next Steps

Successful call center operations depends on getting the right number of people for each period of the day to answer incoming contacts while accomplishing two objectives – meeting desirable service levels and minimizing personnel costs.

In this continuation of the Staffing Essentials article, you learned the basic steps of contact center staffing, for other contacts like outbound calling, emails, and chats.

In the next article in this series, we’ll explore the various tradeoffs to consider when making staffing decisions.  You will learn about service considerations, productivity tradeoffs, and the impact that staffing decisions will have on the bottom-line financial picture.

Penny Reynolds was Co-Founder of The Call Center School and is a popular speaker and writer in the area of call center operations.  Recently retired, she serves as an Educational Advisor to SWPP, continuing to provide thought leadership and training to the workforce management community.  She can be reached at pennyreynolds00@gmail.com or at 615-812-8410.