The explorer
Pick a carrier, a route and a month, and see what the flights did.
Every chart on this page is a query over the marts the warehouse published, run in your browser with DuckDB. Change a picker and every chart reruns; the SQL behind each one is under its button, and the box at the bottom takes your own.
The window is January 2015 to July 2026. The delay distribution and the hour profile come from marts kept by carrier and by month, so the route pickers narrow the other charts only.
Loading the marts
On time rate by month
Share of flown flights arriving less than fifteen minutes late, by month
Source: BTS Reporting Carrier On-Time Performance (real), through the warehouse's marts, queried in the browser.
Flights by minute of arrival delay
Flights by whole minute of arrival delay, with the fifteen minute line
Source: BTS Reporting Carrier On-Time Performance (real), through the warehouse's marts, queried in the browser.
On time rate by scheduled hour
On time rate by scheduled departure hour (all carriers and routes)
Source: BTS Reporting Carrier On-Time Performance (real), through the warehouse's marts, queried in the browser.
On time rate by calendar month
On time rate by calendar month, every year in the selection pooled
Source: BTS Reporting Carrier On-Time Performance (real), through the warehouse's marts, queried in the browser.
Padding by month
Mean padding per flown flight, by month
Source: BTS Reporting Carrier On-Time Performance (real), through the warehouse's marts, queried in the browser.
Reported delay causes
Share of reported delay cause minutes (carrier, year and month pickers)
Source: BTS Reporting Carrier On-Time Performance (real), through the warehouse's marts, queried in the browser.
Ask your own question
Read only SQL over the published marts: mart_airport_day, mart_carrier_day, mart_carrier_month, mart_delay_histogram, mart_hour_profile, mart_inherited_month, mart_leg_position, mart_quarantine, mart_rotation_samples, mart_rotation_worst_days, mart_route_month.
What the ops director would push back on
A route chart is only as good as the flights behind it, and a thin route in a quiet month swings on a handful of bad days. The table toggle under every chart gives the flights behind each point, so a reader can see when a number rests on twenty flights rather than twenty thousand. Averages here are raw: they describe what passengers on that selection sat through, not how well the carrier ran it, which is what the ranking page adjusts for.