Trajectory Prediction • Pattern of Life • Unexpected Entries • Taiwan's Cables
The site's threat scoring only sees a ship once it is already sitting next to a cable. The cable approach early warning aims to see it coming: from AIS archived July–October 2026, it tabulates how often ships in a given area, speed, heading and distance band went on to appear slow within 5 km of a submarine cable within 6, 12 or 24 hours (a pattern-of-life table). On the held-out test period, non-fishing 12-hour warnings reach an AUC of 0.84 and 23.5% precision in the top 1% — about 25× the base rate. An "unexpected entry" anomaly score highlights approaches that looked least likely beforehand. It currently runs in shadow mode and does not feed the score.
The site's threat scoring checks whether a ship has been within 5 km of a cable and whether it loitered there below 5 knots for more than 3 hours. These are after-the-fact indicators: the score only reacts once the ship has actually stopped next to the cable.
The cable approach warning moves the same event forward in time: for a ship that is currently at sea, more than 5 km from any cable and not in port, will it report a position "within 5 km of a cable, below 5 knots, not in port" in the next 6, 12 or 24 hours? The event definition is deliberately identical to the scoring, so what the warning says is coming is exactly what the score will later see.
The base rate is low: pick any merchant-ship position and the chance it appears slow beside a cable within 24 hours is just 2%. And merchant ships that do enter mostly come from far away — a median 16 km before entry, one in ten more than 78 km — so "how close is it right now" is not enough on its own.
The intuitive approach is to extrapolate each ship's track in a straight line and see whether it crosses a cable. In testing this did worse than looking at the current distance alone — what ships do near cables is slow down, turn into port and wait at anchor, not sail straight on. The useful signal is "do ships in this patch of sea, at this speed, on this heading, usually end up here?"
So the model is a probability table counted from the archive:
Fitting, threshold selection and testing are split in time (first 70% fits the table, next 15% picks the alert threshold, last 15% is reported), and one in ten vessels is held out entirely for testing so the model cannot simply memorise a ship.
| Method | AUC | Top-1% precision | Top-1% recall |
|---|---|---|---|
| B0 current distance to cable only | 0.74 | 2.8% | 3.1% |
| B1 closest approach of the extrapolated path | 0.71 | 2.5% | 2.7% |
| M1 pattern-of-life table | 0.84 | 22.8% | 24.7% |
Merchant 12-hour base rate in the same period: 0.92%. Top-1% precision of 22.8% ≈ 25× the base rate.
The production model first applies the same exclusion rules as the threat score (fishing-net beacons, invalid MMSIs and Taiwan-flagged vessels are left out), then is evaluated on the test period:
| Non-fishing | Base rate | AUC | Top-1% precision / recall |
|---|---|---|---|
| 6 hours | 0.52% | 0.89 | 18.1% / 34.6% |
| 12 hours | 0.96% | 0.84 | 23.5% / 24.4% |
| 24 hours | 1.43% | 0.81 | 26.6% / 18.6% |
The alert threshold actually in use was chosen on the validation period as "the lowest threshold with non-fishing precision ≥ 20%": a 12-hour entry probability ≥ 0.12. On the test period at that threshold, precision is 18.4% and recall 33.9% — roughly one alert in five really does enter slow within 12 hours, and a third of all entries are caught.
Fishing vessels score an even higher AUC (about 0.91), but their base rate is high and their numbers large; listing them all would produce hundreds per run. Fishing vessels therefore join the warning list only when the threat score already rates them high or critical.
List the grid cells where merchant ships most often entered slow in the archive, and nearly all are waters beside cable landings where ships wait to enter port:
This means the warning list will always contain many routine waiting ships: ships waiting for a berth happen to wait next to cables. The warning only answers "will it come close", not "is the approach suspicious". Every warning therefore carries the ship's threat score and risk level, and the "unexpected entry" score in the next section separates routine approaches from unusual ones.
The "unexpected entry" score looks at approaches that have already happened: ships that are now slow within 5 km of a cable but were outside the zone (and not in port) 3 to 12 hours earlier. Going back to the moment the ship was still outside, it looks up the entry probability the model gave it then (prior_p). The lower the probability, the less the approach resembles routine waiting, judged by the history of that patch of sea, that speed and that heading.
A ship that has stayed inside the zone throughout is not a "fresh entry", so long-term anchoring does not trigger repeatedly.
The lowest prior_p cases in the test period fall into two groups:
The warning is recomputed after every AIS update and written to cable_warnings.json (at most 100 warnings and 50 unexpected entries). Ships whose latest position is more than 3 hours older than the snapshot are not scored.
Trial run on 2026-10-24: 1,092 ships evaluated, 17 warnings issued. They cluster around flag-of-convenience tankers waiting off Penghu and slow cargo ships off Kinmen and Matsu — the very waters of the 2023 Taiwan–Matsu and 2025 Taiwan–Penghu cable breaks. Some of those ships are also rated critical by the threat score; many are simply waiting for a berth. That is exactly why the warning has to be read together with the score and the unexpected-entry score.
One production run after going live (2026-10-24 23:47 UTC): 1,600 ships scored, 21 warnings, 53 ships already slow beside a cable, 3 unexpected entries. Three observations:
The cable warning is phase 2 of the site's trajectory-prediction work. The earlier phases (baseline models and a motion model for SAR dark-vessel matching) produced several findings worth recording:
321 12V2 and NETFISHING 7V7 (invalid MMSIs, voltage in the name). The warning and the threat score must share one set of exclusion rules, or the two disagree on what counts as a ship.This page is for research and education, aggregating public data under the MIT License. When citing, please attribute the source and note the limitations above.
The background and data on this page can be checked against these public sources:
This page is for research and education; warning signals are leads to investigate, not legal or factual findings. See the methodology.