The transatlantic carrier grid, by airline
46 airlines observed in US to Europe searches, each with its returned route sample, its median premium over the cheapest carrier on the same route, how often it was cheapest, and its verified cabin score, in economy and business, for travel November 8–14, 2026. One row per airline.
- 46
- Airlines, 36 ranked in economy and 36 in business
- 5,168
- Economy fares behind the aggregates, on 977 routes
- 4,886
- Business fares, on 962 routes, a separate pass for the same week
- 1,326
- Routes planned; the unpriced ones are declared, not dropped
What one row is
One row is one airline. Behind it sit every fare that airline returned in the grid: the same fixed travel week, November 8–14, 2026, on its accepted observed routes between the 26 US gateway metros and 51 European airports. On each route, the cheapest carrier sets the floor, and every other carrier’s fare is recorded as dollars above it. The row carries the median of those gaps, the number of routes it was cheapest on, its route count, and its cheapest fare anywhere, once for economy and once for business.
The fares were collected between and , origin by origin, with every carrier on a route captured in one session. Each within-route comparison uses quotes from the same observation day; differences observed on other days are separate historical context. A carrier with fewer than 3 routes in a cabin has no median published in that cabin, and the file says so in its own column.
The product score comes from a separate dataset of verified cabins, recorded per aircraft because the airframe often decides whether a business seat has direct aisle access. The file carries each carrier’s best-scoring aircraft and how many dimensions that score rests on. How the four data-scorable dimensions are built, and why three are never scored from data, is on How we review.
A look at the file
| airline | alliance | economy_routes | economy_median_premium_usd | economy_cheapest_on_routes | business_routes | business_median_premium_usd | business_product_score | flown_by_author |
|---|---|---|---|---|---|---|---|---|
| Turkish Airlines | Star Alliance | 421 | $0 | 240 | 389 | $186 | 9 | true |
| Azores Airlines | None | 5 | $0 | 4 | 5 | $0 | 5.8 | true |
| Edelweiss Air | None | 5 | $0 | 3 | 5 | $0 | 9 | false |
| JetBlue | None | 27 | $13 | 13 | 27 | $192 | 8.8 | true |
| TAP Air Portugal | Star Alliance | 144 | $70 | 52 | 143 | $836 | 9 | true |
| ITA Airways | Star Alliance | 69 | $90 | 17 | 56 | $3,040 | 9 | true |
| Air Europa | SkyTeam | 30 | $100 | 4 | 30 | $0 | 9 | false |
| Air Serbia | None | 16 | $109 | 1 | 16 | $53 | 8.3 | false |
| United | Star Alliance | 448 | $119 | 108 | 424 | $2,917 | 8.8 | true |
| Lufthansa | Star Alliance | 429 | $127 | 62 | 436 | $3,265 | 9 | true |
Data dictionary
The same definitions travel inside the JSON file, so a download stands on its own.
| Column | Meaning |
|---|---|
| carrier | Carrier slug, matching /airlines/<carrier> on the site where the carrier has a page. |
| airline | Airline name. |
| iata | IATA airline code. |
| alliance | Alliance membership as verified 2026-09-01: Star Alliance, SkyTeam, oneworld or None. A group subsidiary is not a member. |
| kind | european-flag, low-cost, us-major or other. |
| hub | Connecting airport the carrier routes transatlantic traffic through, where that is its play. Blank otherwise. |
| economy_routes | Routes on which the carrier returned an economy fare in the fixed-week grid, out of 1,326 planned (26 US gateways by 51 European airports). |
| economy_ranked | true when economy_routes is at least 3, the threshold below which no median is published. |
| economy_median_premium_usd | Median dollars above the cheapest carrier on the same route in the same travel week, across the carrier's economy routes. Blank when unranked. |
| economy_cheapest_on_routes | Economy routes on which the carrier was the cheapest option, a premium of $0. |
| economy_lowest_fare_usd | Cheapest economy fare the carrier returned anywhere in the grid. A fact about one route, not about the carrier's typical price. |
| business_routes | Routes on which the carrier returned a business-class fare, collected in a separate pass for the same travel week. |
| business_ranked | true when business_routes is at least 3. |
| business_median_premium_usd | Median dollars above the cheapest business-class carrier on the same route, same week. Blank when unranked. |
| business_cheapest_on_routes | Business routes on which the carrier was the cheapest option. |
| business_lowest_fare_usd | Cheapest business-class fare the carrier returned anywhere in the grid. |
| business_product_score | Best verified business-class product score out of 10 across the carrier's aircraft, from Seat, IFE, Lounge and, where the carrier has enough priced business routes, Value. Blank when no cabin has been verified. Service, food and ground are never scored from data. |
| business_product_dimensions | How many dimensions the product score rests on: 4 when Value could be scored, 3 when it was withheld for too few priced routes. |
| cabin_verified_on | Date the best-scoring cabin product was last verified against the carrier's own published specification. |
| flown_by_author | true when Jon Miksis has personally flown the carrier on a Europe route, in any cabin. |
Limitations, stated
- One week. Every figure describes November 8–14, 2026. A carrier that discounts a different week, or a different season, is not captured. The week was fixed before collection and is not chosen to favor anyone.
- Coverage sets the median. A carrier’s median is only as trustworthy as the routes behind it. A carrier observed from five gateways has a median about that returned sample. The route count sits beside every median for that reason.
- Lowest fare is a fact about one route. The cheapest fare a carrier returned anywhere is not its typical price, and should not be quoted as one.
- Unpriced is declared. Of 1,326 planned routes, 324 returned no economy itinerary and 352 no business itinerary from any carrier. Those are recorded as unpriced, not as expensive, and they are not in this file’s counts.
- Product is not experience. The score covers what can be read from a published specification and a fare grid. Service, food, and how an airline recovers a missed connection are not in it.
License and citation
This file is licensed under the Creative Commons Attribution 4.0 International license. Use it, republish it, build on it, sell what you build, as long as you say where it came from and link back. That is the whole condition. The rest of the site stays under its terms; the grant covers the files on this page.
Attribution line
Europe Flight Club, Transatlantic Carrier Grid (observed 2026-10-12 through 2026-10-17), https://europeflightclub.com/data/carriers, CC BY 4.0
Citation
Jon Miksis (2026). Transatlantic Carrier Grid: airline price and product aggregates for one fixed travel week [Data set]. Europe Flight Club. https://europeflightclub.com/data/carriers. Fares observed 2026-10-12 through 2026-10-17.
Always cite the observation date with any figure. A fare without its date is not evidence, on this site or anywhere else.
Common questions
- What is a median premium?
- On every route, the cheapest carrier sets the floor and every other carrier's fare is measured as dollars above it, in the same travel week. A carrier's median premium is the middle of those gaps across its observed returned route sample. Zero means it was lowest or tied on at least half that sample. Each gap compares recorded fares within an airport pair, cabin and travel week; routing can differ. Airlines have different route samples, so their network medians do not isolate airline pricing from route mix.
- Why is a carrier's median blank?
- Because it returned accepted fares on fewer than 3 of the routes in the grid in that cabin. One or two observations are an anecdote, and a median of them would ship a number that looks like a pattern. The carrier is still in the file with its route count and its cheapest fare, and the ranked column says explicitly that no median is published.
- Why does the file not include every fare?
- The per-route fares power the airline rankings and every head-to-head comparison on the site, and they are held back for the same reason the archive of past city grids is. What is published is one row per airline carrying the figures those pages show. That is enough to check any ranking on the site, and it is the form a reader actually uses.
- Why is the product score out of three dimensions for some carriers?
- Of the seven dimensions the site scores a cabin on, only four can be known without being on the aircraft: Seat, IFE, Lounge, and Value, the last computed from this grid. Value is withheld when the carrier has too few priced business routes, so those carriers are scored on three. Service, food and ground handling are scored only in reviews where the author has flown the cabin, and never appear in this file.
- Why is there a flown_by_author column in a data file?
- Because it separates what was measured from what was experienced, which is the distinction the whole site is built on. The fare and product columns come from published data. The flown column records whether Jon has personally flown the carrier on a Europe route, so a reader can see which airline pages carry firsthand judgment on top of the numbers and which are researched only.
Also open: the city grid, every city pair’s floor for the same season. Back to all open data.

Data collected by
Jon Miksis
Jon Miksis has run travel businesses since 2017 and spends 3–6 months a year traveling, two to three of them in Europe. He has taken 250+ flights and booked every one himself, and regularly flies Boston to Europe for under $300 round trip. Every “Flown” review is from his own seat.
