top of page

Predicting near real-time passenger train occupancies by using advanced machine learning models

Business context

In 2020, the national railway services of Belgium (NMBS/SNCB) wanted to reduce costs of a predictive service developed and hosted by a third party. Management felt that machine learning could play a bigger role in the company’s future, so opted to internalise the know-how of developing and running machine learning projects. 

Prior to the project, NMBS’s experience with machine learning and related cloud services was limited

Scope & objectives

Provide guidance to NMBS on developing and running machine learning projects using modern technologies capable of making real-time predictions.

Internalise the externally hosted service, and improve performance indicators.  

Key results

Within one month, a proof of concept was delivered, which had better results than the existing service. Since then, we have transformed a small team of analysts with little programming experience by introducing them gradually to the complexity of machine learning operations. In co-creation mode, we worked on feature engineering, model deployment and model performance tracking.

The model is running on Microsoft Azure ML, reactive to any streaming inputs, and serving tens of thousands of predictions per day, which are delivered to (potential) passengers. It was the first internally developed machine learning use case at NMBS to end up in production.


Cost of the service reduced by over 85%.

Reference case for machine learning deployed with tests, and integrated in a CI/CD flow. This case will be used as a reference for future ML initiatives.

Staff was trained on programming principles and cloud deployment and has built up the capabilities to carry on the project forward.

bottom of page