Sources
Each issue compiles open vacancy postings from public crewing channels and job boards worldwide. A posting is included when (a) it is a real job for a seafarer with a defined rank, (b) it discloses or implies a salary figure, and (c) it is currently active.
Parsing and taxonomy
Each posting is parsed into a structured record: rank (mapped to one of 22 canonical positions from Master to Engine Cadet), vessel type (14 categories including tanker subtypes, container, bulker, general cargo, RoRo, reefer, passenger and offshore), salary (amount, currency, period), contract length, and vessel size where stated. Currency is normalised to USD per month for index purposes.
Bucketing and thresholds
Postings are grouped by (rank × vessel type). A bucket is published when it contains at least 5 postings for ratings and mid-rank tiers, and at least 10 postings for the senior tier. Buckets below the threshold are tracked internally but not shown.
What we publish
For each bucket: median as the headline number, p25–p75 range as the visible spread, and N (sample size). Min and max are not shown because they are dominated by edge cases — partial postings, posting bugs, and outlier contracts.
Outlier filter
Postings with salaries above $25,000 / month are excluded as annual-figure misreads (a common posting error where the annual package gets pasted into the monthly field). Postings below $500 / month are reviewed manually and usually excluded as test entries or undisclosed-salary placeholders.
What this index does not represent
Direct-relationship hiring through the largest ship managers does not appear in public postings. Many ULCS Container, LNG and modern Aframax positions are filled through this channel and are not in the index. The published numbers reflect the open market — the level a seafarer can negotiate against without insider connections.
Cadence
Monthly. Each issue states the date the data was collected and the source count.