How often are these flights late or cancelled?
LHR ↔ MILAN LINATE
In the twelve months from July 2025 to June 2026, 24.1% of 2,476 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, 75.9% of 2,476 movements arrived on time by the industry's fifteen-minute standard. Severe delays were rarer: about one arrival in every 225 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, 24.1% of 2,476 movements were disrupted and 1.5% of 2,476 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 |
|---|---|---|---|
| 24.1% of 2,476 movements | 1.5% of 2,476 movements | 24.6–57.2 min; N of delayed flights=560–1,201 | 2,476 |
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.5% of 2,476 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 | 22.6% of 2,476 movements | 560 | 4.4 |
| >30 min | 11.3% of 2,476 movements | 280 | 8.8 |
| >60 min | 4.7% of 2,476 movements | 116 | 21.3 |
| >120 min | 1.3% of 2,476 movements | 33 | 75.0 |
| >180 min | 0.4% of 2,476 movements | 11 | 225.1 |
| >360 min | 0.0% of 2,476 movements | 1 | 2,476.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?
This route runs late less often than most, but when it does go wrong it tends to go badly wrong: its long delays are heavier 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.0248; 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: May 2021, no events in 54 movements. Worst month: Sep 2024, 62.8% of 129 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.5% of 249 movements |
| Feb 2018 | 21.3% of 239 movements |
| Mar 2018 | 22.5% of 267 movements |
| Apr 2018 | 23.8% of 248 movements |
| May 2018 | 26.4% of 254 movements |
| Jun 2018 | 36.1% of 249 movements |
| Jul 2018 | 35.2% of 256 movements |
| Aug 2018 | 22.6% of 248 movements |
| Sep 2018 | 16.5% of 248 movements |
| Oct 2018 | 23.7% of 257 movements |
| Nov 2018 | 18.1% of 254 movements |
| Dec 2018 | 35.7% of 252 movements |
| Jan 2019 | 8.2% of 245 movements |
| Feb 2019 | 14.8% of 243 movements |
| Mar 2019 | 24.1% of 266 movements |
| Apr 2019 | 15.3% of 248 movements |
| May 2019 | 14.9% of 255 movements |
| Jun 2019 | 29.7% of 249 movements |
| Jul 2019 | 32.7% of 214 movements |
| Aug 2019 | suppressed: fewer than twenty movements |
| Sep 2019 | suppressed: fewer than twenty movements |
| Oct 2019 | 22.2% of 45 movements — small sample, not ranked |
| Nov 2019 | 12.5% of 273 movements |
| Dec 2019 | 21.1% of 284 movements |
| Jan 2020 | 14.1% of 283 movements |
| Feb 2020 | 39.6% of 268 movements |
| Mar 2020 | 30.9% of 68 movements |
| Apr 2020 | suppressed: fewer than twenty movements |
| May 2020 | suppressed: fewer than twenty movements |
| Jun 2020 | suppressed: fewer than twenty movements |
| Jul 2020 | suppressed: fewer than twenty movements |
| Aug 2020 | 3.2% of 31 movements — small sample, not ranked |
| Sep 2020 | 2.6% of 38 movements — small sample, not ranked |
| Oct 2020 | 3.3% of 123 movements |
| Nov 2020 | 2.1% of 47 movements — small sample, not ranked |
| Dec 2020 | 22.7% of 44 movements — small sample, not ranked |
| Jan 2021 | 12.9% of 31 movements — small sample, not ranked |
| Feb 2021 | 16.0% of 25 movements — small sample, not ranked |
| Mar 2021 | 3.8% of 26 movements — small sample, not ranked |
| Apr 2021 | no events in 45 movements — small sample, not ranked |
| May 2021 | no events in 54 movements |
| Jun 2021 | 4.9% of 82 movements |
| Jul 2021 | 10.6% of 66 movements |
| Aug 2021 | 5.7% of 87 movements |
| Sep 2021 | 15.6% of 90 movements |
| Oct 2021 | 10.9% of 101 movements |
| Nov 2021 | 10.0% of 90 movements |
| Dec 2021 | 19.6% of 107 movements |
| Jan 2022 | 4.7% of 86 movements |
| Feb 2022 | 27.4% of 135 movements |
| Mar 2022 | 16.0% of 181 movements |
| Apr 2022 | 21.6% of 167 movements |
| May 2022 | 31.3% of 166 movements |
| Jun 2022 | 39.0% of 141 movements |
| Jul 2022 | 37.8% of 156 movements |
| Aug 2022 | 20.0% of 175 movements |
| Sep 2022 | 51.1% of 184 movements |
| Oct 2022 | 27.5% of 193 movements |
| Nov 2022 | 19.0% of 195 movements |
| Dec 2022 | 36.1% of 194 movements |
| Jan 2023 | 25.3% of 182 movements |
| Feb 2023 | 18.1% of 171 movements |
| Mar 2023 | 47.1% of 191 movements |
| Apr 2023 | 44.6% of 157 movements |
| May 2023 | 41.1% of 146 movements |
| Jun 2023 | 48.6% of 142 movements |
| Jul 2023 | 54.1% of 220 movements |
| Aug 2023 | 35.8% of 190 movements |
| Sep 2023 | 47.2% of 193 movements |
| Oct 2023 | 45.0% of 209 movements |
| Nov 2023 | 28.8% of 205 movements |
| Dec 2023 | 42.9% of 210 movements |
| Jan 2024 | 22.9% of 214 movements |
| Feb 2024 | 22.2% of 185 movements |
| Mar 2024 | 23.8% of 210 movements |
| Apr 2024 | 43.4% of 129 movements |
| May 2024 | 49.2% of 132 movements |
| Jun 2024 | 42.9% of 126 movements |
| Jul 2024 | 49.2% of 130 movements |
| Aug 2024 | 48.9% of 133 movements |
| Sep 2024 | 62.8% of 129 movements |
| Oct 2024 | 33.6% of 137 movements |
| Nov 2024 | 20.3% of 153 movements |
| Dec 2024 | 35.9% of 156 movements |
| Jan 2025 | 24.7% of 154 movements |
| Feb 2025 | 8.5% of 142 movements |
| Mar 2025 | 17.6% of 159 movements |
| Apr 2025 | 14.2% of 197 movements |
| May 2025 | 21.2% of 203 movements |
| Jun 2025 | 26.2% of 183 movements |
| Jul 2025 | 39.8% of 191 movements |
| Aug 2025 | 24.1% of 187 movements |
| Sep 2025 | 45.4% of 196 movements |
| Oct 2025 | 20.4% of 211 movements |
| Nov 2025 | 13.4% of 216 movements |
| Dec 2025 | 22.1% of 226 movements |
| Jan 2026 | 25.1% of 227 movements |
| Feb 2026 | 8.8% of 205 movements |
| Mar 2026 | 10.5% of 228 movements |
| Apr 2026 | 26.7% of 195 movements |
| May 2026 | 21.1% of 199 movements |
| Jun 2026 | 36.4% of 195 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 | suppressed: fewer than twenty movements | no complete baseline | not enough data: needs a complete baseline and a publishable event month |
| Pandemic regime · Jun 2020 | Departures | suppressed: fewer than twenty movements | no complete baseline | not enough data: needs a complete baseline and a publishable event month |
| Summer 2022 breakdown · Jul 2022 | Arrivals | 37.8% of 156 movements | 17.7% across 1,417 flights | still above it 8 months later |
| Summer 2022 breakdown · Jul 2022 | Departures | 44.9% of 158 movements | 27.3% across 1,407 flights | returned the next month |
| NATS system failure · Aug 2023 | Arrivals | 35.8% of 190 movements | 36.0% across 2,150 flights | returned after 3 months |
| NATS system failure · Aug 2023 | Departures | 37.2% of 188 movements | 38.1% across 2,154 flights | returned after 2 months |
| Heathrow fire closure · Mar 2025 | Arrivals | 17.6% of 159 movements | 36.9% across 1,731 flights | returned the next month |
| Heathrow fire closure · Mar 2025 | Departures | 28.3% of 159 movements | 30.3% across 1,732 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, 47.2% of arrivals were disrupted, measured across 5 Septembers in the archive. February has been the calmest, at 18.1% across 7 Februarys.
Even September has ranged from 16.5% to 62.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 | 24.7% | 4.7–28.5% | 7 months, 1,357 flights |
| Feb | 18.1% | 8.5–27.4% | 7 months, 1,320 flights |
| Mar | 22.5% | 10.5–47.1% | 7 months, 1,502 flights |
| Apr | 23.8% | 14.2–44.6% | 7 months, 1,341 flights |
| May | 26.4% | 14.9–49.2% | 7 months, 1,355 flights |
| Jun | 36.4% | 26.2–48.6% | 7 months, 1,285 flights |
| Jul | 38.8% | 32.7–54.1% | 6 months, 1,167 flights |
| Aug | 24.1% | 20.0–48.9% | 5 months, 933 flights |
| Sep | 47.2% | 16.5–62.8% | 5 months, 950 flights |
| Oct | 25.6% | 20.4–45.0% | 6 months, 1,052 flights |
| Nov | 18.5% | 12.5–28.8% | 6 months, 1,296 flights |
| Dec | 35.8% | 21.1–42.9% | 6 months, 1,322 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?
Only one carrier published enough flights here to report: British Airways Plc, 24.1% of 2,475 movements disrupted.
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 |
|---|---|---|---|---|---|
| (Ita) Italia Traspoto Aereo | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Alitalia (Cai) | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Ba Euroflyer British Airways | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| British Airways | 2,475 | 24.1% of 2,475 movements | 1.5% of 2,475 movements | 0.4% of 2,475 movements | descriptive comparison |
| Italia Traspoto Aereo | 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, LCY had the lowest disruption share at 10.9% of 2,334 movements and BHX the highest at 35.0% of 103 movements. This route sits at 24.1% of 2,476 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 |
|---|---|---|---|---|---|
| Bhd ↔ Milan-Linate | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Bhx ↔ Milan-Linate | 103 | 35.0% of 103 movements | no events in 103 movements | no events in 103 movements | descriptive comparison |
| Boh ↔ Milan-Linate | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Edi ↔ Milan-Linate | 365 | 17.3% of 365 movements | 1.4% of 365 movements | 0.5% of 365 movements | descriptive comparison |
| Ema ↔ Milan-Linate | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Lcy ↔ Milan-Linate | 2,334 | 10.9% of 2,334 movements | 0.9% of 2,334 movements | 0.1% of 2,334 movements | descriptive comparison |
| Lgw ↔ Milan-Linate | 559 | 32.2% of 559 movements | 0.4% of 559 movements | 0.7% of 559 movements | descriptive comparison |
| Ltn ↔ Milan-Linate | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Man ↔ Milan-Linate | 364 | 27.7% of 364 movements | 0.3% of 364 movements | 0.3% of 364 movements | descriptive comparison |
| Sen ↔ Milan-Linate | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Stn ↔ Milan-Linate | 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 24.1% of 2,476 movements disrupted, departures 21.7% of 2,476 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 | 24.1% of 2,476 movements | 1.5% of 2,476 movements | 0.4% of 2,476 movements |
| Departures from LHR | 21.7% of 2,476 movements | 1.1% of 2,476 movements | 0.2% of 2,476 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 | 56 flights out of 16,586 | 56 × £220 = £12,320 |
| Arrivals | Last 72 months · Jul 2020–Jun 2026 | 44 flights out of 10,624 | 44 × £220 = £9,680 |
| Departures | Whole archive · Jan 2018–Jun 2026 | 21 flights out of 16,570 | 21 × £220 = £4,620 |
| Departures | Last 72 months · Jul 2020–Jun 2026 | 16 flights out of 10,610 | 16 × £220 = £3,520 |
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 | MILAN (LINATE) / ITALY |
| Final point codes | LIN / LIML |
| Great-circle distance | 981 km |
| Maximum statutory amount for the band | £220 |
| Average operated arrivals per day | 6.68 |
| 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 | 96 |
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,476; excluded by quarantine: 0.
Quick answers
How often is this route disrupted?
24.1% of 2,476 movements over July 2025 to June 2026. Arrivals into the UK airport; all published carriers.
How many flights are cancelled at short notice?
1.5% of 2,476 movements in the same window.
How many delays crossed three hours?
0.4% of 2,476 movements in the same window; these are observed movements, not a count of claims.
What does the delay distribution look like?
rare but severe. The class compares the tail with short delays across routes in the corpus.
What distance is used?
981 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.