About CruiseMigration
An independent project that follows the cruise fleet's seasonal migration — which ships move where, when they arrive, and what happens in the ports that receive them.
What this site is
Cruise ships migrate. Most of the fleet spends a northern winter somewhere warm and a northern summer somewhere cool, and twice a year the whole industry repositions across oceans to make that happen. CruiseMigration exists to make that movement legible: the repositioning voyages themselves, the itineraries the ships sail once they arrive, the ships and the ports involved.
The records span the fleet worldwide, because a ship's summer only makes sense alongside the world voyage or the winter season on either side of it. Alaska is the anchor: it is the market covered in the most depth, it has the live season dashboard, and it is where most of the editorial goes — glacier permits, passenger caps, the Passenger Vessel Services Act, and the other rules that decide which ship can be where.
Where the data comes from
Three streams, kept separate on purpose, because they fail in different ways and it matters which one you are looking at.
Positions come from AIS, the transponder broadcast every ship over 300 gross tonnes is required to make. We ingest a filtered feed continuously on a background worker and record each fix with the time it arrived, so every position on the site can say how old it is.
Schedules — itineraries, sailing dates, and port calls — are compiled from cruise lines' published deployments and public schedule listings. They describe where a ship is meant to be, which is a different kind of fact from where it is.
Editorial is written against primary sources: federal registers, permit and concession documents, port and municipal filings, and cruise lines' own announcements. Where an article cites a number, it links to the document the number came from.
The long version of the position pipeline — which feeds, how they are combined, and what happens when they disagree — is written up in how we track cruise ships. How the conventions on the page work, and where each figure is computed, is set out in how to read this site.
What it cannot tell you
A tracker that only advertises what it knows is not much use. These are the gaps, and they are permanent features of the sources rather than bugs waiting to be fixed.
AIS goes dark in places
Glacier Bay is the clearest case. It is a deep fjord with steep granite walls that block VHF line-of-sight, there is no land-based receiver inside the bay, and satellite passes over it are intermittent. For most of a scenic day a ship can appear parked at the bay entrance while it is in fact well up the inlet. Narrow stretches of the Inside Passage and Tracy Arm do the same thing more briefly, and mid-ocean crossings run on satellite passes with gaps measured in tens of minutes.
We do not paper over the gap with an invented position. Ship pages carry a "last seen" time so a stale fix reads as a stale fix.
Scheduled is not arrived
A port call in these records is a published plan. Weather, mechanical delay, medical diversion and a line's own re-deployment all change plans — sometimes after the schedule was published and before we next read it. A scheduled call is evidence that a ship intended to be somewhere, not evidence that it was.
The records are only as complete as their sources
Not every ship is matched to a transponder identifier we can follow; not every line publishes a fare, a deck plan or a schedule far ahead. Where a value has not been published, the site says "not published" and leaves the space honest. It does not print a dash and hope you read it as an answer, and it does not fill the gap with an estimate.
What it is not
CruiseMigration is not affiliated with any cruise line, port authority or booking platform. It sells nothing, and it takes no affiliate commission on bookings.
The site is operated by EricCorp Dev LLC. The terms of service and the privacy policy set out the rest.
If something here is wrong, we would rather know: corrections are made in place, on the page that carried the error. Get in touch.