Shipping company operations — fleet management and voyage planning
How shipping companies and vessel operators use NTHMAP to manage their fleet, benchmark against competitors, and plan voyages.
Shipping companies already have excellent visibility of their own fleet through bespoke operations software. Where NTHMAP adds value is the rest of the world — the competitive context, the weather/event environment, and the cargo flows.
Fleet benchmarking
Your operations team knows your 50 VLCCs inside out. What they don't know, without expensive industry reports, is how your utilization and routing compares to the rest of the market.
# All VLCCs globally — the Crude Tanker category filtered to >250k DWT
nthmap vessels list --types "Crude Tanker" --format json | \
jq '[.[] | select(.dwt > 250000)]'
From this, you can compute:
- Total global VLCC count (NTHMAP tracks ~99% of them)
- Average load percentage
- Average speed
- Geographic distribution
Your internal benchmarking dashboard compares these numbers against your own fleet metrics. If your VLCCs are averaging 78% load while the market is averaging 85%, your commercial team has a conversation to have with brokers.
Voyage planning
Planning a routing from Ras Tanura to Rotterdam, you want to know:
- Current traffic density along the route
- Weather events (hurricanes, storms) on the way
- Conflict events requiring deviation
- Port congestion at the discharge end
- Other vessels bound for the same destination (competition for bunker, berths, cargo)
# Vessels along a Red Sea transit route
nthmap vessels list --bbox 38,12,45,22 --format json | jq length
# Weather on the Mediterranean leg
nthmap events list --bbox 0,30,30,45 --types hurricane --active
# Conflict overlays
nthmap events list --bbox 25,10,55,35 --types conflict --active
# Rotterdam inbound competition
nthmap vessels list --bbox 3.5,51.8,4.3,52.2 --types "Crude Tanker" --format json | jq length
A voyage planner with this information can make smart routing choices — e.g., "there are 14 other crude tankers inbound to Rotterdam this week, we should consider discharge at Antwerp or Fawley instead to avoid delay."
Bunker and speed optimization
Speed optimization is probably the single largest operational cost lever in shipping. Slower = cheaper fuel, but longer voyages tie up the asset. NTHMAP doesn't directly advise on speed, but it provides critical context:
- Charter rate environment — inferred from vessel-count signals
- Port waiting times at destination — no point rushing if you'll wait 3 days at anchor
# Discharge port congestion check
nthmap vessels list --bbox $(port_bbox "Rotterdam") --max-speed 1 --format json | jq length
If there are 12 tankers waiting at Rotterdam, there's no benefit to burning extra bunker to arrive quickly. Slow down, save fuel, arrive when the queue clears.
Charter party fitness
For a tanker coming off charter, you want to know what's available in your area:
- Which charterers typically ship from your current port?
- What cargoes are moving out of your region?
- Where are the spot market opportunities?
# Your current region, loaded outbound tankers
nthmap vessels list \
--bbox $YOUR_REGION_BBOX \
--types "Crude Tanker" \
--min-load 80 \
--format json | \
jq '[.[] | {name, flag, destination, dwt}] | group_by(.destination)'
Aggregated by destination, you see the actual physical flow pattern in your area this week. Compare to broker reports for a reality check.
Competitive intelligence
It's easy to forget: NTHMAP is tracking your competitors' fleets too. A rival operator's VLCC activity tells you something about:
- Their commercial strategy
- Their route preferences
- Their port relationships
- Their current utilization
# All VLCCs flagged MH (Marshall Islands)
nthmap vessels list --types "Crude Tanker" --format json | \
jq '[.[] | select(.dwt > 250000 and .flag == "MH")]'
You can't see the charterer or the contract, but you can see the movement. For a commercial team trying to position against specific competitors, this is intelligence you'd otherwise pay Clarksons or VesselsValue significant sums for.
Insurance and risk monitoring
For your own fleet, NTHMAP is a secondary source — you already have precise positions from your own AIS feed. Where it's useful is the context:
- Active war-risk zones along the route
- Storm events in the path
- Port closures affecting the voyage
Your bridge team gets the weather already. NTHMAP helps your shoreside operations keep an eye on the full environment for fleet-wide decisions.
Example dashboard for an operations room
import nthmap
client = nthmap.Client(api_key="ntm_live_...")
# Fleet overview
OWN_FLEET_MMSIS = [...] # Your 50 MMSIs
all_vessels = {v["mmsi"]: v for v in client.vessels()}
own_fleet = [all_vessels[m] for m in OWN_FLEET_MMSIS if m in all_vessels]
# Environment
chokepoints = client.chokepoints()
events = client.events(active=True)
# Build a dashboard
print(f"OWN FLEET: {len(own_fleet)} vessels tracked")
print(f" Average load: {sum(v['load_pct'] or 0 for v in own_fleet) / len(own_fleet):.0f}%")
print(f" Average speed: {sum(v['speed_knots'] or 0 for v in own_fleet) / len(own_fleet):.1f} kts")
print("\nCHOKEPOINT STATUS:")
for c in chokepoints:
if c['status'] != 'Normal':
print(f" ⚠ {c['name']}: {c['status']}")
print(f"\nACTIVE EVENTS: {len(events)}")
for e in sorted(events, key=lambda x: x['severity'])[:5]:
print(f" {e['severity']:8} {e['event_type']:12} {e['name'] or e['description'][:40]}")
Run every 5 minutes. Display on a TV in the ops room. Your team now has 24/7 visibility of the operating environment.
Getting started
For shipping companies, the most useful entry point is building one of the dashboards above using the CLI. Start with fleet benchmarking — you'll get ROI on the Pro subscription in the first week.
See the CLI docs and API reference.