← Back

Machine Learning, Ships, and Ports 😉

Machine learning is a hot topic right now. And at JellyTech, you will find projects that are based on or draw from machine learning. We invite you to read about a model we actually applied and that is being used in a strictly business context.

ML in our everyday life

You may be wondering how a machine learning model can serve us in everyday life — in sales, transport, trade? These are major branches of the economy that generate petabytes of data every minute. These sectors exhibit certain trends and patterns, and the better we can estimate them, the more efficiently we operate. Machine learning is precisely about training algorithms to find patterns and correlations in large datasets. The next step is to formulate the best possible predictions and make optimal decisions.

Our project challenges

Now for a few more details about our project. Did you know that 90% of global trade volume travels by sea? That is an incredible number of ships, ports, and shipping routes. We had the great pleasure of implementing a project for our client that optimizes the logistics of their managed fleet. Our client charters thousands of ships, which every day sail the seas and oceans of the entire world. When we began the task, we therefore found ourselves in possession of a vast variety of data: ship routes, port waiting times, meteorological variables, and much more.

We started by properly (i.e., in an engineering sense) connecting the data together, then structured and organized the variables — all so they would be ready for modeling.

The variables the model needed to account for included:

  • geographic location
  • cargo
  • ship size
  • seasonality with latitude
  • carrier
  • chartered ships
  • characteristics of the world's largest ports (approximately 50)

It was essential to understand the characteristics of maritime transport through conversations with experts and exploratory data analysis (EDA). This is how we learned how important it was for the model to operate at the level of the port, the terminal, and the dock to which the ship is heading.

Results

We tested many machine learning models to select the best one — meaning the one that would allow us to predict most accurately the waiting time before our client's ship could enter a port. Building, testing, and validating the model yielded truly impressive results: the winner achieved over 80% fit. What does that mean? 🙂 Previously, our client's ships were waiting in port for (on average) up to 3 days before being able to enter. We managed to develop ship arrival predictions to such a degree that the average predicted waiting time before entry dropped to 6 hours.

Tools

What tools did we use? The entire process was programmed using the Python language and its libraries, including Pandas, NumPy, and Scikit-learn.


Of course, a good atmosphere while working on this model was also indispensable.


So 🙂 Sailing 😉


Photo Gallery

Video