Because multi-contact type and multi-staff type environments are so complex, the forecast staffing requirement is not a simple calculation (e.g., base staffingrequirements) and nor does it use a simple formula (e.g., Erlang-C). Instead a proprietary process is used that utilizes mathematical modeling, mathematical optimization, linear programming, discrete event simulation, and heuristics. The scheduling engine attempts to produce a realistic minimal set of agents based on actual agents that could handle the given load - the number shown is how many of those agents, it took to meet service performance goals.
We are attempting to determine the staff needed to answer interactions within a service level goal, not merely handle them. This makes the relationship between total work time and the required staff non-linear.
If we assumed that the calls arrived perfectly spaced out, then the staffing number would be linearly related to the total work time. Unfortunately, calls arrive randomly - the arrival pattern will have clumps and sparse areas. To achieve a goal of 80% of calls answered in 20 seconds, we have to consider the probability that an agent will be available in time, not merely consider if the agents have enough time to handle the interaction.
In addition, our software takes into account abandonment - callers will hang up if forced to wait beyond their level of patience. It also takes into account how the contact center has been run historically - factoring in things like adherence and conformance, non-business unit resources handling business unit interactions, business unit resources handling interactions outside of the business unit, and other operational behaviors, both good and bad.
------------------------------
Jay Langsford
Senior Director, Workforce Optimization Engineering
------------------------------