SSIM carries seats and times but no stage lengths, so you can't compute true available seat-miles from the file alone. Here's what you can honestly measure — and where the proxy ends.
If you want to measure how much capacity an airline is flying, the instinct is to reach
for ASMs — available seat-miles, seats multiplied by distance. It’s the industry’s
standard yardstick. There’s just one problem when your source is an SSIM file: the file
doesn’t know how far anything flies. This post is about what you can honestly compute
from a schedule alone, and where you have to stop and admit you’re using a proxy.
What SSIM gives you, and what it withholds
An SSIM file is a schedule, not an atlas. From it you can read, per flight leg:
the seats, derived from the aircraft configuration (the equipment and its cabin
layout — SSIM doesn’t state a seat count directly, it states a configuration you
resolve to one);
the frequency — how often the leg operates, once you expand its period and
days-of-operation into concrete dates;
the block time, from the scheduled departure and arrival, adjusted for the
time-mode and UTC-variation fields so an overnight or
cross-zone leg comes out right.
What it does not give you is distance. SSIM carries no stage lengths and no airport
coordinates. The board and off points are three-letter codes; how far apart SYD and MEL
sit is simply not in the file. That single absence is why you can’t compute a true ASM
from a schedule on its own.
Seats: yes. Frequency: yes. Block time: yes. Miles: no. The schedule tells you how
much and how often — never how far.
What you can measure
The absence of distance doesn’t leave you empty-handed. It leaves you with two honest
capacity measures, both of which you can compute from the file alone.
Seat-departures — seats × frequency. Multiply the seats on a leg by the number of
times it operates over your window. Sum across a market, a carrier, or a whole feed and
you have the total seats offered. It answers “how much lift is on sale here,” and it’s
exact — no external data, no estimation. It’s the cleanest capacity number a schedule
can produce.
Seat-hours — seats × block time. Multiply seats by the block hours each departure
flies, and sum. This is the distance-free stand-in for ASMs. Where an ASM weights each
seat by the miles it’s carried, seat-hours weights each seat by the time it’s carried.
Both reward long, full flights over short, empty ones; both let you compare the capacity
of a widebody long-haul against a regional shuttle on a common scale.
Measure
Formula
Needs external data?
Seat-departures
seats × frequency
No
Seat-hours
seats × block time
No
True ASMs
seats × distance × frequency
Yes — airport geography
Seat-departures and seat-hours come straight from the schedule; true ASMs need a distance the file doesn't carry, so you'd have to bring your own geography for that row.
Why seat-hours is a proxy, not a truth
Be precise about what seat-hours is and isn’t. It is a genuinely useful capacity metric,
directly comparable across your own dataset. It is not ASMs, and the two can rank
things differently.
Time and distance aren’t the same thing. A flight held on the ground, a longer taxi, a
routing that trades miles for minutes, headwinds baked into a conservative block — all
of these move block time without moving distance, and vice versa. Two legs covering the
same miles can post different block times; two legs with the same block can cover
different miles. Seat-hours faithfully measures the first quantity and only approximates
the second.
So the honest framing is: seat-hours is an ASM proxy that needs no geography. Use it
when you want a distance-weighted-ish view of capacity straight from the schedule, and
label it as a proxy so nobody downstream mistakes it for the real thing.
When you actually need miles
If you need true stage lengths — for real ASMs, for a fuel or cost model, for anything
where the miles have to be right — you have to bring the geography yourself. That means
a reference table of airport coordinates and a
great-circle distance computed from
the board and off points. The schedule supplies the city pair and the seats; your
reference geography supplies the distance; together they make an ASM. The schedule alone
never will.
This is the same “bring your own reference data” pattern that shows up whenever you want
to put a schedule on a map: SSIM
identifies the places, you supply where they are.
Why this matters in a tight market
In a year of full planes and thin margins, being able
to read capacity straight from the schedule — before any enrichment, before any external
join — is worth a lot. Seat-departures and seat-hours tell you where a carrier is
concentrating lift, how a market’s capacity moves across a season, which routes are
being thickened and which are being trimmed, all from the file you already have. The key
is knowing the ceiling of each measure so you report it correctly instead of quietly
overstating precision you don’t have.
Where SSIM Toolkit fits
SSIM Toolkit’s capacity and frequency analysis takes this distance-free approach on
purpose. It computes seat-departures and seat-hours directly from the schedule — seats
from the aircraft configuration, frequency from the expanded operating dates, block time
from the times and the UTC-variation field — so the numbers are exact and reproducible
from the file alone, with no hidden external join. Where a true, distance-weighted view
is needed, that’s the job of the reference geography behind the
route map — kept honestly separate
from what the schedule itself can prove. It all runs locally, on your machine.
Capacity you can compute from the file; ASMs you have to earn with geography. Knowing
which is which is the whole discipline. More on the Toolkit at
/product/ssim-toolkit.