Skip to main content
📝The Challenge
Inaccurate ETAs are a primary source of operational friction in the maritime industry, leading to increased costs, scheduling conflicts, and inefficient port operations. This module addresses this by moving beyond simple calculations to a data-driven prediction model that accounts for real-world, dynamic variables.

Data Flow & Processing

The ETA prediction model relies on a robust, four-stage data pipeline to ensure accuracy and reliability, transforming raw inputs into actionable insights.

Core Algorithms & Calculations

The ETA prediction model is built on a comprehensive data pipeline that transforms raw, diverse inputs into a refined, reliable forecast. This process involves five key stages, from initial data collection to the final continuous calculation.

1. Data Ingestion: Weather & Route Polling

The process begins by polling external APIs for essential voyage context. The system is designed to periodically query Navtor for detailed routing information and Stormglass for real-time and forecasted weather conditions along the vessel’s planned route. Algorithm Logic:
  • Establish secure connections to Navtor and Stormglass APIs.
  • Request route data for a specific vessel and voyage.
  • Request weather parameters (wind speed, wave height, currents) for the specific geographical points along the route.
  • Store the raw, unstructured JSON responses for processing.

2. Data Extraction: Email & Noon Report Parsing

A significant portion of operational data arrives in unstructured formats, such as noon report emails. The system uses a sophisticated parsing engine to extract critical information from this text. Algorithm Logic:
  • Monitor a designated inbox for incoming noon report emails.
  • Use regular expressions (regex) and keyword matching to identify and isolate key data points (e.g., “SOG:”, “Remaining Dist:”, “ETA:”).
  • Extract values for vessel speed, remaining distance, fuel consumption, and the reported ETA.
  • Temporarily store this extracted, key-value data for the next stage.
Alternative Method: GPT-Based Parsing For more complex or less structured reports, a Large Language Model (LLM) is be used for more robust and flexible data extraction.

3. Data Standardization & Enrichment

Once data is extracted, it must be converted into a standardized, structured format. This stage involves cleaning the data, converting units, and enriching it with information from other sources. Code Implementation:

4. Data Validation: Time-Based Correction

A key source of ETA error stems from the timing of noon report submissions. Reports filed after midday can be incorrectly timestamped to the following day. The system applies a specific logical check to correct this. Algorithm Logic: The algorithm checks the timestamp of each incoming noon report. If the report’s time is after 12:00 PM (noon), but the associated date has been advanced to the next day, the algorithm corrects the date back to the actual day of submission. Code Implementation:

5. Voyage Status & Geolocation Processing

After the primary ETA is calculated, the data is further enriched with voyage status and geolocation information to provide a complete operational picture on the dashboard. Geolocation Mapping: This function maps the vessel’s current location to a standardized geographical region for easier tracking and filtering. Code Implementation:
Voyage Status Creation: The system generates a dynamic, human-readable status for each voyage based on its current operational data. Code Implementation:
Final Data Processing: This function orchestrates the final data processing steps, bringing together all the calculated and enriched data points into a final, dashboard-ready object. Code Implementation: