$18M Annual Fuel Savings. 450 Vessels. Still Running 6 Years Later.
Predictive Freight Router: ML-Powered Logistics Optimization
Context
A global container shipping operator managing 450 vessels and 1.2 million TEUs annually was routing ships using static lane assignments updated quarterly by a team of four analysts. Their ETA predictions were off by 3 to 5 days. Fuel procurement was based on historical averages, not actual voyage conditions. Bunker fuel is the single largest operating cost in container shipping, and they were burning $18 million more annually than the physics of their routes required. The operator needed ML-powered route optimization that could factor in weather, currents, port congestion, draft restrictions, and fuel price arbitrage across bunkering ports. The system had to integrate with their SAP Transportation Management instance (SOAP APIs, not REST) and their existing Rails-based operations dashboard.
Approach
- •Built a PyTorch Graph Neural Network that models the global shipping lane network as a graph, with ports as nodes and routes as edges weighted by fuel cost, time, weather risk, and port congestion
- •Rails middleware layer bridges SAP TM (SOAP/XML) with the ML pipeline (SageMaker/REST), handling data transformation, caching, and error recovery
- •Route optimizer evaluates 15,000 permutations every 6 hours, incorporating live weather data, real-time port congestion feeds, and bunker fuel price APIs
- •Progressive deployment: ran shadow mode for 8 weeks (ML recommendations alongside human decisions) before switching to ML-primary with human override