Home / Blogs & Insights / How To Test A Vessel ETA Prediction Model

How To Test A Vessel ETA Prediction Model

A vessel route terminating at a named arrival milestone with uncertainty.

Table of Contents

A vessel ETA prediction model is only useful if it beats the method planners already rely on. Test both on the same calls and forecast horizons, using only the data that was available when each forecast was made.

Then compare typical error, large misses, prediction availability and interval coverage. Together, these measures show whether a better average becomes information a planner can act on, or whether it hides failures at the moments that matter.

Which Arrival Event and Forecast Horizon Should ETA Predict?

Estimated time of arrival (ETA) means little until you name the arrival. Specify the milestone, the source of the actual timestamp and the horizon at which each forecast is scored. A six-hour forecast and a one-hour update are separate tests.

DefinitionQuestion to Settle
Target eventWhich arrival milestone is being predicted?
Actual labelWho records the event, and how is it corrected?
Prediction horizonWhen will the user receive the estimate?
Operational actionWhich planning decision can change as a result?

Industry definitions help here. The IMO Just In Time Arrival Guide frames on-time arrival around the pilot boarding place, once berth, fairway and nautical services are available. Berth arrival is a different milestone with a different forecast.

Port call data standards draw the same line. The S-211 Port Call Message Format separates estimated, requested, confirmed and actual timestamps, so a forecast never has to overwrite a recorded event.

Do not train on a convenient database timestamp if it records a different event from the one the planner needs. Name the planning task, the reviewer and the fallback method before you choose any vessel ETA prediction model.

Keep arrival prediction separate from congestion forecasting, which is covered in Predictive Analytics for Port Anchorage Congestion. The target, denominator and planning response differ, even when some inputs are shared.

Distinct arrival milestones at the port boundary, pilot boarding point, anchorage and berth.
Port boundary, pilot boarding, anchorage and berth arrivals are distinct prediction targets. Always compare the same milestone at the same horizon.

Build a Dataset That Excludes Future Information

Reconstruct What Was Knowable at Prediction Time

For every training example, rebuild the information available at prediction time. Later berth changes, corrected arrival records and completed service times must not leak into earlier predictions. Store when each value became available, not only when the event happened.

Candidate inputs include Automatic Identification System (AIS) position reports, remaining route distance, call details and environmental forecasts. Test each one rather than assuming it helps, and drop any input that does not improve the forecast.

For weather and tide, use the forecast that existed at prediction time, with its issue time and validity window. A historical observation the operator never had is not a fair substitute for the forecast they actually used.

Check AIS Data Quality First

AIS feeds contain gaps, duplicate positions and destination fields that crews do not always update. Flag every gap longer than your agreed threshold, and record whether the vessel's reported ETA was stale when each forecast was made.

These flags do two jobs. They can serve as model inputs, and they define the disrupted-feed segment that the evaluation must report separately rather than averaging it away.

Prediction-time boundary separates available inputs from later updates and observed arrival outcomes.
Only inputs available at prediction time may inform an earlier estimate. Later observations and corrected outcomes support evaluation, not model inputs.

Choose a Baseline and the Metrics to Report

A model has to beat something specific. Fix the baseline and every metric before the evaluation starts, so nobody picks the measure that happens to flatter the result afterwards.

Use the AIS-Reported ETA as a Starting Baseline

The simplest fair baseline is often the ETA each vessel broadcasts through AIS. It costs nothing, it is available whenever the feed is live, and it is usually the estimate planners already see.

Where the port already runs a schedule-based or agent-reported estimate, test against that as well. The model earns its place only if it improves on the estimate it would replace, on exactly the same calls.

Report Error, Bias and Interval Quality

Mean absolute error (MAE) is the average absolute gap between predicted and actual arrival. Report it with the median absolute error and the 90th percentile error, because the tail is where missed service windows come from.

Report signed error as well. A model that is consistently early and one that is consistently late can share the same MAE, yet they cause very different planning problems.

If the interface shows a prediction interval, check coverage and width together. An 80% interval should contain roughly 80% of actual arrivals. The Winkler score, explained in Forecasting: Principles and Practice, combines both.

Evaluate on Rolling Time Windows

Shuffled train and test splits let future patterns leak into training. Scikit-learn's guidance on time series cross-validation explains why ordinary shuffling gives misleading results for time-dependent data.

Use rolling-origin evaluation instead. Train on data up to a cutoff date, test on the period that follows, then move the cutoff forward and repeat. One unusual month then cannot decide the result on its own.

Test a Vessel ETA Prediction Model at Three Planning Horizons

Illustrative example

This calculation uses 100 held-out calls at each horizon, which is not a recommended sample size. Choose an evaluation set that covers the operating conditions the model will face.

Error comparisons use the 96 calls where both the baseline and the model produced a forecast. Availability is reported separately, and later corrections are excluded from prediction-time inputs.

Horizon Before ArrivalBaseline MAEModel MAE90th Percentile Error (Baseline / Model)
6 hours50 minutes38 minutes110 / 105 minutes
3 hours32 minutes25 minutes75 / 70 minutes
1 hour20 minutes15 minutes45 / 55 minutes

At six hours, MAE falls from 50 to 38 minutes, a 24% reduction: (50 − 38) ÷ 50. At one hour the reduction is 25%, but the 90th percentile error worsens from 45 to 55 minutes.

A planner booking a narrow pilot or berth window may reject that trade-off despite the better average. The right answer depends on which horizon drives the decision, not on the headline score.

Read the Results as a Planning Decision

Additional CheckSample ResultDecision
Forecast availability96 of 100 callsKeep the baseline for the four calls without a model forecast
Disrupted-call mean absolute errorModel 70 minutes; baseline 60 minutesInvestigate that segment before operational use
80% prediction interval coverage77 of 96 forecasts (80.2%)Coverage meets target; now check width and subgroup coverage

