I ran every 2025 flight of two US airlines through the calculator — 1.61 million departures — and compared the result with their reports, cost line by cost line. Fuel, maintenance and block time matched within 10%. Four things the model got wrong for the US: air navigation, airport charges, crew and taxi time. I fixed them, fitting the levels on other carriers and keeping Frontier and Southwest for the check. The second part is what 268 million sold-ticket records show: the average fare depends on how thick the pair is, and that is now in the calculation.
Checking a flight-economics model on one flight is not enough: you need a whole airline — its network, its costs by line and what its passengers pay. Almost everywhere that is a trade secret; in the US the Department of Transportation publishes all three. T-100 gives every carrier, pair, aircraft type and month: flights, seats, passengers, block-to-block time1. Form 41 gives costs by aircraft type: fuel, pilots, maintenance, rent and depreciation2. DB1C is a 40% sample of tickets sold in domestic markets3. Annual reports give the company-level cost lines45.
Fuel price comes from each company's report (USD 2.47 and 2.41 a gallon), the exchange rate is the ECB 2025 annual average, USD 1.13 per euro6. The main rule: fixes are fitted on other carriers — JetBlue, Alaska, Hawaiian, Horizon, Spirit, Allegiant, Sun Country. You can always tune a model to two companies, and then a match proves nothing. A caveat: the model's maintenance and ownership levels were already checked against the Form 41 band of all US carriers for 2025, so for those two lines the match is partly a check on the same data.
The dot is the error after the fixes, the other end of the line is before. Green — within 10%. Crew is Form 41 pilots × 1.56: Form 41 does not report cabin crew by type, their share is estimated from the IATA ACMG cost structure. Air navigation is not shown: in the US it should be zero, the model gave USD 75 million at Frontier and 406 million at Southwest, after the fix 17 and 48 (flights to Mexico and the Caribbean plus coarse zone borders).
| Line | before | after | change |
|---|---|---|---|
| Fuel | 2,573 EUR | 2,600 EUR | +27 EUR |
| Air navigation | 191 EUR | 0 EUR | −191 EUR |
| Airport charges | 2,638 EUR | 2,055 EUR | −583 EUR |
| Ownership | 2,357 EUR | 2,430 EUR | +73 EUR |
| Maintenance | 962 EUR | 979 EUR | +17 EUR |
| Crew | 1,708 EUR | 5,048 EUR | +3,340 EUR |
| Ground handling | 1,228 EUR | 1,228 EUR | 0 EUR |
| Distribution | 877 EUR | 1,079 EUR | +202 EUR |
| Total per flight | 12,533 EUR | 15,420 EUR | +2,887 EUR |
| Break-even fare | 84 EUR | 103 EUR | +19 EUR |
One flight shows where the money moved: air navigation went to zero, airport charges fell and crew nearly tripled. The break-even fare of a US flight rose by about a quarter. For Europe and Russia nothing changed: the fixes apply only at US airports.
US air traffic control is funded by ticket and fuel taxes; the FAA overflight fee applies only to transit flights that do not land in the country. The reference said so in words, but the calculation treated the US as an ordinary zone at an average rate. Now a flight landing or departing in the US pays nothing for US airspace.
There are no US airport tariffs in the database, so the model used the world median — a factor of 1.10 on the estimate base. I fitted the US level on JetBlue: modelled charges of its network against the report line "landing fees and other rents" gave 0.867. Alaska Air Group gave 0.868, but only as an order-of-magnitude check: 73% of the group's departures made it into the calculation, and correcting only for Hawaiian's Boeing 717 the factor would be about 1.04. The remaining +29% at Southwest is not yet explained; my hypothesis is long-term agreements at its bases, untested.
The model's crew rate is at a European level: about EUR 800 per block hour for the whole crew. In the US pilots alone cost USD 1,300–1,950. The US factor is 2.88, fitted on seven carriers outside the check (pilots × 1.56 against the model's crew, weighted by block hours). At Southwest it gave −5%, at Frontier +58%: Frontier pays its crews 14–39% less than comparable airlines. For the calculator: crew pay is a property of the carrier and should be entered for your own airline.
| Carrier | pilots, Form 41 | whole crew in the model before |
|---|---|---|
| Hawaiian | 1,948 | 1,005 |
| JetBlue | 1,853 | 820 |
| Southwest · check | 1,782 | 862 |
| Alaska | 1,514 | 849 |
| Spirit | 1,450 | 939 |
| Sun Country | 1,391 | 899 |
| Allegiant | 1,299 | 892 |
| Frontier · check | 1,123 | 990 |
| Horizon | 723 | 575 |
Fleet averages weighted by block hours, 2025.2
The model's taxi time was the standard ICAO cycle — 26 minutes per flight. In T-100 each row has block-to-block time and airborne time; the difference is taxi at both ends. Across the network the sum "taxi-out + taxi-in" is fitted per airport by least squares: estimates for 681 airports, from 10.6 minutes per flight at Dallas Love Field to 22.0 at Chicago O'Hare (half the taxi of a flight). Frontier then matched block hours within 1%. Southwest did not: it taxis 20 minutes per flight where others need 26 — a feature of its operating model, not of the airport.
The model computes revenue from the market price: the median of daily minimums from the aggregator cache times an "average fare to minimum" factor. To check that factor I aggregated DB1C for July 2025 — July 20263. First the cleaning: DB1C fares include taxes, and an award ticket costs exactly the security fee, USD 5.60. Award tickets are 8.3–9.2% every month; there is a gap between them and paid fares (USD 10–15 has a hundred times fewer passengers than 5–10). Award tickets are a separate measure and are excluded from the average fare.
Over the year the average fare on the same set of pairs rose 24%, the median growth per pair 20%. The order of magnitude matches official statistics: in June 2026 the US airfare index was 26.5% above a year earlier9.
Each dot is a pair in October 2025, size = passengers; the line is the regression over all 13 months, weighted by passengers.
A 500 km ticket costs on average almost as much as a 1,500 km one. The regression gives a fixed part of USD 141 plus USD 57 per thousand kilometres and explains 41% of the variance; unweighted by passengers only 18%. The fixed part exceeds the variable one up to 2,500 km. It mirrors cost: airport, ground handling and the per-cycle part of maintenance and crew do not depend on flight length, so a short flight is dear per kilometre in price too. The wide vertical band at one distance is mostly competition: on pairs where almost all passengers fly ultra-low-cost carriers the average fare is about USD 90, where there are none it is USD 271.
DB1C splits every ticket into three groups by how many days before departure it was bought: up to 21, 22–90 and 91 or more. Each bar shows how many times the group's average fare exceeds that of tickets bought 91+ days out. This is "dynamic pricing" in numbers: the price stays flat while departure is more than three weeks away, and in the last three weeks the airline sells the remaining seats to late and business travellers at a premium.
| Distance, km | 0–21 days to 91+ | 22–90 days to 91+ | share bought 0–21 days out |
|---|---|---|---|
| 0–500 | 1.57 | 1.03 | 63 % |
| 500–1,000 | 1.52 | 1.02 | 52 % |
| 1,000–1,500 | 1.40 | 0.98 | 46 % |
| 1,500–2,000 | 1.30 | 0.94 | 43 % |
| 2,000–3,000 | 1.38 | 0.99 | 38 % |
| 3,000–4,000 | 1.37 | 1.00 | 34 % |
| 4,000–6,000 | 1.20 | 0.98 | 24 % |
Only the last three weeks cost more: there is no difference between one-to-two months and three months or more ahead. Short pairs have a larger premium and more late purchases.
Carrier's average fare to the pair's 10th percentile, on pairs served by both an ultra-low-cost and another carrier.
This suggested a factor by carrier type. I fitted it on other airlines and checked it on Frontier and Southwest — no improvement: median error 30% and 17% against 28% and 16% for the old step. It did not go into the model. Pair thickness did work.
fare = minimum × K · qβ ÷ r
| Term | What it is | Value | Source |
|---|---|---|---|
| q | pair traffic, passengers a month, both directions, all carriers | from the database | T-100, Eurostat1 |
| K, β | average fare ÷ the pair's 10th percentile = K · qβ | 1.00; 0.077 | DB1C July — December 2025, nonstop3 |
| r | median of aggregator minimums to the 10th percentile | 1.37 | estimate: 13 US pairs, weak link |
Each dot is a pair in October 2025: the ratio of the average fare paid to the pair's 10th-percentile fare against pair traffic from T-100. The traffic axis is logarithmic. The step is converted to the 10th percentile (× 1.37) so it can be compared with the data.
Why the gap is wider on thick pairs — the data do not prove it, but the revenue-management explanation is: there are more flights a day and a wider mix of passengers — tourists who buy months ahead on promotions and business travellers who buy the day before. The airline opens cheap booking classes to fill the aircraft early and keeps dear ones for late buyers. On a thin pair there are one or two flights a day, a narrower mix and tighter prices. The old "1.2 or 2.0" step jumped over this smooth relationship: on pairs with 20–80k passengers a month it underestimated the average fare by a quarter.
Fitted on half the pairs, checked on the other half (9,140 pair-months). Median error 14% against 18% for the "1.2 or 2.0" step, and above all the systematic underestimate on pairs with 20–80k passengers a month is gone.
| Traffic, k pax/month | step: bias | step: error | by traffic: bias | by traffic: error |
|---|---|---|---|---|
| 0–5 | −12 % | 16 % | −3 % | 14 % |
| 5–20 | −14 % | 15 % | +6 % | 14 % |
| 20–80 | −25 % | 25 % | +3 % | 15 % |
| 80–∞ | +3 % | 19 % | −8 % | 17 % |
Every number of the draft was recomputed by a separate agent not involved in the calculation: two gross errors (record count and mixed-up price-growth metrics), a misdescribed Alaska check and several conclusions stronger than the data were fixed before publication. Missing: cabin crew by type (estimated from the IATA ACMG structure), US airport tariffs, a fuel calibration for Boeings. Converting the aggregator minimum to the 10th percentile rests on 13 pairs of the first price collection — weekly collection on 30 US pairs will refine it. Raw T-100, DB1C extracts and the database are not committed; scripts and aggregates are in the research folder.