Optimising technician location through cluster analysis
Using cluster analysis techniques on your work order data can help optimise the working locations of field technicians.
A large number of the benefits of a Mobile Workforce Management (MWFM) solution comes from increased efficiency; more work time, less travel time, less idle time … I’ll not go on, you know all this. Leading MWFM solutions incorporate an advanced automated scheduling capability to drive these benefits.
There are many factors to consider when constructing the rules that govern what the automated scheduling engine views to be an efficient allocation of work orders. These factors typically include work type priorities, skills and travel time. However, an influencer less considered is the location of the technician. Technicians can start and end their daily shift from a variety of locations; their home, a depot, or an arbitrary location in the centre of their normal working area. Organisations have little control over the location of a technician’s home, maybe a little more over the location of a depot, although that location is often an historical accident. Where organisations do have control is in defining where the technician spends his or her working day.
With that level of discretion, where should the technicians be located? What factors should be considered? For reactive work, over a significant geographic area, predicting the patterns of work order location is difficult. However, field organisations have a significant amount of data about the geographic positioning of customer calls, outages and reactive work types. That historical data can be used to calculate the optimal placement of technicians to meet the “typical” daily workload (I put typical in quotes because, as we all know, there is no such thing as a typical workload).
This general topic falls under the heading of cluster analysis, a method of identifying and visualizing groups of things – work orders in our case. For our specific needs, the vector quantization method of K-Means Clustering is appropriate; it can determine clusters of data, based on the structure of the data and the number of clusters to be found.
To describe the process, I can do no better than to use a slightly modified description from Toby Segaran’s book “Collective Intelligence” [O’Reilly, 2007].
K-means clustering starts with k randomly placed centroids (technician locations) and assigns every work order in the data to the nearest technician. After the assignment, the technicians are moved to the average location of all the work orders assigned to them, and the assignments are re-done. The process repeats until the assignments stop changing.
This kind of analysis is prone to becoming stuck in a local optimal clustering, while the real global best cluster lies out of reach. To minimise this issue, the process is repeated many times, with different random starting positions. The best clustering is identified by a cost function — in this simple case the set of clusters with the smallest total distance between technician location and the orders assigned. For more accuracy, the cost function could be based on street-level routing times.
The algorithm is quite simple, and was coded in Clojure, with output to Google Earth via KML. So, on the basis a picture is worth 1024 words (that’s inflation for you), here’s a sample of the map-based output.
The green paddles represent the calculated optimal technician placements. The orders that form the cluster are connected to the technician location by a purple line. Output can also be provided in a CSV file format, so that the technician placements in terms of latitude and longitude may be imported by a scheduling engine.
Given say, a year’s worth of order data, this approach can determine the best location of technicians to minimise travel time over that year. As the financial industry is fond of saying, past performance is no guide to future performance, but it has to be better than guessing.
The challenge is to persuade your field technicians to move to the right place; even for mobile workforce management the three key criteria are location, location, location.