According to McKinsey Global Institude study on impact of AI and automation, transportation and warehousing are one of the most automatable sectors of economy (3rd place), with 60% potential for automation. Predicting the future demands for production and supplies, improving transportation routines, or automating physical inspection and maintenance are some of vast possibilities to use data science in supply chain management. While self-driving cars seem to be a future of transport, we would like to focus on optimizing “here and now”, without changing the market – just with smart, data-driven decisions.

Warehouse location optimization

We would like to focus on a problem of choosing location of warehouse to minimise cost of both freight and warehouse maintenance. It is a complex Data Science problem, that is composed of various independent components that need to be optimised. So what obstacles do we have to face in this problem? First of all we want to minimise warehouse construction and maintenance costs. It consists of land and construction or rental price in particular region, unemployment index that affects amount of people willing to be hired and their salary. Needless to say taxes in the given region play important role, which vary tremendously for instance in Switzerland. On the other hand, supply chain cost plays gigantic role in total cost and we would like to deliver articles to clients with minimal amount of money. While having only a few clients, supply cost can be done with simple equations, but having numerous clients require sophisticated machine learning tools. What is more, when we compute all components, such as delivery time, maintenance cost or unemployment, they are nontrivial to compare. 

In this case we decided to focus on two factors. Firstly, we want to lower the total time and cost needed for delivery. We need to supply every client located in various places around Switzerland from the warehouse. Then we want to choose warehouse location in such region, that has got the highest unemployment ratio. It could imply more and cheaper labour needed to maintain new building.


So lets dig into analysis. We started with generating 50 locations of our clients, where articles need to be supplied. 

Location of the clients on the map

Randomly generated clients locations. 


How we can simplify the complexity?

We narrow our area only to the area where clients exist. But still, supplying every client separately would be a great deal. Suppose we were to supply not 50 but 5000 clients. It would absorb too many financial resources of the company. That is why we have done a clusterization of locations, which mean we grouped neighbour clients. It is similar to the situation of courier delivering packages to many houses at one go instead of coming back every time. Comparing to trivial supply, clustering saves 40% of time courier has to spend. What is more, our clients are situated in a small area. If we were to supply many clients in Geneva, Zurich and Lugano, grouping would result in much bigger time saving ratio that implies money saves. 

Clusterization of clients to reduce the delivery time

Grouped clients with their cluster centres


Having 50 clients to supply around Switzerland we found creating a precise mesh of potential warehouse location the best solution. Every location has a computed total delivery time. We have used similar to Google Maps routing system, called OSRM ( On the margin we have to say, if we had higher number of clients, precise mesh would not be possible. Instead we would use Machine Learning and Metaheuristic algorithms to choose areas closer to minimal travel time. We assume that warehouse should be near communication node, so points have been corrected to the closest one.


The best location was found in Zurich, near Hauptbahnhof with 25% shorter delivery time than average. This could be caused by wide motorway network connected to the city and its neighbourhood to Zurich. Having minimised total delivery time, it is crucial to focus on other factors such as unemployment. 

Optimal location for the planned warehouse

Best location in terms of delivery time - Zurich

Optimization for labour cost

Second criteria when choosing warehouse place is unemployment. We have taken unemployment ratio of all Swiss regions and assigned to potential locations. Having high unemployment and low delivery time it implies best place to consider. 

Unemployment in Switzerland, August 2015

Switzerland’s unemployment (canton wise) in 2015 year. Source:

As unemployment cannot be easily compared to supply time, we give an option to decide which factor is more crucial to our client, depending if they want more labour or faster supply time. Two factors can be approximated to one: cost of maintenance. Assuming average gasoline price and variant worker salary we generated a factor showing how is the cost better from average. 



No of transports / month
10 transports

No of workers in new warehouse
5 workers

A point with 7.9% lower cost than average

A point with 6.2% higher cost than average

Optimal location for new warehouse

Interactive map



Taking all into consideration, we split a problem to smaller issues which resulted in a solution, still giving our customer a free choice which factor they want to focus on. This example shows precisely how complex supply chain could be even with a few locations to deliver, but still sophisticated Machine Learning tools make more complicated examples possible to calculate. Though we found a solution this topic could be considered from many other perspectives.