wave background

Multi-skilled scheduling, can it be solved in theory?

Customer Satisfaction Using WFM, Savings and Efficiency, Scheduling

Göran Svensson, Research Lead at Teleopti in the field of  Optimization and Systems Theory, recounts the key factors explored in his mathematical research into multi-skilled call centers. How can Quality of Service be maintained when scheduling multiple skills with a limited budget and number of available agents for certain skills?

multi-skilled schedulingThis year I attended International Conference on Operations Research and Enterprise Systems (ICORES) 2018 in Portugal, where I presented my research results on resource allocations for a system of multi-class, multi-server queues. The ICORES conference covers topics in Operations Research (OR) and Systems Engineering. WFM is a subfield of these more general disciplines. The days were filled with interesting talks, many occurring in parallel sessions. One of the keynote speakers was a professor from Technion, which is one of the more prestigious universities for OR in general and WFM in particular. There were several presentations on optimization methods, resource management and decision analysis. The talks spanned most of the more mathematical parts of OR, from military logistics to fairness in healthcare scheduling.

I presented my work in the field of multi-skilled call centers and the corresponding decision processes. The problem is solved as a multi-objective optimization problem via the Marginal Allocation Algorithm with constraints on the total budget and availability of agents (customer-facing employees).

That a problem is multi-objective simply means that one tries to optimize several factors at the same time. Normally such a problem produces what is known as an efficient front or a pareto solution. This means that one gets a set of solutions where one goal cannot be improved without obtaining worse outcomes for the other goal(s). It is then commonly up to an expert to choose which of these solutions best serves their specific needs. An example would be the tradeoff between service quality and the cost of using more agents.

The first objective (goal) is to keep the cost of employed agents as low as possible, the second objective is to deliver as good a service to customers as possible. The cost of agents is kept low by using fewer agents while the quality of service improves with an increase in the number of agents employed. Now we can clearly see that there is a conflict between these two goals.

The service provided is measured by something known as a Quality of Service (QoS) measure. Average Speed of Answer (ASA), Service Level (SL, which is a type of Value-at-Risk measure for the ratio of calls, or other inbound contact types, answered within a certain amount of time) and probability of delay are different types of such QoS measures. In the presentation I focused on two QoS measures: One that is closely related to the Service Level measure, called the Conditional Value-at-Risk (CVaR), and the other which is based on the fraction of customers abandoning the queue before receiving service.

The CVaR measure is in many ways superior to the VaR type measure of Service Level. It has some nice mathematical features as well as providing a means to control the outcome, not just for the customers that receive service in time, but also lends itself to control the outcomes for the customers not serviced within the acceptable time.

The optimization method used is known as the Marginal Allocation Algorithm. It is an iterative algorithm that step by step adds the agent that provides the greatest marginal benefit and provides the corresponding efficient point. The main advantages of using this algorithm is that it is easy to implement and that it can solve large systems at a low computational cost. The main disadvantage is that it requires strong assumptions on the goal functions. One such requirement is that the functions should be what is known as convex (read more about convex functions here). Convexity is a characteristic that simplifies optimization procedures in general, which is in addition to the existence of many reliable software solvers for convex problems.

One important contribution of this work is to show that the CVaR (Conditional Value-at-Risk) measure is convex in the number of agents employed, thus it may be used in conjunction with the Marginal Allocation Algorithm.

In my case, a problem with N different queues, representing different skills, is considered when there is a budget constraint on the system, as well as a limit on the available agents with certain skills. In the work, I compare the two different choices of the two Quality of Service (QoS) measures, CVaR and abandonment based. I highlight the similarities as well as the differences. A large-scale system is also provided and then solved (quickly) to show the power of the Marginal Allocation Algorithm.

The paper, on which I based my presentation, had been peer reviewed by three external professionals and has been published in the proceedings booklet. I have also been invited to extend my paper and have it published in a book by the Springer publishing company, as a chapter. The audience was attentive and interested, which led to a fruitful discussion on measures.

This means that my purposed method can be used to procure the staffing needs for large queueing systems quickly. The CVaR measure is suited for situations where all customer service times are of importance, like in a healthcare situation.


  1. Interesting article. But a thought arises. Are you assuming a geometric progression in number of operators and number of calls handled/ cases solved. Depending on the skill level of the operator employed the increase in efficiency could be significantly greater than the increase in cost.
    E.g. An experienced operator paid 1.5x the wage of an entry level inexperienced operator might handle twice as many cases in the same timeframe.

    1. Thank you for an interesting and relevant question, however in this article we assume that the costs and added service capacity scales linearly per skill. This was done mainly to conform to already published works with other quality measures but the marginal allocation algorithm does not require this to be true but applies to a wider variety of cost functions (the requirement being integer convexity).
      In practice this would involve some reformulations, such as making the service rate a function and the resulting Markov chain would depend on the routing used. It may cause problems in calculating the CVaR-value explicitly (and some modifications would have to be made to the convexity proof).

Leave a Reply

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

Contact me I want to know more