How often are these flights late or cancelled?
LHR ↔ DUSSELDORF
In the twelve months from July 2025 to June 2026, 22.5% of 2,874 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, 77.5% of 2,874 movements arrived on time by the industry's fifteen-minute standard. Severe delays were rarer: about one arrival in every 479 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, 22.5% of 2,874 movements were disrupted and 0.8% of 2,874 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 |
|---|---|---|---|
| 22.5% of 2,874 movements | 0.8% of 2,874 movements | 20.5–52.1 min; N of delayed flights=624–1,449 | 2,874 |
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: 0.8% of 2,874 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 | 21.7% of 2,874 movements | 624 | 4.6 |
| >30 min | 10.8% of 2,874 movements | 310 | 9.3 |
| >60 min | 3.5% of 2,874 movements | 100 | 28.7 |
| >120 min | 0.5% of 2,874 movements | 15 | 191.6 |
| >180 min | 0.2% of 2,874 movements | 6 | 479.0 |
| >360 min | 0.0% of 2,874 movements | 1 | 2,874.0 |
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.0115; 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, no events in 74 movements. Worst month: Sep 2023, 54.1% of 218 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 | 17.8% of 304 movements |
| Feb 2018 | 21.9% of 274 movements |
| Mar 2018 | 22.5% of 302 movements |
| Apr 2018 | 24.1% of 282 movements |
| May 2018 | 19.8% of 293 movements |
| Jun 2018 | 21.2% of 278 movements |
| Jul 2018 | 23.1% of 286 movements |
| Aug 2018 | 22.0% of 287 movements |
| Sep 2018 | 24.2% of 281 movements |
| Oct 2018 | 23.3% of 296 movements |
| Nov 2018 | 18.4% of 294 movements |
| Dec 2018 | 27.3% of 275 movements |
| Jan 2019 | 13.2% of 272 movements |
| Feb 2019 | 11.5% of 260 movements |
| Mar 2019 | 24.0% of 300 movements |
| Apr 2019 | 10.1% of 277 movements |
| May 2019 | 9.5% of 285 movements |
| Jun 2019 | 28.7% of 272 movements |
| Jul 2019 | 23.5% of 289 movements |
| Aug 2019 | 21.9% of 283 movements |
| Sep 2019 | 23.7% of 262 movements |
| Oct 2019 | 24.7% of 288 movements |
| Nov 2019 | 7.7% of 284 movements |
| Dec 2019 | 14.2% of 274 movements |
| Jan 2020 | 5.4% of 280 movements |
| Feb 2020 | 32.3% of 260 movements |
| Mar 2020 | 6.6% of 197 movements |
| Apr 2020 | no events in 24 movements — small sample, not ranked |
| May 2020 | suppressed: fewer than twenty movements |
| Jun 2020 | no events in 24 movements — small sample, not ranked |
| Jul 2020 | 1.8% of 55 movements |
| Aug 2020 | 5.6% of 54 movements |
| Sep 2020 | no events in 74 movements |
| Oct 2020 | 2.2% of 134 movements |
| Nov 2020 | 5.0% of 60 movements |
| Dec 2020 | 7.3% of 41 movements — small sample, not ranked |
| Jan 2021 | no events in 24 movements — small sample, not ranked |
| Feb 2021 | suppressed: fewer than twenty movements |
| Mar 2021 | no events in 23 movements — small sample, not ranked |
| Apr 2021 | 3.8% of 26 movements — small sample, not ranked |
| May 2021 | 4.0% of 25 movements — small sample, not ranked |
| Jun 2021 | suppressed: fewer than twenty movements |
| Jul 2021 | 20.0% of 20 movements — small sample, not ranked |
| Aug 2021 | 11.1% of 45 movements — small sample, not ranked |
| Sep 2021 | 13.4% of 82 movements |
| Oct 2021 | 14.4% of 97 movements |
| Nov 2021 | 5.4% of 130 movements |
| Dec 2021 | 9.8% of 112 movements |
| Jan 2022 | 5.1% of 59 movements |
| Feb 2022 | 19.7% of 76 movements |
| Mar 2022 | 13.4% of 186 movements |
| Apr 2022 | 20.8% of 183 movements |
| May 2022 | 26.7% of 206 movements |
| Jun 2022 | 44.8% of 183 movements |
| Jul 2022 | 45.5% of 165 movements |
| Aug 2022 | 23.6% of 195 movements |
| Sep 2022 | 44.3% of 176 movements |
| Oct 2022 | 30.6% of 160 movements |
| Nov 2022 | 16.9% of 219 movements |
| Dec 2022 | 27.8% of 205 movements |
| Jan 2023 | 17.0% of 188 movements |
| Feb 2023 | 18.0% of 205 movements |
| Mar 2023 | 36.4% of 225 movements |
| Apr 2023 | 35.8% of 215 movements |
| May 2023 | 32.2% of 236 movements |
| Jun 2023 | 42.3% of 213 movements |
| Jul 2023 | 40.5% of 222 movements |
| Aug 2023 | 42.2% of 225 movements |
| Sep 2023 | 54.1% of 218 movements |
| Oct 2023 | 35.8% of 240 movements |
| Nov 2023 | 19.5% of 241 movements |
| Dec 2023 | 37.6% of 237 movements |
| Jan 2024 | 19.5% of 220 movements |
| Feb 2024 | 20.5% of 229 movements |
| Mar 2024 | 19.1% of 246 movements |
| Apr 2024 | 31.3% of 195 movements |
| May 2024 | 34.7% of 202 movements |
| Jun 2024 | 37.8% of 196 movements |
| Jul 2024 | 50.5% of 206 movements |
| Aug 2024 | 40.4% of 203 movements |
| Sep 2024 | 52.6% of 194 movements |
| Oct 2024 | 34.1% of 217 movements |
| Nov 2024 | 15.7% of 261 movements |
| Dec 2024 | 30.5% of 259 movements |
| Jan 2025 | 18.9% of 254 movements |
| Feb 2025 | 8.9% of 236 movements |
| Mar 2025 | 11.9% of 253 movements |
| Apr 2025 | 11.8% of 212 movements |
| May 2025 | 17.7% of 209 movements |
| Jun 2025 | 13.5% of 200 movements |
| Jul 2025 | 23.4% of 205 movements |
| Aug 2025 | 22.5% of 204 movements |
| Sep 2025 | 33.2% of 199 movements |
| Oct 2025 | 20.7% of 227 movements |
| Nov 2025 | 13.7% of 270 movements |
| Dec 2025 | 24.3% of 288 movements |
| Jan 2026 | 32.2% of 242 movements |
| Feb 2026 | 11.2% of 249 movements |
| Mar 2026 | 16.1% of 279 movements |
| Apr 2026 | 17.7% of 243 movements |
| May 2026 | 26.7% of 240 movements |
| Jun 2026 | 32.9% of 228 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 | no events in 24 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 | no events in 26 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 | 45.5% of 165 movements | 17.1% across 1,379 flights | returned after 4 months |
| Summer 2022 breakdown · Jul 2022 | Departures | 47.9% of 165 movements | 20.8% across 1,374 flights | still above it 8 months later |
| NATS system failure · Aug 2023 | Arrivals | 42.2% of 225 movements | 30.5% across 2,459 flights | returned after 3 months |
| NATS system failure · Aug 2023 | Departures | 49.8% of 225 movements | 37.7% across 2,461 flights | returned after 2 months |
| Heathrow fire closure · Mar 2025 | Arrivals | 11.9% of 253 movements | 31.2% across 2,669 flights | returned the next month |
| Heathrow fire closure · Mar 2025 | Departures | 13.4% of 253 movements | 33.7% across 2,669 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, 38.7% of arrivals were disrupted, measured across 6 Septembers in the archive. November has been the calmest, at 16.3% across 6 Novembers.
Even September has ranged from 23.7% to 54.1% 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 | 17.8% | 5.1–32.2% | 7 months, 1,539 flights |
| Feb | 18.0% | 8.9–21.9% | 7 months, 1,529 flights |
| Mar | 19.1% | 11.9–36.4% | 7 months, 1,791 flights |
| Apr | 20.8% | 10.1–35.8% | 7 months, 1,607 flights |
| May | 26.7% | 9.5–34.7% | 7 months, 1,671 flights |
| Jun | 32.9% | 13.5–44.8% | 7 months, 1,570 flights |
| Jul | 32.0% | 23.1–50.5% | 6 months, 1,373 flights |
| Aug | 23.1% | 21.9–42.2% | 6 months, 1,397 flights |
| Sep | 38.7% | 23.7–54.1% | 6 months, 1,330 flights |
| Oct | 27.6% | 20.7–35.8% | 6 months, 1,428 flights |
| Nov | 16.3% | 7.7–19.5% | 6 months, 1,569 flights |
| Dec | 27.5% | 14.2–37.6% | 6 months, 1,538 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 18.4% of 1,324 movements, Eurowings Luftverkehrs 26.0% of 1,550 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 |
|---|---|---|---|---|---|
| Air Berlin | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| British Airways | 1,324 | 18.4% of 1,324 movements | 1.1% of 1,324 movements | 0.2% of 1,324 movements | descriptive comparison |
| Eurowings Luftverkehrs | 1,550 | 26.0% of 1,550 movements | 0.5% of 1,550 movements | 0.2% of 1,550 movements | descriptive comparison |
| Germanwings | 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, BHX had the lowest disruption share at 21.7% of 609 movements and LGW the highest at 28.7% of 240 movements. This route sits at 22.5% of 2,874 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 ↔ Dusseldorf | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Bhx ↔ Dusseldorf | 609 | 21.7% of 609 movements | 1.8% of 609 movements | 0.2% of 609 movements | descriptive comparison |
| Boh ↔ Dusseldorf | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Brs ↔ Dusseldorf | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Cwl ↔ Dusseldorf | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Doncaster-Sheffield ↔ Dusseldorf | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Edi ↔ Dusseldorf | 278 | 28.4% of 278 movements | 0.4% of 278 movements | no events in 278 movements | descriptive comparison |
| Ema ↔ Dusseldorf | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Ext ↔ Dusseldorf | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Gla ↔ Dusseldorf | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Jer ↔ Dusseldorf | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Lba ↔ Dusseldorf | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Lcy ↔ Dusseldorf | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Lgw ↔ Dusseldorf | 240 | 28.7% of 240 movements | 0.8% of 240 movements | no events in 240 movements | descriptive comparison |
| Lpl ↔ Dusseldorf | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Ltn ↔ Dusseldorf | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Man ↔ Dusseldorf | 693 | 24.1% of 693 movements | 1.0% of 693 movements | no events in 693 movements | descriptive comparison |
| Ncl ↔ Dusseldorf | 108 | 24.1% of 108 movements | 0.9% of 108 movements | no events in 108 movements | descriptive comparison |
| Sen ↔ Dusseldorf | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Sou ↔ Dusseldorf | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Stn ↔ Dusseldorf | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
Does the direction you are flying change anything?
Barely: arrivals into LHR ran 22.5% of 2,874 movements disrupted, departures 24.4% of 2,874 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 | 22.5% of 2,874 movements | 0.8% of 2,874 movements | 0.2% of 2,874 movements |
| Departures from LHR | 24.4% of 2,874 movements | 0.7% of 2,874 movements | 0.2% of 2,874 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 20,171 | 47 × £220 = £10,340 |
| Arrivals | Last 72 months · Jul 2020–Jun 2026 | 34 flights out of 12,570 | 34 × £220 = £7,480 |
| Departures | Whole archive · Jan 2018–Jun 2026 | 30 flights out of 20,166 | 30 × £220 = £6,600 |
| Departures | Last 72 months · Jul 2020–Jun 2026 | 21 flights out of 12,564 | 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 | DUSSELDORF / GERMANY |
| Final point codes | DUS / EDDL |
| Great-circle distance | 502 km |
| Maximum statutory amount for the band | £220 |
| Average operated arrivals per day | 7.81 |
| 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 | 102 |
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,874; excluded by quarantine: 0.
Quick answers
How often is this route disrupted?
22.5% of 2,874 movements over July 2025 to June 2026. Arrivals into the UK airport; all published carriers.
How many flights are cancelled at short notice?
0.8% of 2,874 movements in the same window.
How many delays crossed three hours?
0.2% of 2,874 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?
502 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.