PlainFlights

Data Methodology

Jump to: Processing pipeline · Corpus placement · Revenue readiness

Download the BTS on-time airline extract cited on this page: bts-ontime-airline-statistics.csv (public domain / CC0).

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. A catalog snapshot of the same live aggregates is published at /statistics with a downloadable reporting-carrier CSV.

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.

Corpus placement (#N of M)

Entity pages state where each route, airport, airline, or state sits in the corpus with a computed ordinal that matches the same sort used by our listings:

  • Routes - total_flights DESC, then slug ASC (most tracked flights = #1)
  • Airports - total_flights DESC, then slug ASC
  • Airlines - total_flights DESC, then slug ASC
  • States - total_flights DESC, then slug ASC (busiest state operations = #1)

These ordinals are analytical placement signals, not editorial rankings of quality or safety.

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.

Revenue diversification readiness

This section documents what is productized today for reuse or licensing, how affiliates may appear if activated, and which alternative monetization paths are paperwork-ready. It is a readiness assessment only; nothing here activates new revenue without operator sign-off.

Downloadable and citable assets today

  • BTS on-time airline statistics CSV at /data/bts-ontime-airline-statistics.csv - reporting-carrier aggregates that power homepage and /statistics. License: CC0 / public domain for this derived file; cite PlainFlights and BTS On-Time Performance.
  • Dataset JSON-LD on the homepage, methodology, statistics, about, and entity detail pages (route, airport, airline, state) declares the same extract with isBasedOn pointing to BTS transtats.
  • CiteThis boxes on home, methodology, statistics, guides, research, tools, rankings, and entity pages for one-click attribution of specific tables and on-time rates.
  • ShareBar + per-entity OG cards at /og/airline|airport|route|state/[slug].png on route detail and statistics pages for shareable performance snapshots.
  • RSS feeds at /feed.xml (guides/research), /feed/data-changes.xml (BTS vintage events), /feed/watchlist.xml (saved airports), and /airport/[slug]/feed.xml (per-airport updates).
  • Not yet productized: no bulk route-level API endpoint, no embeddable chart iframe product, no paid data-licensing terms page. [operator] must approve pricing, API keys, and partnership terms before any launch.

Attribution ask: when reusing the CSV or citing a table, name PlainFlights as the compiler and link to the source page or this methodology. Honest attribution supports reuse without implying BTS or DOT endorsement.

YMYL-safe affiliate placement rules (if activated)

PlainFlights is a travel-data registry portal (POSTURE-A). If the operator ever enables affiliate units beyond existing disclosure prose:

  • Allowed page types: general travel-gear or lounge-access comparisons on guides where the user is already evaluating a purchase, never adjacent to on-time rate tables, delay cause breakdowns, or any page that could be read as a booking recommendation.
  • Forbidden: flight-booking links tied to a route's on-time percentage, affiliate links on route/airport/airline/state entity pages, rankings tables, or the delay predictor tool output.
  • Labeling: every paid link carries a visible affiliate disclosure; no disguised buttons inside data tables.
  • Density: same Module 36 ceilings as display ads; no affiliate block above the first BTS source-attribution line on registry pages.

Alternative ad-network eligibility (paperwork only)

  • Google AdSense: portal is in GETTING_READY review queue; no manual ad slots are enabled pre-approval. Do not resubmit while /airline/* rendered-similarity stays in the REJECT-RISK band (95.6%, measured 2026-08-26; burn-down fence binds through 2026-09-07).
  • Mediavine Journey: requires ~1,000 real sessions per 28-day window. PlainFlights measured ~71 GA4 sessions in the latest 28-day window (2026-09-02), so it is not eligible today. Bing records 12 clicks/30d — re-check when real sessions cross the threshold. [operator] applies to network enrollment.
  • Data licensing / API: CSV + Dataset schema are the passive product surface; any commercial API or white-label embed requires [operator] pricing, terms of use, and legal review before publication.