How the numbers are made
Methodology
Everything on this site is recomputed from the raw flight-level filings each month. Nothing is estimated, modelled, smoothed or purchased from an intermediary. This page states every definition and every threshold used, including the ones that make the site's numbers look worse than they could.
Source
What the data is
The US Department of Transportation requires every airline above 0.5% of domestic scheduled passenger revenue to file a record for every domestic flight it operates. The Bureau of Transportation Statistics publishes those filings monthly, in full, as flight-level records: scheduled and actual gate times, tail number, cancellation and diversion flags, and delay minutes split into five causes.
The current analysis covers June 2025 to May 2026: 11,272,202 flights across 12 complete months. BTS publishes with roughly a two-month lag, so the most recent month here is normally two months behind today. That lag is a property of the source and is stated on every page.
Full provenance, including the exact database and its licence, is on the data sources page.
The core definition
On time means under 15 minutes late
A flight is on time when it arrives at the gate fewer than 15 minutes after its scheduled gate arrival. This is the DOT's own threshold, unchanged for decades, and it is what makes figures comparable across airlines and across years.
Three details matter. It measures arrival, not departure, because arrival is what a passenger buys. It measures gate arrival, not touchdown, so a flight that lands on time and waits 25 minutes for a gate is late. And it measures against the schedule the airline filed, which airlines set themselves.
Cancelled and diverted flights have no arrival time and are excluded from every on-time rate on this site. They are reported separately, because leaving them out entirely would let an operation improve its published rate by cancelling the flights most likely to be late.
The grade
Reliability Grade, stated verbatim
The letter comes from the on-time rate. The modifier comes from the cancellation rate. There is no weighting, no adjustment and no discretion.
| Grade | On-time rate |
|---|---|
| A | 85% or better |
| B | 75% to 84.9% |
| C | 65% to 74.9% |
| D | 55% to 64.9% |
| F | under 55% |
A plus is added when the cancellation rate is below 1%. A minus is added when it is above 3%. Between those two, no modifier. So a B+ is a punctual operation that rarely cancels, and a B− is the same punctuality with a cancellation problem underneath it. For a trip with no slack in it, those are not the same product.
An em dash in place of a grade means there were too few completed flights to compute a rate at all. It is not an F.
Statistical floors
What gets a page, and what does not
An entity needs at least 365 flights over the twelve-month window, roughly one a day, before it gets a page of its own. Below that, a percentage swings several points on one bad week and a page built around it would be noise dressed as analysis.
Entities below the floor are not hidden. They still appear as rows inside their parent pages, with their flight count visible and a "thin sample" marker attached. Hiding them would be its own form of dishonesty.
Inside a page, any sub-breakdown built on fewer than 30 flights shows a dash rather than a percentage. That is why some hour blocks and some months are blank on thinner routes.
Currently 2,612 routes clear the floor. 250 of them, the highest-volume ones, have dedicated pages; the rest appear inside their airports' pages. The same logic gives pages to the 50 busiest airports, all 20 reporting carriers, and 200 carrier-at-airport pairs that clear twice the floor.
Definitions
Every other figure on the site
- Average delay
- Mean minutes late across delayed arrivals only, not across all flights. Including on-time and early arrivals would produce a number near zero that describes nothing. Nationally this runs 53 minutes.
- Median arrival delay
- The midpoint of all completed arrivals, including early ones. Nationally it is 0 minutes, which is to say most US flights land early and the on-time rate is decided by a tail of badly late ones.
- An hour or more late
- Share of completed arrivals landing 60 or more minutes behind schedule. Nationally 8.6%. This is the figure that breaks connections, and an on-time percentage alone does not show it.
- Cancellation rate
- Cancelled flights as a share of all scheduled flights, including the cancelled ones. Nationally 2.23%.
- Diversion rate
- Flights that landed somewhere other than the scheduled destination, as a share of all scheduled flights. Nationally 0.25%.
- Delay causes
- Carriers assign every delay minute to one of five DOT categories: late-arriving aircraft, carrier, National Airspace System, extreme weather, and security. The site reports each as a share of total reported delay minutes, not as a share of flights, so a few very long delays weigh as much as many short ones.
- Departure windows
- Six blocks by scheduled departure time: 5am–8am, 8am–11am, 11am–2pm, 2pm–5pm, 5pm–8pm, 8pm–5am. Departures between midnight and 5am fall in the overnight block, since a 1am departure behaves like a night flight rather than an early morning one.
- Route direction
- Routes are directional. JFK to LAX and LAX to JFK are separate operations with separate aircraft, separate departure banks and frequently different records, so they get separate pages, each canonical to itself.
Limitations
What this data cannot tell you
Being specific about the gaps is more useful than another chart.
The two-month lag. Figures describe a twelve-month window ending roughly two months ago. An airline that fixed a problem last month does not show it here yet.
Operating carrier, not the brand on your ticket. A flight sold as American, Delta or United and flown by a regional partner is reported under the regional's code. That is why carriers most travellers have never heard of appear in these tables, and why a mainline carrier's own figures exclude flights many passengers believe they took with it.
Cancellations distort punctuality. A cancelled flight appears in no on-time calculation. An operation that cancels decisively can post a better rate than one that flies through the disruption. The grade modifier exists to surface this, but it cannot fully correct for it.
Schedules are set by the airlines. Block times have grown across the industry over decades. Padding improves an on-time rate with no operational change. This is why the site emphasises comparisons between carriers on the same route, where padding pressure is shared, over national league tables.
Nothing about the passenger. The database records what the aircraft did. It has no record of missed connections, rebooking quality, how far in advance a delay was announced, or what any of it cost you.
Historical, not predictive. A route at 85% on time will still deliver a four-hour delay to somebody today. These are base rates, and base rates move odds rather than outcomes.
Editorial process
How the words on the data pages are produced
The prose on route, airport and airline pages is generated at build time from a rule-based template library evaluated against that entity's own figures. Templates carry trigger conditions, so a route where the morning outperforms the evening by eleven points gets a different sentence from one where the curve is flat.
This is deterministic template selection, not a language model. Every sentence was written by a person, reviewed by a person, and is anchored to a number computed from the source data. No figure is generated, paraphrased or approximated by software that could get it wrong.
The build enforces this. A page failing to render at least four generated insight sentences fails the build. So does a route page under 800 words of prose, an airport or airline page under 600, or a carrier-at-airport page under 400. Generated data older than 60 days also fails the build rather than shipping quietly stale.
Guides are written entirely by hand. Each ships with a noindex tag until the site's editor has read it line by line and set a review flag in its front matter.
Reproducing this
Check the work
The source data is free, public, and in the public domain. Anyone with the BTS monthly files can recompute every figure on this site from scratch, and finding an error would be a favour rather than an embarrassment.
If a number here disagrees with one you have computed, write to kaantokali1@gmail.com with the entity and the period, and it will be checked against the raw filings.
Data generated July 22, 2026 covering June 2025 to May 2026.