What we got wrong
Corrections
Every error this site has published, what a reader would have seen because of it, and the check that caught it. The last part is the useful one.
- 25
- Corrections since August 29, 2026
- 23
- Were live to readers before being found
- 11
- Changed a published number
- 7
- Changed a published claim
How we review says that if something here is wrong we will fix it and say that we did. This is where we say it.
Most of these were not found by rereading a page. They were found by a check that compares a published figure against the data behind it — and the check is written down in each entry, because that is the part someone else can reuse.
This site was rebuilt on August 29, 2026. Nothing before that date is in scope.
- DataWas live
The Boston page understated its own floor by $10
- What was wrong
- The Boston pillar said the cheapest round trip to anywhere in Europe was "about $380 to Helsinki", twice — in the body and in an FAQ answer. The grid says $390, and the same page's own fare table said $390 in four other places.
- What a reader saw
- Ten dollars, on the one page that exists to back the site's most public claim: that Jon regularly flies Boston to Europe for under $300. A reader checking that claim reads this page, and it disagreed with itself.
- How it was found
- Re-reading the page while checking whether the under-$300 claim was evidenced. The claim itself holds up — the page states the searchable floor plainly and explains that sub-$300 fares are drops and award space rather than something you can search for — but the floor it stated was not the floor in the data.
- Fix
- Both instances corrected to $390, matching the table above them and the grid behind it.
- DataWas live
A fixed-week fare had been filled in from the flexible-date grid
- What was wrong
- The carrier grid held $422 for Icelandair, New York to Reykjavik. That is the CITY grid's figure for the same pair — the cheapest one-week trip anywhere in six months — and the carrier grid requires every carrier priced for one fixed week. Re-priced on the original source, Icelandair for that week is $600.
- What a reader saw
- Icelandair's cheapest route looked $178 cheaper than it was, and the Icelandair review called $422 the lowest fare in the whole carrier grid. It also flowed into British Airways, which flies the same route: its median premium was published as $254 and is $215.
- How it was found
- A cross-check of eight routes against an independent source. Seven agreed within 7%; Reykjavik was 29% apart, which is the size of gap that means a bad row rather than fare movement. Re-pricing on the original source confirmed it. The two grids agreeing to the dollar was the tell — an independent capture has no reason to land on the same number.
- Fix
- Row corrected to $600. Every figure it fed was recomputed rather than edited: the Icelandair review's table and two of its claims, the British Airways premium in three articles and its premium table, and the pinned test. A sweep for the same signature across all 119 comparable pairs found three more exact matches; all three were checked and all three are genuine.
- ClaimWas live
The SAS review claimed a record its own data did not support
- What was wrong
- It described $558, New York to Copenhagen, as "the lowest single fare in our entire carrier grid". It is the fourth lowest of 175 fares, behind Norse Atlantic at $461 and two TAP fares into Madrid.
- What a reader saw
- A superlative that overstated SAS by three places.
- How it was found
- Searching every article for claims about the grid's lowest fare while correcting a different one, rather than checking only the article being edited.
- Fix
- Rewritten to say what is true: SAS's own cheapest fare, and where it actually ranks.
- ReachabilityWas live
Thirteen comparison pages linked to a page that does not exist
- What was wrong
- Every comparison page linked to both carriers' own pages. Iberia is priced and has two verified cabins but appears on only two routes, below the three-route minimum that earns a carrier page, so /airlines/iberia is a 404.
- What a reader saw
- Thirteen live pages carried a link to a 404.
- How it was found
- Extending the link audit from markdown links in articles to every href rendered on all 219 built pages. The previous audit could not see links emitted by page components, which is where most of this site's links come from.
- Fix
- Comparison pages now check whether a carrier page exists before linking to it. The audit runs as npm run audit:links.
- ReachabilityWas live
The 404 page linked to a 404
- What was wrong
- The not-found page offered "Explore destinations", pointing at /destinations — a section inherited from the site this codebase was cloned from, which this site never had.
- What a reader saw
- A reader who hit a bad URL and clicked the obvious button got a second 404.
- How it was found
- The same full-site link audit.
- Fix
- The button now points at /airports, which is this site's equivalent.
- ReachabilityWas live
A finished tool was live with nothing linking to it
- What was wrong
- The Europe Flight Plan was deployed and working — nine questions, server-side scoring, Club signup — with no inbound links from anywhere on the site and no sitemap entry.
- What a reader saw
- The only way to reach it was to type the URL. No reader and no search engine had ever seen it.
- How it was found
- Auditing the sitemap against the built pages against the internal link graph, which is a different question from whether links are dead.
- Fix
- Registered as a live tool, linked from the home page and /tools, and added to the sitemap. A test now fails the build if any live tool points at a route that does not exist.
- ClaimWas live
Thirty-three sentences said fourteen carriers when there were fifteen
- What was wrong
- Adding Iberia's cabin products moved the rubric set from fourteen carriers to fifteen. Thirty-three sentences across thirteen articles still said fourteen, including the description and FAQ answers of the ranking article itself.
- What a reader saw
- The home page was correct throughout, because it computes the number. Every article that had it typed by hand was wrong.
- How it was found
- Checking a count in an article against the library that produces it, while writing an unrelated review.
- Fix
- All thirty-three corrected. A test now fails the build on any carrier or cabin-product count in prose that no dataset supports.
- ClaimWas live
Three 'the only' claims had quietly become false
- What was wrong
- Three superlatives were true when written and false by the time they were checked: that British Airways and Virgin Atlantic were the only pair tying on every dimension (three pairs do), that Aer Lingus was the only carrier whose long-haul cabins score identically (United's do too), and that British Airways was the only carrier where the same fare buys a 10 or a 5 (Lufthansa and KLM do it as well).
- What a reader saw
- Three articles asserted uniqueness that the data no longer supported. A fourth such claim was checked and held.
- How it was found
- Testing a superlative against the dataset instead of trusting it, then testing every other superlative on the site once the first one failed.
- Fix
- All three rewritten around what is actually distinctive. The facts behind them are now pinned by tests, so the next dataset change fails the build rather than the sentence going stale.
- ClaimWas live
A statistic was labeled as something it did not measure
- What was wrong
- A function named for aisle access actually compared seat scores, which include the privacy door. Three of the seven carriers it returned have identical aisle access on every aircraft.
- What a reader saw
- The home page and the comparison hub both showed 7 of 15 next to a sentence about direct aisle access. The correct figure for aisle access is 4.
- How it was found
- Noticing that a carrier appeared in the results whose two cabins both have direct aisle access, and checking what the function actually compared.
- Fix
- Split into two measures with accurate names — cabin varies by aircraft (7) and aisle access varies (4) — and both surfaces now state which is which.
- DataWas live
Virgin Atlantic was published as $1,688 dearer than British Airways. It is $126 cheaper.
- What was wrong
- The Virgin Atlantic review was titled and argued around a $1,688 business-class gap on New York to London — Virgin at $6,989 against British Airways at $5,301. Re-collecting the same route, same cabin, same travel week returned Virgin at $5,175 against BA at $5,301.
- What a reader saw
- The page told readers Virgin cost 32% more for an identical product and framed the whole decision as whether a better worst case was worth $1,688. On the current data there is no premium to justify: Virgin is the cheaper of the two.
- How it was found
- Re-pricing the five business routes on the same day as the full economy grid, using the same extraction, rather than carrying the previous collection forward. Every other anchor on that route came back identical to the dollar — Icelandair $2,356, Air Serbia $3,057, TAP $3,333, BA $5,301, Delta $8,631 — which is what makes the Virgin row a real move rather than a methodology difference.
- Fix
- Article retitled and rewritten around what the data now shows, with the retraction left in the section that made the original claim rather than deleted.
- DataCaught pre-publish
The carrier grid was extended by choosing routes that helped specific carriers
- What was wrong
- The first attempt to widen the 22-route carrier grid picked five new routes because they would give under-covered carriers enough data to rank. TAP was cheapest on four of the five, which moved it from fourth to first in the price ranking and displaced Icelandair.
- What a reader saw
- None. The bias was caught before the expanded data was published, and the affected rows were reverted rather than shipped.
- How it was found
- Noticing that the carrier which benefited most from the new routes was the carrier the routes had been selected to help, and that no route had been added which could have hurt it.
- Fix
- Data discarded. The route list now lives in src/data/carrier-grid-plan.ts as a frozen cross-product with a test asserting nothing has been curated out, and the grid was re-collected in full against it.
- DataWas live
The carrier grid could not measure Aer Lingus at its own hub
- What was wrong
- Every Aer Lingus fare we published connected THROUGH Dublin, because Dublin was not one of the twelve destinations the carrier grid priced. The single market where that airline should be strongest was the only market in which it could not be measured, and the review said it was 'cheapest on none of 18 routes' without noting the omission.
- What a reader saw
- A reader comparing Aer Lingus on its own home route had nothing to go on. Pricing Dublin properly shows its nonstop losing to a connecting carrier from all four US gateways that fly it — by $70 from Boston, $80 from New York, $266 from Los Angeles and $386 from Chicago. Munich, Barcelona, Milan, Athens and Vienna had the same shape.
- How it was found
- A reader asking whether there were missing routes — specifically whether US airports have nonstops to other major European airports. Checking the carrier grid's twelve destinations against our own 41-city fare grid showed they overlapped on only nine cities, and that every hub carrier's home airport was either missing or was the one thing being measured.
- Fix
- The destination set is now derived from the city grid's own list rather than inherited: 47 airports, 235 planned routes, 193 priced. Two tests enforce it — one that every city-grid city is a carrier-grid destination, and one that no destination can be removed without an explicit recorded reason.
- ClaimWas live
Royal Air Maroc was not cheapest on every route it flies
- What was wrong
- Published this morning: 'Royal Air Maroc was the cheapest carrier on all nine Los Angeles routes we priced it on. Not competitive on. Cheapest, on every one.' It was true of the nine routes then in the grid.
- What a reader saw
- A perfect record reads as a property of the airline. At 18 routes it wins 15, and every win is from Los Angeles — the three losses are its New York routes, plus Bordeaux from LAX where Air France is genuinely better placed. Casablanca is a West Coast story, not a Royal Air Maroc story.
- How it was found
- Expanding the destination set from 12 airports to 47 in the same collection. The claim survived nine observations and died at eighteen, which is what a superlative drawn from a single gateway does.
- Fix
- Claim restated as 'cheapest on 14 of 15 LAX routes, and it wins nothing from anywhere else', with a pinned test asserting both the count and that every win is a Los Angeles pair.
- DataCaught pre-publish
A guard against dead routes was checking the city pair, not the airline
- What was wrong
- The test keeping withdrawn routes out of the fare grid matched on origin and destination alone. LEVEL withdrew Barcelona-Boston; once Barcelona became a destination, it flagged TAP's perfectly live Boston-Barcelona fare — and 23 others — as ghosts of dead routes.
- What a reader saw
- None to readers: the test failed loudly on the first build after the expansion rather than removing anything. Had it been written the other way round, it would have deleted valid fares on any city pair whose only nonstop had ever been cut.
- How it was found
- The expansion. A twelve-airport grid contained none of the withdrawn pairs, so the bug was unreachable until Barcelona, Milan and the others were priced.
- Fix
- Now matches carrier AND route, so a withdrawn airline stays out while the city pair stays priced. A second test asserts the pairs remain flyable, because a grid that dropped them would tell a reader Barcelona cannot be reached from Boston.
- ReachabilityWas live
Carrier fares were missing from 27 of the 41 city pages
- What was wrong
- The map joining carrier-grid airports to city entities was written by hand for the twelve-destination grid and never updated when that grid was expanded to forty-seven. It listed ten airports. Every city outside those ten returned no carrier fares at all.
- What a reader saw
- Dublin, Vienna, Athens, Munich, Barcelona and twenty-two other cities showed no airline comparison, on pages whose purpose is comparing airlines. The fares existed and had been collected the day before; nothing on the page said they were missing, so the pages read as though no carrier flew there worth naming.
- How it was found
- Building the assessment's route readout on the same helper. It returned nothing for Dublin, which is served by four US gateways in our own grid, and a route that obviously exists coming back empty is the cheapest possible signal that the lookup rather than the data is wrong.
- Fix
- The map is now derived as the exact inverse of the expansion the collection plan performs, so a city added to the fare grid appears automatically and the two cannot drift apart again. A test asserts coverage stays above thirty cities, which the hand-written version would have failed.
- DataWas live
Boston to Milan was recorded $255 too high
- What was wrong
- The city grid held $846 for Boston to Milan. The true cheapest round trip that day was $591 — a 30% error, and the largest single mistake this site has published.
- What a reader saw
- Milan had become the headline example in four comparison tables. The error made Boston's Milan nonstop premium read as $16 when it was $271, which inverted the advice on that route.
- How it was found
- The Google Flights Explore map labels every city with its own cheapest fare, so one screenshot cross-checks about sixteen cities at once against the grid. Fourteen of sixteen matched to the dollar, one was off $17, and Milan was off $255. Exact agreement is the norm, so any double-digit gap is a bad row rather than price movement.
- Fix
- Row corrected and the six articles quoting it regenerated from the library rather than retyped.
- DataWas live
Published tables had drifted from the data behind them
- What was wrong
- Twelve of 26 gateway rows and six of 15 city rows disagreed with src/lib/fares.ts, almost all by a single dollar.
- What a reader saw
- Individually harmless. Collectively it meant the tables readers screenshot and the pages computing from the same data disagreed with each other.
- How it was found
- Regenerating every table from the library and diffing it against what was published, rather than reading the two side by side.
- Fix
- All tables regenerated from src/lib/fares.ts. Hand-transcribing a derived figure is now prohibited by the project's own conventions.
- DataWas live
127 fares were higher than the lowest we had actually seen
- What was wrong
- A second collection sweep returned lower fares than the first on 127 city pairs, and the grid still held the higher number.
- What a reader saw
- Every affected city looked more expensive than the evidence supported, which is the wrong direction for a site about flying cheaply.
- How it was found
- Running a second full sweep and diffing it against the stored grid cell by cell.
- Fix
- All 127 cells lowered, and the methodology changed: where two sweeps on the same day disagree, the grid records the lower fare.
- DataWas live
Comparison pages compared business fares against economy fares
- What was wrong
- The shared-route lookup keyed on route alone, ignoring cabin, so British Airways' $5,301 business fare on New York to Heathrow was matched against Virgin Atlantic's $815 economy fare on the same route.
- What a reader saw
- Thirty-five of 91 comparison pages contained at least one row comparing two different cabins as though they were the same product. One page's FAQ stated that every fare shown was economy, which was false on that page.
- How it was found
- Auditing every generated comparison row for cabin agreement between the two sides, rather than spot-checking pages.
- Fix
- The lookup now keys on route and cabin together. Zero of 253 rows mix cabins, and a test fails the build if any ever does.
- DataWas live
Three cabins were recorded with a layout their aircraft cannot have
- What was wrong
- Icelandair's 737 MAX, TAP's A321LR and Aer Lingus's A321neo were each recorded as 2-2-2 — a twin-aisle layout on a single-aisle aircraft.
- What a reader saw
- Three business cabins were described with a seating arrangement that is physically impossible on those airframes, and the seat scores derived from it were wrong.
- How it was found
- A test asserting that every recorded layout is possible for the aircraft it is attached to. The root cause was that the layout type offered no 2-2 option, so 2-2-2 was the closest available value.
- Fix
- 2-2 added to the layout type, all three records corrected, and the test now runs on every build.
- Structured dataWas live
Review schema was reported as present and had never been emitted
- What was wrong
- An audit reported Review structured data as present on cabin reviews. No page had ever emitted it.
- What a reader saw
- Seven reviews were missing the structured data that makes a review eligible for rich results, while an internal check said otherwise.
- How it was found
- Re-running the audit against the rendered JSON-LD rather than the page text. The original check had matched the word "Review" in prose — a false positive from grepping HTML.
- Fix
- Ratings added to all seven reviews so the schema is generated from frontmatter, and the audit now parses JSON-LD instead of searching for a word.
- ClaimWas live
PLAY was described as an operating airline
- What was wrong
- PLAY ceased operations on 29 September 2025. Two articles referred to it in the present tense and six airport records listed it as a current low-cost operator.
- What a reader saw
- Readers were pointed at an airline they could not book, on a site whose purpose is telling them what to book.
- How it was found
- A reader question — Jon asked whether PLAY was still flying.
- Fix
- A dataset of defunct carriers and withdrawn routes now exists, with cessation dates, and the airport records were rebuilt from it.
- EditorialWas live
British spellings on a site written by an American
- What was wrong
- Nine British spellings across four reviews — programme, traveller, neighbour, favours.
- What a reader saw
- The site's credibility rests on being written by an American who flies out of Boston. British spelling undercuts that before a reader reaches the substance.
- How it was found
- A pattern sweep that matches suffixed and plural forms. An earlier sweep for "travelled" had missed "travelling", and one for "neighbour" had missed "neighbours"; both shipped.
- Fix
- Nineteen spelling patterns are now checked on every build.
- ReachabilityWas live
Three thin pages were live without being declared
- What was wrong
- Generated routes rendered any slug that happened to resolve, rather than only the ones we had declared.
- What a reader saw
- Three thin pages were live and reachable without appearing in the sitemap.
- How it was found
- Comparing every page the framework would render against the list of pages actually declared.
- Fix
- All generated routes now refuse any slug outside their declared set.
Common questions
- Why publish a corrections page at all?
- Because every fare page here is a claim about a number, and numbers on a travel site go wrong in ways the reader cannot see: the underlying fare moves, a figure gets transcribed by hand and drifts from the data behind it, or a sentence that was true when written stops being true when the dataset grows. All three have happened on this site. A page that lists them is the only way to show that the numbers are maintained rather than posted once.
- What counts as a correction here?
- Anything that changed a published number, a published claim, or what a reader could reach. Code defects are included when a reader saw the result — a comparison table that mixed cabins is a correction, an internal refactor is not.
- How are errors usually found?
- Almost always by a check that compares the published figure against the data behind it, rather than by rereading the page. The largest error on this site — a fare recorded $255 too high — was caught by cross-checking a map that labels sixteen cities at once against the grid. Exact agreement is the norm there, so any double-digit gap is a bad row rather than price movement.
- How do I report something that looks wrong?
- Email the address on the contact page with the page and the figure. If it is wrong it gets fixed and listed here with the date. If it is right, the reasoning gets explained, which is usually more useful.
Found something that looks wrong? Tell us. If it is wrong it gets fixed and listed here. See also how we review for where the numbers come from in the first place.