Why the Median and the Mean Both Matter

Take three forecasts with absolute errors of 10, 20 and 60 minutes. The median is 20 minutes, which looks acceptable, but the MAE is 30 minutes because one large miss pulls the mean upwards.

Neither number alone describes what a planner experiences. Keep the full error distribution and the decision horizon beside every headline score, and flag any horizon where the tail gets worse.

Break Results Down by Segment

An overall score can hide the conditions in which the model fails. Report results separately for the segments your planners care about, and compare the baseline on exactly the same calls in each one.

  • Vessel type and size, since container, bulk and tanker calls follow different approach and waiting patterns.
  • Terminal or berth group, where local procedures change approach time and the point at which arrival is recorded.
  • Season and weather band, including periods of strong wind, restricted visibility or narrow tidal windows.
  • Feed quality, separating calls with AIS gaps from calls with continuous tracking throughout the approach.
  • Plan changes, such as berth reallocations or revised pilot bookings made after the forecast was issued.

Watch availability as closely as error. If the model forecasts only the easy calls, lower error on that subset does not prove a better service for the whole planning workload.

Integrate the Forecast as an Estimate

Store the model version, prediction time, target event and input freshness with every forecast. Keep the forecast separate from requested, confirmed and actual milestones, in line with the S-211 time types described earlier.

A new prediction can prompt a review, but it should never silently rewrite a confirmed operating commitment. Give coordinators a clear route from each vessel's ETA prediction back to the underlying call and model version.

Show when each prediction was last computed and when it fell back to another method. What Port Operators Need From A Dashboard explains why screens need a no-prediction state rather than assuming an estimate always exists.

Monitor the Deployed Model

Evaluation does not stop at launch. Define in advance what each monitoring signal triggers, so a drop in forecast quality leads to a decision rather than a chart nobody reads.

Monitoring QuestionResponse to Define
Are required inputs arriving?Qualify or suspend affected predictions
Has error changed by horizon?Investigate data and operating changes
Are operators ignoring outputs?Review usability and decision relevance
Has a model version changed?Compare results before wider use

Assign an owner to each response. A dashboard of errors is not an operating process unless someone reviews it regularly and has the authority to restrict use.

Keep earlier model versions and their evaluation evidence so any change can be investigated or rolled back. Where AI Can Help Anchorage Operations And Where It Cannot sets out the wider control model for these decisions.

Structure a Credible Pilot

Use a bounded group of calls and one defined planning decision. Run predictions in shadow mode first, then compare them with actual events and the baseline, including calls where inputs were missing.

Agree up front whether the pilot tests prediction quality, user adoption or a downstream workflow benefit. They are related outcomes, but each needs its own acceptance criteria, set before any results are scored.

A credible pilot report names the arrival event, forecast horizons, baseline and difficult segments. It then explains how the model's ETA prediction and its uncertainty change what the operator does next for each vessel.

Conclusion

Testing a vessel ETA prediction model comes down to a fair comparison. Use one shared evaluation set, score each decision horizon separately, and hold the model to the estimate planners already have.

Inspect disrupted calls, missing forecasts and interval coverage alongside the headline error. Use the model only within the conditions it was tested in, and decide in advance when to withhold a forecast and what planners see instead.

Discuss an ETA Pilot with SDLC Corp

The SDLC Corp AI Development Services team can evaluate an ETA capability alongside our Anchorage Management Software. Share your arrival-event definitions, historical data rights and planning horizons.

We will compare your vessel ETA prediction model with the existing baseline on held-out records, including interval coverage, unavailable forecasts and difficult calls. A supervised pilot follows, with acceptance conditions agreed before results are scored.

Frequently Asked Questions

What Makes an ETA Comparison Fair?

Use the same eligible calls, arrival event and prediction horizons for every method. Both must see only information available at prediction time, and missing forecasts must be reported rather than quietly excluded.

Is the AIS-Reported ETA a Good Baseline?

Usually, yes. It is free, widely available and already familiar to planners, so beating it shows real added value. Where a port uses a stronger agent or schedule-based estimate, compare against that as well.

Which Metrics Should an ETA Evaluation Report?

Report MAE, median and 90th percentile absolute error, and signed error for bias, all by horizon. Add forecast availability and, where intervals are shown, coverage together with width or an interval score.

Can Corrected Arrival Times Be Used in Training?

Yes, as outcome labels. They must not leak into the input features of earlier forecasts. Keep the final actual time separate from what the system knew when it made each prediction.

Is a Narrow Prediction Interval Better?

Only if it also reaches its stated coverage. A narrow interval that often misses the actual arrival gives planners false confidence in the precision of the forecast.

When Should a Forecast Be Withheld?

Withhold or qualify it when required inputs, such as AIS updates, are missing or when conditions fall outside those tested. Show the reason and the fallback estimate instead of an unsupported confidence value.

ABOUT THE AUTHOR

Shashank Jaiswal

Co-founder & CIO

Shashank Jaiswal is the Co-founder and CIO of SDLC Corp, where he leads enterprise technology, solution architecture, AI, automation, and digital transformation initiatives. His work spans enterprise software, ERP and CRM platforms, system integration, cloud architecture, data-driven applications, and the modernization of complex business operations.
PLAN YOUR SOLUTION

More Insights
You Might Find Useful

Explore expert perspectives, practical strategies, and real-world solutions related to this topic.

An anonymized planning view distinguishing forecast and scenario.

Define Port Congestion Before You Try To Forecast It

Port congestion forecasting compares expected demand with usable capacity over

Let’s Talk About Your Product

Get expert guidance on scope, architecture, timelines, and delivery approach so you can move forward with confidence.

What happens next?