Capacity Planning Basics Part 2 of 2


The following article has been authored by Blair McGavin and is part 2 of a 2 part series. If you missed Capacity Planning Basics Part 1 of 2 then be sure to check it out before reading this article. As always both myself and Blair welcome your thoughts and comments we would love to hear from you. –  Doug Casterton

Let’s talk about Shrinkage

What is shrinkage?  Alright, you already know the answer (and so does George 😊) – any paid or scheduled time that is NOT on the phone and included in either Handle Time or Available Time.  That’s a simple definition but verifying that every state code from your ACD is either being applied towards HT, Idle time or a shrinkage bucket – requires an extensive audit on your end.

Notice how I said ‘paid’ or ‘scheduled’ time.  This is a key distinction.  We use shrinkage to calculate our utilization [ Utilization = (1 – shrink)].  Since we all realize that ‘paid’ time doesn’t always equal ‘scheduled’ time, there are two different utilization values that we need to be aware of:  Paid Utilization, and Schedule Utilization.  Which of these do we use in our Capacity Planning formula?  Answer:  Schedule Utilization.  If agents are absent but not being paid, it still affects our staffing model and ability to deliver service.  But if they aren’t being paid, it doesn’t affect our cost structure – use Paid utilization to derive cost per call values.

There are two common ways to add shrinkage to your requirement, but only one of them will yield the right answer.  Your experience has probably allowed you to figure out that the 2ndoption below will produce the correct answer.  Simply adding the shrinkage % to your requirement as in the first example will leave you understaffed. 
1)    Requirement x (1 + shrink %)
2)    Requirement / (1 shrink %)
There is a simple test you can always apple to test this theory – just work backwards.  After adding 30% shrinkage to your requirement (e.g., [100 agents x (1 + .3)] = 130 agents).  Now take that value (130 agents), and subtract the 30% shrinkage, and you are left with 91 agents – understaffed by 9 FTE.  Dividing by (1 – shrink) in the denominator will produce the needed 142.8 scheduled agents.
Utilization and Holidays
I learned a hard lesson many years ago about how holidays affect our utilization – reinforcing the distinction between paid utilization and schedule utilization.  In the United States, we have two popular Monday holidays in the month of February.  Our typical monthly schedule utilization was about 74% (26% total shrinkage).  When our call center was closed on those two Mondays, we were lowering our utilization in our capacity plan to 67%, to account for that lost productive time – thus driving up our FTE requirements.  But if the contact center is closed, is it really affecting our staffing utilization – the answer is ‘NO’ it is not.  The remaining open days in the month would still operate at an average 74% utilization.  So what’s going on? 
What is happening here is that our ‘paid’ utilization would be 67%.  We are paying agents for time when they are not productive, thus causing our unit cost to go up.  But our staffing utilization would remain at roughly 74%.  Here is a little more complex scenario – ‘What if’ you are open on the holidays – either with abbreviated hours or just have significantly lower volumes.  The agents that work the holiday usually are given an ‘In Lieu of Holiday’ that they will take later in the month.  When those agents use their ‘in lieu of holiday,’ that WILL affect your staffing or schedule utilization, so the correct value for FTE planning might be something like 72% schedule utilization for a month like February.
Another important note:  The value for shrinkage that you load into your WFM system is very different from the shrinkage (or schedule utilization) that you would use in your Capacity Planning Formula.  The value for shrink in your WFM tool is usually just accounting for any unplanned absences or activities, and even lost adherence, that occur the ‘day of’ and are not pre-loaded into your agents’ schedules.  I have never liked this feature of WFM tools with regards to shrinkage.  This is where a lot of error is being introduced into our interval level forecasting.  There is a much more effective way of managing shrinkage in WFM software, but it would require a complete redesign of how they approach this key variable.
Hammer Time – “Can’t Touch This”
HT is the productivity component in our capacity plan.  HT is the sum of our Talk Time and After Call Work (ACW).  There is nothing too earth-shattering here to reveal about HT, just a few reminders that you are all aware of.  Remember, everything belongs in a bucket – either a shrinkage bucket, an HT bucket or an Available/idle bucket. 
The full 40 hours of an agent’s full-time schedule should be in one of these 3 buckets.  It is worth the time to do an audit to validate that this assumption is holding true.  If a full-time agent has a 40 hour schedule for 1 week, and if that agent had 10 hours of non-productive exceptions (breaks, meetings, absences, etc.), then we would expect to be able to break down his ACD stats and get the HT and Available time to sum to the balance of 30 hours.  If we assume for a moment that we don’t have any lost adherence, we should be able to get our [TT + ACW + Avail/idle time] to add up to roughly 30 hours.  That usually doesn’t happen.  There can be many other states that chip away at their ‘scheduled phone’ time like Ringing, Dialing, Outbound, etc.  The key here is to ensure that all of those states are either allocated to either your HT definition or are being accounted for somewhere in your different shrinkage definitions. 
One last little reminder – as you have all seen and experienced, HT is sensitive to occupancy.  When your contact center is understaffed, you will usually see your HT go up.  This can be 15-20 seconds on a typical 3 min call.  When your call center gets back to proper staffing, you will see the HT drop back down to the 3 min average.  When looking at your future FTE requirements, be careful not to use the 3:20 value which is due to your understaffing, and is NOT your steady state HT when properly staffed.

How many widgets will we process?

How do we know which call volume definition to use in our Capacity Plan?  Or is there only one definition?  Unfortunately, there is more than one volume variable:  Offered, answered, and abandoned calls.  Ask yourself a simple question:  “How many abandoned calls did your agents speak to last month?”  That should give you a clue as to which definition you should use in your CP model = Answered Calls.  Most companies are using their offered call volume forecast to drive their Capacity Plan, but are failing to recognize that some of those calls will abandon.  
A few key tips:
  1.           Use Offered calls in your forecasting Models
  2.           Load Offered calls into your WFM system – consistent with Erlang’s weakness of not accounting for                abandons
  3.           Use Answered calls in your Capacity Plan, so that you don’t over plan for the abandons.

So how do I figure out the correct number of abandons to subtract from my offered call volume forecast?  Here is another scatter plot trick that you can build from your ACD data.  The two variables that you want to plot against each other are ‘Daily abandon rate’ and ‘Daily occupancy rate.’

Looking back at your previous scatter plot of ‘SL vs. Occupancy,’ if your breakeven occupancy at Service Level was 85%, then we would want to see what our abandon rate is at 85% occupancy in this new scatter plot.  In this example, it would be 4.2%.  Then, in our capacity plan, we would want to subtract 4.2% of our calls from the ‘Offered call volume’ forecast to drive the number of expected transactions in our CP Model.  That is how many calls we would expect ‘not to process’ if we were properly staffed to meet service level.

This is a great time for a key reminder – some of the variables like volume and utilization, can take on different values and definitions through out this capacity planning process.  Don’t be so rigid in your CP process that you fail to recognize when some of these variables need to assume slightly different meanings.

Mission Impossible
Now that you have given your spread sheets and CP process a nice little tune up, is it possible to ‘prove to ourselves’ that we are doing it all correctly?  The answer is ‘Yes.’  We can take a week’s worth of actual data, plug them into our capacity planning formula, and the output should match our FTE, or so the theory goes.

In the above example, we started the week with 245 scheduled FTE, but when we run the numbers through our formula, it looks like we only needed 226 FTE – somewhere we are missing about 19 FTE worth of data. This is where the fun begins 😊, auditing our entire process to make sure everything is being accounted for. This is never easy. Here are a few tips:


  1.           Review your HT definition on your ACD – make sure that all of your states that are part of your agents’              ‘work’ time are being applied to HT.
  2.            The most likely culprit for these discrepancies will be shrinkage – remember, every state belongs in a                bucket.  Shrinkage is the piece that will require the most effort.
  3.            Review your ACD’s definition for calculating occupancy – is the ACD’s definition for HT and available                 time consistent with your assumptions.

Closing Thoughts (are you still awake?)
If this process were easy, our WFM vendors would have figured it out long ago.  My approach and advice to all of you WFM ‘egg-heads’ like me:         

  • Be inquisitive
  • Challenge the data
  • Challenge the process
  • Don’t accept a value or forecast until you have proven that it works
  • Join the IMF, and have the courage to accept the challenge to validate           your Capacity Plan process.

Once again, Doug and I welcome your thoughts and comments. 
Blair McGavin
Mozart Software

Related Articles

Responses

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

Need Help? Chat with us