HARBORSHIELD / v0.5 / REAL-DATA EVIDENCE

Real data. An honest forecast test.

Singapore container-ship port calls · IMF PortWatch · 2022–2024

Real AIS-derived activity observations, not simulated cargo orders. This experiment tests next-day port-call forecasts. It does not validate cargo delay, insurance prices or business savings.

Daily observations1,096
Final test days (2024)366
Selected method · mean absolute error3.29 calls / day

Past first. Future last.

TRAIN / 2022365
SELECT / 2023365
TEST / 2024366

2022: fit models. 2023: choose the method with the lowest validation MAE. Refit ridge on 2022–2023, then freeze coefficients. 2024: rolling one-day-ahead test using only previously observed counts. Earlier 2024 observations are allowed as lag inputs; current and future targets are not. This is not a forecast of the entire year made on 1 January.

Method selected before the final test: Previous 28-day mean
MAE change versus yesterday baseline: 31.4%

Selection uses 2023, not the best-looking 2024 result. A more complex model is not assumed to win. Negative improvement means worse error. These historical records were retrieved later and may contain revisions; this is not a contemporaneous 2024 data-vintage backtest.

Simple baselines versus an interpretable model

Method2023 MAE ↓2024 MAE ↓2024 RMSE ↓2024 WAPE ↓
Yesterday's observed count4.804.805.9512.9%
Same weekday last week4.544.605.8512.3%
Previous 28-day mean · Selected on 20233.463.294.178.8%
Same weekday, previous four weeks3.603.654.639.8%
Ridge autoregression (fixed penalty 10)3.933.464.409.3%

MAE = mean absolute error · RMSE = root mean squared error · WAPE = Σ|error| / Σobserved. MAE/RMSE: calls / day.

Forecast versus observed activity

— Observed — Selected forecast

Forecast versus observed activityWeekly means for legibility; first and last partial weeks are retained. All forecast errors above are calculated on the 366 daily targets, not these averages.Container-ship calls / UTC day (weekly mean)010203040502024-012024-022024-042024-062024-082024-102024-12

Weekly means for legibility; first and last partial weeks are retained. All forecast errors above are calculated on the 366 daily targets, not these averages.

Where does error vary?

2024 monthDaysObserved meanForecast meanDaily MAEWAPE
2024-013140.0039.963.258.1%
2024-022939.0739.263.087.9%
2024-033137.3238.362.988.0%
2024-043036.6737.343.409.3%
2024-053135.9435.723.098.6%
2024-063033.0734.253.6911.2%
2024-073135.4234.673.168.9%
2024-083137.2636.453.208.6%
2024-093036.9037.243.539.6%
2024-103139.0637.763.529.0%
2024-113038.4738.533.619.4%
2024-123138.4238.462.987.8%

A realistic role — and the missing link

A freight-forwarding operations analyst could use port-call forecasts as an activity-monitoring input and review unusually large forecast errors. To make an actual routing or replenishment recommendation, the next study still needs matched waiting-time, schedule, delivery, quote and cost observations. More calls alone do not prove congestion. There is deliberately no automatic conversion from forecast calls to the constructed order's delay assumption.

Source quality checks

No missing dates, duplicate dates or invalid counts in this snapshot. Missing values are rejected, never replaced by zero. Source-page and snapshot SHA-256 checksums reconcile.

2022-01-01 → 2024-12-31 · port1201 · 0 zero-count days

Source, methodology and reproduction

A fixed, noncommercial research subset: Singapore port1201 only, not all Singapore-area port boundaries. Dates are UTC. Counts indicate container-ship entries into the source port boundary, not unique ships, containers or TEU. AIS coverage, classification and historical revisions can affect the indicator.

IMF PortWatch · Daily_Ports_Data
Sources: UN Global Platform; IMF PortWatch (portwatch.imf.org).

IMF Working Paper 2021/225: Tracking Trade from Space
World Bank example: port-call trends monitoring

These references inform data provenance, AIS limitations, pagination and activity monitoring. The forecast experiment is implemented here, not reported as a replication of their findings.

Retrieved (UTC): 2026-10-04T14:34:46+00:00
Snapshot SHA-256: 3238a37352ae993c4cb4e44848268aab621978f835a74ef1528e8e2e073f0985

IMF data usage terms — separate from the code's MIT licence

Download complete experiment JSON

View data, tests and reproduction guide on GitHub