Singapore Logistics Resilience Monitor
Leading indicators for Singapore's logistics sector from public data, with alarms backtested against 8 documented disruptions (2020–2026). Code, sources and method: GitHub repository.
As of 2026-10-11 (PortWatch data to 2026-10-04; MPA to 2026-08;
Changi to 2026-08; GSCPI to 2026-09).
Indicators in alarm: Bab el-Mandeb transits, Singapore TEU per container-ship call, NY Fed Global Supply Chain Pressure Index.
Alert level over time
Watch: any indicator in alarm. Alert: two route indicators, or a route indicator plus a Singapore or regional one. Activate review: Alert plus a Singapore monthly outcome in alarm. Each day uses only data that had been published by then. Grey bands are the labelled events.
Shipping routes (IMF PortWatch)
Singapore and global pressure
TEU per call = MPA container throughput divided by PortWatch container-ship calls. Container throughput and air cargo are plotted as year-on-year log change x100 (close to % change), the form the detector uses.
Backtest: first alarm per event and indicator
Selected setting (tuned on 2020–2022 only): z ≥ 2.5, 3 consecutive days. "known" = the day the alarm could have been read, including the source's publication lag. Lag is counted from the documented onset.
| event | split | indicator | detected | known | lag_known_days |
|---|---|---|---|---|---|
| covid_china | dev | Malacca Strait transits | True | 2020-03-07 | 44 |
| covid_china | dev | Taiwan Strait transits | True | 2020-01-27 | 4 |
| covid_china | dev | Singapore container-ship port calls | True | 2020-05-13 | 111 |
| covid_china | dev | Singapore container trade volume (estimate) | True | 2020-05-22 | 120 |
| covid_china | dev | Singapore container throughput (TEU) | True | 2020-05-15 | 113 |
| covid_china | dev | Changi air cargo (tonnes) | True | 2020-04-30 | 98 |
| pandemic_congestion | dev | NY Fed Global Supply Chain Pressure Index | True | 2021-02-05 | 127 |
| pandemic_congestion | dev | Singapore TEU per container-ship call | True | 2020-10-15 | 14 |
| pandemic_congestion | dev | Singapore container-ship port calls | True | 2020-11-18 | 48 |
| ever_given | dev | Suez Canal transits | True | 2021-04-03 | 11 |
| ever_given | dev | Bab el-Mandeb transits | True | 2021-04-05 | 13 |
| panama_drought | holdout | Panama Canal transits | True | 2023-11-13 | 106 |
| red_sea_2023 | holdout | Bab el-Mandeb transits | True | 2023-12-30 | 15 |
| red_sea_2023 | holdout | Suez Canal transits | True | 2024-01-05 | 21 |
| red_sea_2023 | holdout | Cape of Good Hope transits | True | 2024-01-10 | 26 |
| sg_congestion_2024 | holdout | Singapore TEU per container-ship call | True | 2024-06-15 | 106 |
| sg_congestion_2024 | holdout | Singapore container-ship port calls | True | 2024-03-28 | 27 |
| hormuz_2026 | holdout | Strait of Hormuz transits | True | 2026-03-14 | 14 |
| red_sea_2026 | holdout | Bab el-Mandeb transits | True | 2026-08-13 | 24 |
Lead over the Singapore congestion statement (MPA, 30 May 2024)
| event | reference | via_event | indicator | known | lead_days |
|---|---|---|---|---|---|
| sg_congestion_2024 | 2024-05-30 | red_sea_2023 | Bab el-Mandeb transits | 2023-12-30 | 152 |
| sg_congestion_2024 | 2024-05-30 | red_sea_2023 | Suez Canal transits | 2024-01-05 | 146 |
| sg_congestion_2024 | 2024-05-30 | red_sea_2023 | Cape of Good Hope transits | 2024-01-10 | 141 |
| sg_congestion_2024 | 2024-05-30 | sg_congestion_2024 | Singapore container-ship port calls | 2024-03-28 | 63 |
| sg_congestion_2024 | 2024-05-30 | sg_congestion_2024 | Singapore TEU per container-ship call | 2024-06-15 | -16 |
False alarms by indicator
| label | family | dev_false_alarms | dev_per_year | holdout_false_alarms | holdout_per_year |
|---|---|---|---|---|---|
| Suez Canal transits | route | 2 | 0.67 | 1 | 0.27 |
| Bab el-Mandeb transits | route | 1 | 0.33 | 3 | 0.81 |
| Cape of Good Hope transits | route | 3 | 1.00 | 11 | 2.99 |
| Panama Canal transits | route | 4 | 1.33 | 1 | 0.27 |
| Strait of Hormuz transits | route | 0 | 0.00 | 1 | 0.27 |
| Malacca Strait transits | route | 3 | 1.00 | 3 | 0.80 |
| Taiwan Strait transits | route | 6 | 2.00 | 11 | 2.93 |
| Singapore container-ship port calls | singapore | 0 | 0.00 | 3 | 0.80 |
| Singapore container trade volume (estimate) | singapore | 0 | 0.00 | 2 | 0.53 |
| Port Klang container-ship port calls | regional | 11 | 3.67 | 3 | 0.80 |
| Tanjung Pelepas container-ship port calls | regional | 5 | 1.67 | 8 | 2.13 |
| Singapore container throughput (TEU) | singapore | 1 | 0.33 | 0 | 0.00 |
| Singapore vessel arrivals | singapore | 1 | 0.33 | 0 | 0.00 |
| Singapore cargo throughput (tonnes) | singapore | 4 | 1.33 | 0 | 0.00 |
| Changi air cargo (tonnes) | singapore | 0 | 0.00 | 0 | 0.00 |
| Singapore TEU per container-ship call | singapore | 0 | 0.00 | 1 | 0.27 |
| NY Fed Global Supply Chain Pressure Index | global | 1 | 0.33 | 2 | 0.53 |
Sources: IMF PortWatch; Maritime and Port Authority of Singapore via data.gov.sg; SingStat Table Builder M650031 (Civil Aviation Authority of Singapore); Federal Reserve Bank of New York GSCPI. Event sources are listed in data/events.csv.