Last 18 months to Aug 2026. Containers to 27 Aug, ships to 7 Jul. Rest of page: all years.
One row per paired voyage on this lane: the ship left Yantian, arrived Gdansk, and the record says when, with which terminals at each end. The filter bar above scopes this table like every other pane; the filters in the header row narrow it further.
Yantian → Gdansk is measured twice here, from two independent records. Carrier container tracking records 3 routings on this lane (12 carrier/service combinations, 5 operators); sailing direct, a container typically takes 44.9 days gate to gate over 136 recorded voyages — the same figures the route finder shows for this pair. AIS ship movements give 463 port-to-port voyages by 94 vessels, median 43.3 days (mean 42.2 d, middle half 38.4–45.5 d).
The two medians are not comparable directly: 3 carriers record containers on this lane against 7 operators seen by AIS, so the two sets cover different ships. Where they can be compared — one carrier at a time — the difference is port time, measured at 6.0 d at Yantian (26,618 records) and 5.0 d at Gdansk (12,231 records).
Of the 732 journeys whose routing is recorded, 315 moved without transshipment and 417 were transshipped — Bremerhaven (323, median 49.6 d); Singapore (48, median 54.5 d); Tanjung Pelepas > Tanger MED (23, median 55.6 d); Aarhus (13, median 57.4 d) .
The ships do not sail this lane in a straight line. The most called intermediate port is Singapore, on 67% of voyages (310 of 463), and the median voyage makes 3 intermediate calls (the most recorded is 7). A container the carrier records as direct still rides a ship that stops along the way — direct means no transshipment, not nonstop.
Voyage time is not stable. By year the median ran from 36.1 d in 2022 to 44.9 d in 2025, a spread of 8.8 d across 5 years.
It is not uniform across carriers either. Over the whole period the quickest well-evidenced service is 2M - NEUR loop 2 | HSUD - NERA6 +2 at 35.4 d (Maersk, n=51) and the slowest of the ranked set is OCEAN - NEU4 | CMA - FAL1 +3 at 45.6 d (APL, n=26) — a difference of 10.2 d on the same lane.
Nothing here is scheduled, modelled or estimated. Every figure is a count of observed movements, and every figure carries that count.
Each row names a figure on this page, what it means, and the exact expression that regenerates it from the exported file. Column names are the CSV’s own. vessel-calls.csv is one row per paired voyage; container-records.csv is one row per container journey. Both export the whole lane, unfiltered — apply the same date or operator filter you have on screen to reproduce a filtered figure.
| Figure | Value | What it means | Reproduce it |
|---|---|---|---|
| Paired voyages | 463 | One ship leaving Shanghai and reaching Rotterdam. The unit behind every AIS figure on the page. | vessel-calls.csv · COUNT(*) |
| Distinct vessels on this lane | 94 | Individual hulls, however many times each sailed. | vessel-calls.csv · COUNT(DISTINCT imo) |
| Ship median transit | 43.3 d | Middle voyage, port to port. Hull in water — it excludes nothing and includes any intermediate calls. | vessel-calls.csv · MEDIAN(transit_days) |
| A shipping line’s sailings | 152 for Maersk AE5 | Voyages that carrier ran on that one service string. | vessel-calls.csv · COUNT(*) WHERE operator=… AND service=… |
| A shipping line’s median | 31.9 d for Maersk AE5 | Middle voyage of that operator + service pair. | vessel-calls.csv · MEDIAN(transit_days) WHERE operator=… AND service=… |
| Vessels deployed, per period | Operations pane | Distinct hulls that sailed in the period. | vessel-calls.csv · COUNT(DISTINCT imo) GROUP BY year(departure_utc) |
| Capacity deployed, per period | Operations pane | Slot capacity offered: the TEU of every sailing, summed. Not cargo moved. | vessel-calls.csv · SUM(teu) GROUP BY year(departure_utc) |
| Ports called en route | map dots | Share of voyages that called there. A voyage counts once per port however often it called. | vessel-calls.csv · COUNT(*) WHERE ports_en_route LIKE '%port name%' / COUNT(*) |
| Tracked journeys on this lane | 751 | Containers whose whole door-to-door journey the carrier published. | container-records.csv · COUNT(*) |
| Median door to door | 49.4 d | Middle container journey, including port time at both ends and at any hub. Not comparable with the ship median above. | container-records.csv · MEDIAN(transit_days) |
| Middle half | 47.3–54.5 d | The 25th to 75th percentile of those journeys. | container-records.csv · QUANTILE(transit_days, .25) … (.75) |
| Carriers recording this lane | 3 | Carriers publishing container events here — fewer than the operators AIS sees. | container-records.csv · COUNT(DISTINCT carrier) |
| Direct vs via | Containers pane | Direct means never transshipped. Via names the hub where the box changed vessel. | container-records.csv · GROUP BY transship_ports (empty = direct) |
Two grains, stated plainly. The routing cards in the Containers pane follow the route finder: every figure there is a median over the voyage records that route-report (the Export data workbook) rebuilds row by row. container-records.csv is a different cut — the all-time booking log at one row per door-to-door journey (751 rows here), with no recency window. Use the workbook to reproduce the cards; use the CSV for the raw journey log.
Both record sets download as CSV at their own grain. Container records are the routing/carrier rows behind the Containers pane; vessel calls are one row per paired voyage with its particulars and the ports it called. Row allowances are per account and per calendar month.