September 2022 - May 2023
Client: SNCF Matériel
Position: Railway engineer and data analyst
For more than a decade, SNCF has equipped its new trains with numerous sensors to record the status of the systems as well as key data on the operation of the train in real time. This data allows for automatic and remote warning in case of a breakdown, while detailing the location on the train. More importantly, the use of this data coupled with predictive models allows to deduce a large number of system failures before they occur. This process is called predictive maintenance and is a major strategic matter in fleet management because it allows an optimization and a reduction of the maintenance cost and time, but also because it limits the number of failures, increasing the reliability of the network.
My objective was to process and analyze the data of the Regio2N toilet system in order to make hypotheses on the current uses (water consumption according to the lines or schedules, ...) and to issue a prediction tool, allowing to adequately plan the toilet's tanks filling and draining.
Analyze, process and store the raw data sent by the train using an ETL pipeline;
Define a relational database structure;
Develop useful hypotheses for the operation and maintenance of the rolling stock;
Develop a predictive tool for adequate maintenance planning;
Incorporate this analysis in an intuitive graphical interface, based on Covid Tracker;
Write technical documentation on the processes used and the functions of the software.
Measure clean and dirty water usage per mission on a daily basis based on the inputs (flush and sink usage, valve positions);
Output results on a Covid Tracker like interface, allowing for weekly, monthly, yearly and global analysis to detect specific periods, special events and trends.
Libraries used :
Graphics Interface: PyQt6 (Python)
Data collection and analysis: Pandas, Numpy, postgreSQL, Psycopg2
Creation of a route selector to input missions between two maintenance windows;
Compute the cumulative consumption based on already existing data and trends;
Add criticality indication to plan maintenance accordingly.
Libraries used :
Graphics Interface: PyQt6 (Python)
Data collection and analysis: Pandas, Numpy, postgreSQL, Psycopg2