PlainFlights

Data Methodology

Primary Data Source

All data comes from the Bureau of Transportation Statistics (BTS) On-Time Performance reporting database, part of the U.S. Department of Transportation. The BTS collects flight-level data from all U.S. domestic carriers meeting DOT reporting thresholds. This is the same dataset used by the DOT for official airline performance reports, Congressional testimony on aviation reliability, and the monthly Air Travel Consumer Report. Every reporting carrier must submit detailed records for each flight segment operated, making this the most comprehensive and official source of U.S. flight performance data available.

Data Vintage and Update Frequency

PlainFlights covers 38.3 million domestic flight segments from 2020 through 2025. This window enables pre-pandemic, recovery, and post-recovery trend analysis, capturing the historic drop in air travel during 2020, the uneven recovery of 2021–2022, and the return to near-normal operations from 2023 onward. The BTS releases new monthly On-Time Performance data approximately two months after the reporting period, and PlainFlights updates its database when each new monthly file becomes available.

Processing Pipeline

  1. BTS On-Time Performance bulk monthly CSV files are downloaded from the BTS data portal (Reporting Carrier On-Time Performance table, Form 41 T-100 Domestic Segment data).
  2. Each record represents one flight segment with scheduled and actual departure and arrival times, marketing and operating carrier codes, origin and destination airport codes, delay minutes broken down by cause, and cancellation and diversion indicators.
  3. Records are validated for completeness, flights with missing critical fields (departure time, arrival time, or airport codes) are excluded from performance calculations but counted in volume statistics.
  4. Delay statistics are aggregated at multiple levels: by individual airport, by airline, by specific origin-destination route, and by state. Metrics include on-time percentage, average delay minutes, median delay, cancellation rate, diversion rate, and delay cause breakdown.
  5. A flight is classified as "on time" when it departs or arrives less than 15 minutes after the scheduled time, following the standard DOT definition used in all official aviation performance reporting (see also the FAA's Aviation Data & Research portal for system-wide context).
  6. Seasonal patterns are computed by aggregating monthly data into monthly and quarterly performance summaries, revealing predictable patterns such as summer thunderstorm delays and winter weather disruptions.
  7. Route-level performance is calculated for each airport pair with sufficient traffic volume, showing how reliability varies between specific city pairs.
  8. All data is loaded into a structured SQLite database serving airport profiles, airline profiles, route pages, state summaries, and time-series trend pages.

Delay Categories

The BTS classifies delay minutes into five mutually exclusive cause categories, assigned by the airline based on DOT guidelines:

  • Carrier Delay - Within the airline's control: maintenance problems, crew scheduling, fueling delays, aircraft cleaning, baggage loading, and cabin preparation
  • Weather Delay - Significant meteorological conditions that prevent safe operations: thunderstorms, snow, ice, fog, and wind shear at the origin or destination airport
  • NAS Delay - National Aviation System factors: air traffic control flow restrictions, airport operations limitations, heavy traffic volume, and runway closures
  • Security Delay - Security-related events: terminal evacuations, security breaches, re-screening of passengers, and extended screening queue delays
  • Late Aircraft Delay - Cascading delay caused when the previous flight using the same aircraft arrived late, propagating the delay to subsequent segments

PlainFlights preserves these BTS-assigned cause categories exactly as reported by the airlines, no reclassification, merging, or reattribution of delay minutes is applied.

Coverage

  • Flights: 38.3 million domestic flight segments (2020–2025)
  • Scope: U.S. domestic flights only (not international or territorial)
  • Carriers: All airlines meeting DOT reporting thresholds, carriers that account for at least 0.5% of domestic scheduled passenger revenue (the current 14 CFR Part 234 threshold, in effect since January 2018)
  • Airports: All U.S. airports appearing in BTS on-time data
  • Routes: All domestic airport pairs with scheduled service from reporting carriers

Accuracy Commitment

PlainFlights reproduces BTS data exactly as published. On-time percentages, delay minutes, and cause breakdowns are calculated from the raw flight-level records without adjustment. When BTS revises previously published data (which occurs occasionally when airlines submit corrected filings), PlainFlights incorporates the updated figures in the next database refresh.

Limitations

  • Only U.S. domestic flights are included. International routes, transoceanic flights, and flights to or from U.S. territories may not be fully represented.
  • Not all airlines are required to report to BTS, regional carriers and smaller airlines below the DOT revenue threshold are excluded, which may affect performance data at smaller airports.
  • A flight is classified as "delayed" only at 15 or more minutes late per the DOT definition, delays of 1 to 14 minutes are counted as on-time arrivals.
  • Delay cause assignment is reported by the airlines themselves and may reflect the airline's interpretation of DOT guidelines rather than an independent assessment.
  • PlainFlights is not affiliated with the BTS, DOT, FAA, or any airline.