Odds, not promises
The U.S. Department of Transportation publishes every domestic flight’s on-time record, free, through the Bureau of Transportation Statistics. Airlines report it; nobody has to pay for it.
Each month’s file lands about two months after the month ends. That is why every result says “based on flights through July 2026” rather than “the last 60 days.”
Cancelled, diverted, or arriving 15 or more minutes late. That is the DOT’s own on-time definition, so Compare’s numbers match the ones airlines are graded on.
The “cost of being wrong” shows the tail: how often a flight runs 60+ minutes late, how often it is cancelled, and how late it runs on a bad day (the 90th percentile).
For each flight number on the route, Compare looks at a trailing three-month window of history: its on-time rate, cancellations, how late it runs when it runs late, where its plane usually sleeps (how often it is the aircraft’s first flight of the day, and how many legs fly before it), and how often that airport runs into ground delays at that hour.
Those become one number per flight: the odds of a bad trip. In this demo that number is the flight’s own bad-trip rate pulled toward its route’s average, weighted as if the route had chipped in 20 extra flights. A flight with 25 flights of history leans on its route more than one with 90. The case study’s fuller model (aircraft rotation, airport congestion by hour) would replace that one line without changing the screen.
The pick is the flight with the lower odds. When the two are within 10 points of each other, Compare says “too close to call.” Under 20 recent flights of history, it says it does not have enough to pick.
Reasons are plain templates ranked by how far apart the two flights are. No black box.
If Flighty told everyone the 7am is better, everyone would book the 7am: it sells out or the price jumps. Abstaining when the odds are close keeps the herd risk off the table and, on the reference backtest, makes the picks that are made more accurate.
After both flights land, Compare checks whether the one it picked actually had the better trip. The guardrail in the case study: if the pick is right less than 65% of the time, it stops picking and just shows the odds.
U.S. domestic flights on reporting carriers only. No international routes yet.
History-based, not live. The specific aircraft is unknown until about a day before departure, so “where the plane sleeps” describes the flight number’s habit, not tomorrow’s tail.
Red-eyes that cross midnight look like first flights of the next day.
This demo runs on the real BTS on-time records for May 2026 to July 2026 (model history-2026-07): 2,046,743 flights, 35,340 flight numbers with at least 20 flights each. When the DOT publishes August, the pipeline reruns and every number here moves.
Flighty with Compare · demo by Samuel Spiegel · BTS data through July 2026