Live port data becomes a concise operating signal, with source freshness and route context kept visible.
Headline Layer
Congestion Signal
Headline score composition
Anchorage pressure 30%+Arrival surge 30%+Flow imbalance 20%+Dwell pressure 20%=0-100 signal
Fresh source feeds are required before the dashboard publishes the headline score.
Inputs
Anchorage pressure, 6-hour and 12-hour arrival surge, positive net accumulation, and vessel dwell
pressure. Terminal occupancy and purpose-of-call remain visible context, not headline-score drivers.
Scoring
Each component is normalized against current calibration bands before the weighted score is published.
Calibration Status
Empirical bands are accepted only after enough valid samples, covered days, and no large metric-history
gaps. Until then, the dashboard exposes provisional calibration provenance.
Implemented Metrics
Signals by operating question.
M1 Demand Pressure
Anchorage Pressure
Counts slow or stationary vessels inside Singapore anchorage polygons from the latest vessel snapshot.
Used by M10. Indicative of waiting pressure, not proof every vessel is waiting for berth.
M2 Demand Pressure
Arrival Surge
Counts inbound ETAs due within 6, 12, 24, and 48 hours.
The forecast feed has ETA and port codes, but no inbound coordinates.
M3 Vessel Flow
Vessel Dwell Time
Matches arrivals to departures over a rolling 7-day window and reports P50, P75, and P90 dwell hours.
Needs continuous arrival/departure history before it becomes stable.
M4-M6 Vessel Flow
Arrival, Departure, Net Flow
Computes rolling 6-hour arrival/departure rates and net accumulation to show whether the port is clearing or building load.
Positive net accumulation is the M10 flow-imbalance component.
M7 Volume Context
Arrival Volume Intensity
Compares today's arrivals with the 30-day daily arrival average.
Useful context for unusual volume; not a direct congestion proof on its own.
M8 Terminal Pressure
Berth-Adjacent Occupancy
Counts cargo-like vessels below 1 knot within 50 m of reviewed berth slots, or wharf-edge fallback geometry.
Terminal percentages are capped at 100%; berth denominators have mixed confidence.
M9 Operations Context
Purpose-Of-Call Mix
Uses minimised arrival-declaration purpose values from the last 24 hours.
Taxonomy review is pending, so M9 is excluded from M10.
M10 Composite
Congestion Signal
Summarizes selected pressure indicators into LOW, MEDIUM, HIGH, CRITICAL, or STALE.
Presales monitoring signal only; not a validated decision trigger.
Route Overlay
Transshipment Delay Exposure
Applies a static Singapore route weight to the current congestion signal for selectable demo lanes.
Categories support monitor, notify, or commercial-review actions.
The route layer is a demo overlay, not a cargo-value or payout calculation.
Dashboard Rows
The latest congestion row is duplicated across selectable route scenarios in the metrics service's
latest layer. That makes route switching fast without changing the route-neutral time-series archive.
Exposure Formula
Route delay exposure equals the Singapore congestion signal multiplied by the selected static route
weight. The result is a monitoring/commercial-review signal, not real cargo-value exposure.
Displayed Context
Route ID, origin, Singapore transshipment port, destination, cargo archetype, primary user, driver,
caveat, category, and recommended action are persisted for each scenario.
Future Upgrade
A real route layer should use licensed route geometry, ETA, distance, display rights, and cache rules.
The current route overlay is deliberately static until those decisions are explicit.