Identifying the best staffing levels to meet the requested manpower at each moment in time is a challenge for them, one that can be addressed effectively with the use of Operation Research. I have performed various projects on this, in a wide variety of industries. In this blog entry I will explain how I addressed this challenge. I will focus on the question of how to determine the staffing levels; in a later entry I will address the challenge of generating good shift schedules.
First step in identifying the right staffing levels is to have a good estimate on the required manpower. As mentioned before, the required manpower varies over time, sometimes due to seasonal influences, like in agriculture or for airlines, but it can also vary on a very short term, like in call centres. A clear understanding of how the work is organized helps in identifying the right levels of staffing. In the airline business for example most of the activities performed are depended on the schedule of the aircraft. At a hub of an Express company the activities to be performed are depended on the arrival and departure of trucks or aircraft, also at railways, bus companies, etc. Focussing on the airline example, when an aircraft arrives at the airport all kinds of activities need to be performed before it can depart again. It needs to have a technical check up (to make sure it doesn’t fall apart), small repairs are performed, it needs to be cleaned, refuelled, etc. Also the baggage handling, passenger check in, airport security checks and boarding are all processes that are depended on the airline schedule. Scheduling these activities is a challenge in itself, also because in most cases special skills are required to perform them. As you can imagine the scheduling of these activities influences the demand for manpower a lot. When you do a bad job at this, for example by scheduling them all at the same time, it will create a peak in the required manpower. When you are able to create a flat as possible manpower requirement profile, it is much easier to create efficient staffing levels, for each skill, as you can imagine. Sometimes the company that hires you supplies you with the required manpower and is therefore taken as given. An easy job, you might be tempted to think. However my experience indicates that having a detailed look at it and trying to influence the organisation of work is worthwhile to consider, before identifying the best staffing levels.
A typical picture of the required manpower looks like the profile of the toughest stage in the Tour the France, many peaks and valleys that need to be covered with a set of shifts of certain lengths. The objective can either be to cover the peaks at all time, or at a certain ambition level. Part of the work is then covered with hired workers. Identifying a new set of shifts involves taking into account a vast number of conditions. Collective labour agreements and governmental regulation give guidelines on the minimal and maximum duration of shifts, the number of breaks in a shift and appropriate start times of shifts. Last but not least also employee preferences or scheduling principles applied influence the shift set to be modelled. Each of these conditions needs to be translated into formal restrictions of the model, most of the time leading to a mixed integer programming model. I usually solve this kind of models by generating all possible shifts using different start times, breaks required and duration of the shifts and breaks and let the management and employee representation of the company review them. After approval I feed the shifts that are acceptable to both management and employees into the model that identifies the best set. Sometimes new shift times are out of the question, because the shifts are part of the collective agreement. In that case it is still possible to improve, since the amount of shift can still be optimized. The same model as before can be used but now the shift set is fixed to the shifts now in use. The objective function needs some attention, especially when you want to use the model also for less than 100% coverage of the required manpower. I have some good experience with an objective function that minimizes the absolute difference between the required and available manpower.
The result of the optimization could look like this. Possible savings due to better shift times or number can be large. The savings obtained varied between 5% - 30% in the projects I performed. In case of variable demand for manpower, it pays of to regularly run the analysis to see if the current shift times and number still fits the required manpower.