How often are these flights late or cancelled?
LHR ↔ HAMBURG
In the twelve months from July 2025 to June 2026, 25.5% of 2,271 movements arriving into LHR were disrupted — that is, they landed more than fifteen minutes late or were cancelled at short notice.
Put the other way round, 74.5% of 2,271 movements arrived on time by the industry's fifteen-minute standard. Severe delays were rarer: about one arrival in every 252 crossed the three-hour mark. Lower is better on every figure on this page. These numbers describe what happened on the route; they are not a prediction for any individual flight.
Definitions, denominators and limits
- “Disrupted” means an arrival more than fifteen minutes late or a short-notice cancellation. The denominator is operated movements plus short-notice cancellations.
- Arrivals into the UK airport only; all published carriers.
- Crossing three hours is one condition for compensation, but monthly data cannot establish any individual passenger’s rights.
- Delay cause is not published in the open data.
- Source: CAA punctuality statistics · snapshot 17/08/2026 10:24 · method route-record-v2.1.
0 operations (0.00%) excluded because their published percentages could not be reconciled to whole numbers. Excluded operations enter neither the numerator nor the denominator. Outcome figures and comparisons are unavailable when the excluded share exceeds fifteen percent.
The four numbers at a glance
In the twelve months from July 2025 to June 2026, 25.5% of 2,271 movements were disrupted and 1.0% of 2,271 movements were cancelled at short notice.
When a flight was late, it was typically late by the range shown below. The delay is given as a range, not a single number, because the regulator rounds its published percentages and never says how many flights landed exactly on time.
| Disruption share | Short-notice cancellations | Average delay among delayed flights only — bounds | Operations |
|---|---|---|---|
| 25.5% of 2,271 movements | 1.0% of 2,271 movements | 22.4–53.7 min; N of delayed flights=555–1,229 | 2,271 |
Definitions, denominators and limits
The bounds account for CAA rounding and the unknown number of zero delays. A point average across all operated movements, including punctual ones, would answer a different question and is not used here.
When it is late, how late is it?
Most delays here are short. The ladder below shows how many arrivals crossed each threshold, from a quarter of an hour up to six hours; each rung can only be smaller than the one above it.
Cancellations are counted separately: 1.0% of 2,271 movements. “One in N” means how many arrivals you would typically see between events at that level.
Delay ladder table: share, movements and one-in-N
| Delay | Share and n | Movements | One delay in every N operations |
|---|---|---|---|
| >15 min | 24.4% of 2,271 movements | 555 | 4.1 |
| >30 min | 11.6% of 2,271 movements | 264 | 8.6 |
| >60 min | 4.4% of 2,271 movements | 99 | 22.9 |
| >120 min | 1.2% of 2,271 movements | 27 | 84.1 |
| >180 min | 0.4% of 2,271 movements | 9 | 252.3 |
| >360 min | no events in 2,271 movements | 0 | no observed events, which is not zero risk |
Definitions, denominators and limits
CAA counts delays strictly greater than each threshold, so exactly three hours is inseparable from the previous bucket. The ladder describes the archive, not a forecast.
Slightly late, or occasionally a disaster?
When this route runs late, it is usually only a little late: big blow-ups are rarer here than on the typical UK route.
The histogram below counts every recorded arrival, from more than fifteen minutes early through to more than six hours late. A tall bar near the middle and a thin right-hand tail is the healthy shape.
Definitions, denominators and limits
Ratio of the long tail to sixteen-to-sixty-minute delays: 0.0197; corpus median 0.0217; 2056 routes in the corpus. The shape is compared conditionally among delays; the class name does not measure absolute frequency. Histogram counts and shares cover all recorded operations including unmatched records; reconstructed uniquely.
Has this route got better or worse since 2018?
Best month: Sep 2020, 2.7% of 73 movements. Worst month: Sep 2024, 60.8% of 186 movements.
The line traces every month in the archive; lower is better. Gaps are months with no published data, never zeros. The 2020 and 2021 readings reflect the pandemic, not normal service.
Every month since 2018, including gaps and suppressed cells
| Month | Disruption on arrivals |
|---|---|
| Jan 2018 | 28.9% of 211 movements |
| Feb 2018 | 21.5% of 205 movements |
| Mar 2018 | 23.6% of 233 movements |
| Apr 2018 | 23.3% of 215 movements |
| May 2018 | 14.7% of 225 movements |
| Jun 2018 | 18.7% of 214 movements |
| Jul 2018 | 21.9% of 219 movements |
| Aug 2018 | 14.8% of 209 movements |
| Sep 2018 | 19.4% of 211 movements |
| Oct 2018 | 22.5% of 227 movements |
| Nov 2018 | 24.6% of 228 movements |
| Dec 2018 | 31.1% of 209 movements |
| Jan 2019 | 10.3% of 214 movements |
| Feb 2019 | 19.4% of 201 movements |
| Mar 2019 | 24.2% of 231 movements |
| Apr 2019 | 8.1% of 223 movements |
| May 2019 | 12.2% of 222 movements |
| Jun 2019 | 26.4% of 212 movements |
| Jul 2019 | 21.1% of 223 movements |
| Aug 2019 | 21.6% of 218 movements |
| Sep 2019 | 23.2% of 203 movements |
| Oct 2019 | 28.8% of 226 movements |
| Nov 2019 | 11.5% of 226 movements |
| Dec 2019 | 15.2% of 210 movements |
| Jan 2020 | 7.6% of 223 movements |
| Feb 2020 | 33.0% of 212 movements |
| Mar 2020 | 7.5% of 161 movements |
| Apr 2020 | suppressed: fewer than twenty movements |
| May 2020 | suppressed: fewer than twenty movements |
| Jun 2020 | 10.0% of 20 movements — small sample, not ranked |
| Jul 2020 | 2.7% of 37 movements — small sample, not ranked |
| Aug 2020 | 13.2% of 53 movements |
| Sep 2020 | 2.7% of 73 movements |
| Oct 2020 | 7.3% of 109 movements |
| Nov 2020 | 18.4% of 38 movements — small sample, not ranked |
| Dec 2020 | 26.9% of 26 movements — small sample, not ranked |
| Jan 2021 | suppressed: fewer than twenty movements |
| Feb 2021 | suppressed: fewer than twenty movements |
| Mar 2021 | suppressed: fewer than twenty movements |
| Apr 2021 | 4.3% of 23 movements — small sample, not ranked |
| May 2021 | 16.0% of 25 movements — small sample, not ranked |
| Jun 2021 | 15.0% of 20 movements — small sample, not ranked |
| Jul 2021 | suppressed: fewer than twenty movements |
| Aug 2021 | no events in 25 movements — small sample, not ranked |
| Sep 2021 | 6.6% of 61 movements |
| Oct 2021 | 17.0% of 88 movements |
| Nov 2021 | 6.0% of 116 movements |
| Dec 2021 | 14.0% of 93 movements |
| Jan 2022 | 7.5% of 53 movements |
| Feb 2022 | 10.7% of 56 movements |
| Mar 2022 | 20.5% of 156 movements |
| Apr 2022 | 17.7% of 158 movements |
| May 2022 | 31.7% of 186 movements |
| Jun 2022 | 45.1% of 162 movements |
| Jul 2022 | 40.0% of 150 movements |
| Aug 2022 | 22.1% of 136 movements |
| Sep 2022 | 48.2% of 137 movements |
| Oct 2022 | 41.2% of 148 movements |
| Nov 2022 | 16.3% of 196 movements |
| Dec 2022 | 33.2% of 187 movements |
| Jan 2023 | 18.3% of 180 movements |
| Feb 2023 | 17.8% of 180 movements |
| Mar 2023 | 34.4% of 209 movements |
| Apr 2023 | 28.9% of 187 movements |
| May 2023 | 33.0% of 200 movements |
| Jun 2023 | 38.9% of 175 movements |
| Jul 2023 | 45.4% of 185 movements |
| Aug 2023 | 35.6% of 188 movements |
| Sep 2023 | 51.7% of 180 movements |
| Oct 2023 | 49.3% of 207 movements |
| Nov 2023 | 25.0% of 220 movements |
| Dec 2023 | 50.0% of 208 movements |
| Jan 2024 | 20.1% of 194 movements |
| Feb 2024 | 27.1% of 210 movements |
| Mar 2024 | 30.3% of 221 movements |
| Apr 2024 | 38.9% of 190 movements |
| May 2024 | 48.2% of 199 movements |
| Jun 2024 | 42.0% of 176 movements |
| Jul 2024 | 51.6% of 192 movements |
| Aug 2024 | 43.2% of 190 movements |
| Sep 2024 | 60.8% of 186 movements |
| Oct 2024 | 37.3% of 209 movements |
| Nov 2024 | 19.7% of 213 movements |
| Dec 2024 | 30.1% of 209 movements |
| Jan 2025 | 19.5% of 210 movements |
| Feb 2025 | 5.8% of 191 movements |
| Mar 2025 | 20.1% of 209 movements |
| Apr 2025 | 14.9% of 195 movements |
| May 2025 | 18.9% of 190 movements |
| Jun 2025 | 21.7% of 180 movements |
| Jul 2025 | 24.7% of 178 movements |
| Aug 2025 | 26.7% of 176 movements |
| Sep 2025 | 45.7% of 186 movements |
| Oct 2025 | 29.5% of 200 movements |
| Nov 2025 | 16.8% of 208 movements |
| Dec 2025 | 23.9% of 213 movements |
| Jan 2026 | 37.2% of 183 movements |
| Feb 2026 | 19.7% of 183 movements |
| Mar 2026 | 14.7% of 204 movements |
| Apr 2026 | 16.3% of 190 movements |
| May 2026 | 23.1% of 182 movements |
| Jun 2026 | 29.8% of 168 movements |
What did the big disruptions actually do here?
Each named event below is shown against this route’s own baseline for the twelve months before it, and against how long the route took to get back to that baseline.
A month worse than baseline is not proof the named event caused it: the open data carry no delay-cause field at all. Some events sit near the edge of the archive, which limits how long a recovery can be traced.
| Event | Direction | Disruption that month | Baseline before | Return to baseline |
|---|---|---|---|---|
| Pandemic regime · Jun 2020 | Arrivals | 10.0% of 20 movements — small sample, not ranked | no complete baseline | not enough data: needs a complete baseline and a publishable event month |
| Pandemic regime · Jun 2020 | Departures | 10.0% of 20 movements — small sample, not ranked | no complete baseline | not enough data: needs a complete baseline and a publishable event month |
| Summer 2022 breakdown · Jul 2022 | Arrivals | 40.0% of 150 movements | no complete baseline | not enough data: needs a complete baseline and a publishable event month |
| Summer 2022 breakdown · Jul 2022 | Departures | 54.7% of 148 movements | no complete baseline | not enough data: needs a complete baseline and a publishable event month |
| NATS system failure · Aug 2023 | Arrivals | 35.6% of 188 movements | 31.5% across 2,120 flights | returned after 3 months |
| NATS system failure · Aug 2023 | Departures | 46.8% of 188 movements | 41.5% across 2,122 flights | returned after 3 months |
| Heathrow fire closure · Mar 2025 | Arrivals | 20.1% of 209 movements | 35.6% across 2,386 flights | returned the next month |
| Heathrow fire closure · Mar 2025 | Departures | 22.5% of 209 movements | 35.3% across 2,387 flights | returned the next month |
Definitions, denominators and limits
The baseline is the unweighted mean share over the twelve preceding calendar months. The return window is the following eight months, up to the end of the archive. Return means the first observed value at or below the baseline; it is not the duration of the disruption itself. If the event month is already below the baseline, counting still starts the month after. Gaps and suppressed cells are not treated as zeros or as recovery.
Which time of year has historically been hardest?
September has historically been the hardest month on this route: in a typical September, 46.9% of arrivals were disrupted, measured across 6 Septembers in the archive. April has been the calmest, at 17.7% across 7 Aprils.
Even September has ranged from 19.4% to 60.8% in different years, so this is a record of what happened, not a forecast of what will. Lower is better throughout.
Each cell is one calendar month of one year; the number is the share of that month’s arrivals that were disrupted. Darker means worse. A blank cell means no published data, not zero.
Month-by-month table: median, observed range and sample
| Month | Median | Observed range | Sample |
|---|---|---|---|
| Jan | 19.5% | 7.5–37.2% | 7 months, 1,245 flights |
| Feb | 19.4% | 5.8–27.1% | 7 months, 1,226 flights |
| Mar | 23.6% | 14.7–34.4% | 7 months, 1,463 flights |
| Apr | 17.7% | 8.1–38.9% | 7 months, 1,358 flights |
| May | 23.1% | 12.2–48.2% | 7 months, 1,404 flights |
| Jun | 29.8% | 18.7–45.1% | 7 months, 1,287 flights |
| Jul | 32.4% | 21.1–51.6% | 6 months, 1,147 flights |
| Aug | 24.4% | 14.8–43.2% | 6 months, 1,117 flights |
| Sep | 46.9% | 19.4–60.8% | 6 months, 1,103 flights |
| Oct | 33.4% | 22.5–49.3% | 6 months, 1,217 flights |
| Nov | 18.3% | 11.5–25.0% | 6 months, 1,291 flights |
| Dec | 30.6% | 15.2–50.0% | 6 months, 1,236 flights |
Definitions, denominators and limits
The matrix shows the last eight calendar years, including an incomplete final year; the start of the archive is kept in the history above. Seasonal summaries use the whole available archive, excluding the pandemic regime 2020–2021; this is an observed range, not a forecast. Zero events, missing data and suppressed cells are marked separately. † marks a small sample, described but not ranked. For ranges the colour follows the upper bound.
Which airline has the better record here?
On the published record there is no clear winner: British Airways 20.5% of 1,298 movements, Eurowings Luftverkehrs 32.1% of 973 movements. Observed shares differ; the mix of operations is not matched, so no causal conclusion follows.
Figures cover arrivals, July 2025 to June 2026; lower is better in every column. Carriers with fewer than twenty published flights are suppressed rather than shown as zero. The page makes no ranking: the operations behind these shares are not matched for aircraft, time of day or season.
Airline comparison table: operations, cancellations, three-hour delays and data quality
| Airline | Operations | Disruption | Cancellations | >180 min | Data quality |
|---|---|---|---|---|---|
| British Airways | 1,298 | 20.5% of 1,298 movements | 1.2% of 1,298 movements | 0.5% of 1,298 movements | descriptive comparison |
| Eurowings Luftverkehrs | 973 | 32.1% of 973 movements | 0.8% of 973 movements | 0.3% of 973 movements | descriptive comparison |
| Garuda Indonesia | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Germanwings | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Tuifly (Germany) | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
The noise check is a descriptive approximation assuming independent operations. Delay correlation and mix differences are not estimated; no ranking is derived.
Would another UK airport have been better?
Among UK airports flying to this city with enough flights to publish, LGW had the lowest disruption share at 39.7% of 292 movements and MAN the highest at 46.0% of 354 movements. This route sits at 25.5% of 2,271 movements.
Each figure is arrivals into that UK airport, all carriers combined, over the same twelve months. It is a historical record, not a recommendation about where to fly from, and it says nothing about getting to or from each airport on the ground.
Airport comparison table: operations, cancellations, three-hour delays and data quality
| Other UK airport to the same city | Operations | Disruption | Cancellations | >180 min | Data quality |
|---|---|---|---|---|---|
| Bfs ↔ Hamburg | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Bhx ↔ Hamburg | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Brs ↔ Hamburg | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Cwl ↔ Hamburg | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Doncaster-Sheffield ↔ Hamburg | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Edi ↔ Hamburg | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Ema ↔ Hamburg | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Ext ↔ Hamburg | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Jer ↔ Hamburg | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Lcy ↔ Hamburg | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Lgw ↔ Hamburg | 292 | 39.7% of 292 movements | 1.0% of 292 movements | no events in 292 movements | descriptive comparison |
| Lpl ↔ Hamburg | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Ltn ↔ Hamburg | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Man ↔ Hamburg | 354 | 46.0% of 354 movements | 1.4% of 354 movements | 0.8% of 354 movements | descriptive comparison |
| Ncl ↔ Hamburg | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Sou ↔ Hamburg | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Stn ↔ Hamburg | 465 | 40.0% of 465 movements | no events in 465 movements | 0.9% of 465 movements | descriptive comparison |
Does the direction you are flying change anything?
Barely: arrivals into LHR ran 25.5% of 2,271 movements disrupted, departures 27.9% of 2,270 movements.
It matters legally as well as practically: a departure from the UK and an arrival into the UK on a UK or EU carrier fall under different conditions, and a departure delay does not establish a late arrival at your final destination.
Arrivals and departures side by side
| Direction | Disruption | Cancellations | Over three hours |
|---|---|---|---|
| Arrivals into LHR | 25.5% of 2,271 movements | 1.0% of 2,271 movements | 0.4% of 2,271 movements |
| Departures from LHR | 27.9% of 2,270 movements | 1.1% of 2,270 movements | 0.3% of 2,270 movements |
Definitions, denominators and limits
How many flights here crossed the three-hour mark?
The table below counts arrivals and departures that ran more than three hours late — the threshold that is one of the conditions for compensation — across the whole archive and within the last six years.
The pound figure beside each count is arithmetic, not money anyone received: it is the count multiplied by the maximum statutory amount for this distance band. Whether any of those flights actually qualified is not knowable from this data.
| Direction | Window | Flights over three hours | Arithmetic statutory ceiling |
|---|---|---|---|
| Arrivals | Whole archive · Jan 2018–Jun 2026 | 47 flights out of 16,524 | 47 × £220 = £10,340 |
| Arrivals | Last 72 months · Jul 2020–Jun 2026 | 38 flights out of 10,693 | 38 × £220 = £8,360 |
| Departures | Whole archive · Jan 2018–Jun 2026 | 28 flights out of 16,508 | 28 × £220 = £6,160 |
| Departures | Last 72 months · Jul 2020–Jun 2026 | 21 flights out of 10,680 | 21 × £220 = £4,620 |
Definitions, denominators and limits
Full formula: the count is the sum of the two tail buckets across months, carriers and service types in one direction; the ceiling is that count multiplied by the maximum statutory amount for the distance band. The condition is: if every such delay had been the carrier's fault and a claim had been filed on every one of them.
This is conditional arithmetic over operations: passenger numbers, legal applicability and the number of claims are all unknown. For departures it is an arithmetic scenario only, because arrival at the final point is not observed. For long routes the maximum ceiling is used; any reduction in the payable amount is not calculated.
The archive window is counted from the last month of data, not from today: this is not a limitation check for an individual case. The CAA states six years for England and Wales and five for Scotland. CAA: time limits and how to complain. Information, not a legal service.
The facts about this route
Route reference table: codes, distance, frequency, archive span
| Field | Value |
|---|---|
| UK airport | HEATHROW · LHR |
| Final point / country | HAMBURG / GERMANY |
| Final point codes | HAM / EDDH |
| Great-circle distance | 745 km |
| Maximum statutory amount for the band | £220 |
| Average operated arrivals per day | 6.16 |
| Presence in the latest twelve-month window | operations present in every month of the latest twelve-month window |
| First and last active month | Jan 2018–Jun 2026 |
| Months with operations in the archive | 100 |
origin_destination is the final point of the CAA service, not evidence of a nonstop connection. The distance joins the coordinates of the named airports; the actual track is unknown. Frequency describes published operations.
What this data cannot tell you
Delay cause is not published in the regulator's open data. Monthly aggregates describe a population, not a specific flight. Cells below twenty operations are suppressed; twenty to forty-nine are descriptive only and not ranked. Arrivals and departures do not add up. Cancellations are short-notice only, by the CAA definition. A movement is not the same as a scheduled flight.
0 operations (0.00%) excluded because their published percentages could not be reconciled to whole numbers. Excluded operations enter neither the numerator nor the denominator. Outcome figures and comparisons are unavailable when the excluded share exceeds fifteen percent.
Data-quality counters for this route
Zero observed events does not mean zero risk. Operator coverage against the Summary file is not established in this record; comparisons are limited to the published population.
Unmatched records: 0; all recorded operations: 2,271; excluded by quarantine: 0.
Quick answers
How often is this route disrupted?
25.5% of 2,271 movements over July 2025 to June 2026. Arrivals into the UK airport; all published carriers.
How many flights are cancelled at short notice?
1.0% of 2,271 movements in the same window.
How many delays crossed three hours?
0.4% of 2,271 movements in the same window; these are observed movements, not a count of claims.
What does the delay distribution look like?
chronically slightly late. The class compares the tail with short delays across routes in the corpus.
What distance is used?
745 km, great-circle.
Can compensation entitlement be established here?
No. The cause and the circumstances of an individual flight are unknown. Official CAA conditions.
Why do some cells say "no data"?
That month is absent from the published series. Small cells carry a separate "suppressed" marker; a gap is never replaced by a zero.
How this was calculated
Dataset version, input hashes and reconstruction rules
Dataset version: 396da8dde2874f14; method route-record-v2.1.
Versioned register of every number and the entity map · Input hashes · Correction log · Reconstruction and formulas.
Reconstruction: integer counts inside the rounding bounds of shares of D, summing to M. Ambiguity is preserved as a range of feasible counts; non-convergence stays in quarantine. The map of codes and coordinates is pinned by hash alongside the data. Raw CSV files are not included in the published output.
Your trip has already gone wrong — what now?
The official route to complain
Contact the airline first, then the relevant ADR body or the CAA. The right to care is assessed separately from compensation; time limits and circumstances are checked case by case. CAA: how to complain.