Methodology

Trust is a feature. Everything below is published so that any number on FlyerIntel can be checked, reproduced or disputed.

Current analysis period: July 2023 – July 2026 (37 months, 21,708,321 individual flight records).

What “on time” means

FlyerIntel follows the definition used by the US Department of Transportation. A flight is delayed when it arrives at the gate 15 or more minutes after its scheduled arrival time. A flight arriving 14 minutes late is on time; a flight arriving early is on time.

Cancelled and diverted flights never arrive at their scheduled destination, so they have no arrival delay. They are excluded from on-time rates rather than counted as late, and reported separately as cancellation and diversion rates. This matters: a carrier that cancels heavily can post a respectable on-time rate, which is why FlyerIntel always shows cancellations alongside punctuality and weights them in the reliability score.

Specifically, for any group of flights:

Why a flight was cancelled

Every cancelled record carries one of four reason codes, filed with US DOT by the carrier that operated the flight. FlyerIntel reports them in the carrier’s own terms and does not reclassify them:

Two consequences worth stating plainly. Weather appears in two of those four categories, so the extreme-weather share understates weather’s real contribution. And because the code is the airline’s own filing rather than an independent finding, carriers operating the same runways in the same conditions can report markedly different splits — the figures describe what each airline reported, not an apportionment of fault.

Reliability scores

A FlyerIntel Reliability Score is a 0–100 summary of how dependably an airport, route or airline actually performed. Higher is better. Scores are versioned (route_reliability_v1, airport_reliability_v1, airline_reliability_v1) so a change in method is visible rather than silent.

Each component is converted to a 0–100 sub-score by linear interpolation between two fixed reference points, then combined using the weights below. The reference points are fixed rather than derived from whatever is currently in the database, so a score does not drift when coverage expands.

Reliability scores
ComponentWeightScores 0 atScores 100 at
On-time arrival rate
Share of completed flights arriving less than 15 minutes after schedule.
35%55%90%
Cancellation rate
Share of scheduled flights that were cancelled.
20%4%0%
Severe delay rate
Share of completed flights arriving 60 or more minutes late.
15%15%2%
Median arrival delay
The typical arrival outcome, unaffected by a handful of extreme days.
10%15min-12min
Average delay when late
How costly a delay is when one happens.
10%90min30min
Worst-case arrival delay
The 90th percentile arrival delay — a measure of how bad a bad day gets.
10%150min15min

Values outside the reference range are clamped, so a component can never contribute more than its weight or less than zero. Every published score stores its component breakdown.

Why trend is not part of the score

A score answers “how reliable is this?”. A trend answers “which way is it moving?”. Averaging the two produces a number that means neither. FlyerIntel computes trend separately — comparing the most recent 12 months against the 12 before, so seasonality cancels out — and displays it alongside the score instead of inside it.

Percentiles and cohorts

A score on its own is hard to interpret, so every score is placed in a percentile against a named cohort of comparable entities. Airports are compared against the major US airports FlyerIntel covers; routes against other routes carrying enough traffic to be comparable; airlines against US reporting carriers. The cohort and its size are shown wherever a percentile appears.

Sample-size thresholds

Statistics from small samples are noise dressed as insight. FlyerIntel does not publish a conclusion below these thresholds — the page simply omits that section.

Sample-size thresholds
ConclusionMinimum records
Airport reliability metrics5,000 flights
Route reliability metrics750 flights
Route page listed and indexed10,000 flights
Airline profile10,000 flights
Any hour, window, weekday or month bucket120 flights
Carrier comparison on a route200 flights
Carrier comparison at an airport500 flights
Flight-number analysis90 flights
Cancellation-cause split at an airport500 cancellations

A “best time to fly” claim additionally requires at least 3 qualifying departure windows and a spread of at least 2 percentage points between the best and worst. Below that, timing is not a real effect.

The cancellation-cause threshold is counted in cancellations rather than flights because that is what its percentages are taken from: an airport can have a very large sample of departures and a very small sample of the thing being described. It is set higher than the bucket floor because a four-way split is a weaker statistic than an average, and because this one assigns responsibility — at 500 records the widest 95% interval on any single share is about 4 percentage points, narrow enough that the ordering of causes is not an artifact of the sample.

Time-of-day, weekday and seasonal analysis

Flights are bucketed by their scheduled local departure time at the origin airport, which is how the source data records them, and which is what a traveler is actually choosing between when booking. Departure windows are: 5–9 AM, 9 AM–12 PM, 12–3 PM, 3–6 PM, 6–9 PM and 9 PM–5 AM.

Weekday analysis uses the scheduled departure date. Seasonal analysis pools each calendar month across every loaded year, and is only published where at least two years of that month are present — a single year of one month is weather, not a season.

Comparing airports that serve the same city

A traveler flying Atlanta to New York is choosing between LaGuardia, JFK and Newark, not between three unrelated destinations. Grouping those by city name does not work — Newark’s city is Newark — so FlyerIntel uses the US DOT’s own city market identifier, which is present in the source records and is the authoritative grouping. It places Newark with the New York airports, Baltimore with the Washington ones, and Burbank, Ontario and Santa Ana with Los Angeles.

Route profiles show every airport pairing serving the same city market so the comparison can be made directly. The differences are not small: Chicago to Los Angeles is a materially more reliable journey through some pairings than others, and nothing on a booking site surfaces that.

Current operational status

The status shown at the top of an airport profile is derived only from live inputs: FAA operational events and the current aviation weather observation. Historical performance never contributes to it.

Where a live input is missing, the page does not fill the space with an apology or an estimate. It shows the historical record instead — what departures in that hour have actually done over the past three years — clearly labeled as history rather than as a current reading, and it states at the foot of the section which live inputs are absent.

Weather can raise the assessment but never on its own declares an airport significantly disrupted. Storms at an airport are a risk factor, not a delayed flight, and FlyerIntel does not present one as the other.

Weather impact

FlyerIntel decodes each aviation weather observation and assigns its own operational impact level from documented conditions: freezing precipitation, thunderstorms, snow, visibility, cloud ceiling and wind. Thresholds follow standard aviation flight-category boundaries. The assessment describes conditions associated with disruption; it never claims a specific flight will be delayed.

Data freshness

Different data ages differently, so there is no single freshness rule. A value is labeled Live, Recent, Stale or Unavailable according to its own class:

Data freshness
DataLive withinRecent within
Security wait times15 min30 min
Parking availability20 min60 min
FAA operational events10 min30 min
Weather observation (METAR)75 min150 min
Weather forecast (TAF)7 hr13 hr
Historical performanceNever labeled live; the source period is stated instead

Missing data

Where FlyerIntel cannot legitimately obtain a value, the section says so. It is never filled with an estimate, a placeholder or a figure carried over from elsewhere. An empty module means we do not have the data — which is more useful than a confident-looking number that is wrong.

Limitations

Data sources · Download the numbers · Report a problem · Editorial policy