How often are these flights late or cancelled?
LHR ↔ GLASGOW
In the twelve months from July 2025 to June 2026, 15.2% of 3,553 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, 84.8% of 3,553 movements arrived on time by the industry's fifteen-minute standard. Severe delays were rarer: about one arrival in every 1,184 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, 15.2% of 3,553 movements were disrupted and 1.2% of 3,553 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 |
|---|---|---|---|
| 15.2% of 3,553 movements | 1.2% of 3,553 movements | 19.4–55.3 min; N of delayed flights=498–1,238 | 3,553 |
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.2% of 3,553 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 | 14.0% of 3,553 movements | 498 | 7.1 |
| >30 min | 7.1% of 3,553 movements | 251 | 14.2 |
| >60 min | 2.5% of 3,553 movements | 90 | 39.5 |
| >120 min | 0.5% of 3,553 movements | 19 | 187.0 |
| >180 min | 0.1% of 3,553 movements | 3 | 1,184.3 |
| >360 min | 0.0% of 3,553 movements | 1 | 3,553.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.0074; 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 88 movements. Worst month: Sep 2024, 49.1% of 279 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 | 21.2% of 236 movements |
| Feb 2018 | 15.5% of 220 movements |
| Mar 2018 | 21.2% of 264 movements |
| Apr 2018 | 22.8% of 276 movements |
| May 2018 | 10.1% of 286 movements |
| Jun 2018 | 9.9% of 274 movements |
| Jul 2018 | 20.3% of 281 movements |
| Aug 2018 | 13.4% of 283 movements |
| Sep 2018 | 10.9% of 265 movements |
| Oct 2018 | 27.2% of 283 movements |
| Nov 2018 | 28.7% of 240 movements |
| Dec 2018 | 29.9% of 224 movements |
| Jan 2019 | 10.1% of 228 movements |
| Feb 2019 | 15.7% of 210 movements |
| Mar 2019 | 28.7% of 244 movements |
| Apr 2019 | 8.0% of 262 movements |
| May 2019 | 10.3% of 262 movements |
| Jun 2019 | 20.2% of 247 movements |
| Jul 2019 | 20.2% of 247 movements |
| Aug 2019 | 21.6% of 273 movements |
| Sep 2019 | 15.1% of 238 movements |
| Oct 2019 | 20.9% of 263 movements |
| Nov 2019 | 17.6% of 262 movements |
| Dec 2019 | 14.6% of 274 movements |
| Jan 2020 | 7.8% of 283 movements |
| Feb 2020 | 39.1% of 271 movements |
| Mar 2020 | 8.5% of 211 movements |
| Apr 2020 | suppressed: fewer than twenty movements |
| May 2020 | suppressed: fewer than twenty movements |
| Jun 2020 | suppressed: fewer than twenty movements |
| Jul 2020 | 1.6% of 62 movements |
| Aug 2020 | 1.6% of 61 movements |
| Sep 2020 | no events in 88 movements |
| Oct 2020 | 1.6% of 128 movements |
| Nov 2020 | 5.4% of 56 movements |
| Dec 2020 | 8.8% of 80 movements |
| Jan 2021 | 11.1% of 63 movements |
| Feb 2021 | 2.1% of 48 movements — small sample, not ranked |
| Mar 2021 | no events in 54 movements |
| Apr 2021 | 5.0% of 60 movements |
| May 2021 | no events in 91 movements |
| Jun 2021 | 3.3% of 123 movements |
| Jul 2021 | 4.6% of 130 movements |
| Aug 2021 | 6.6% of 137 movements |
| Sep 2021 | 12.4% of 153 movements |
| Oct 2021 | 9.9% of 182 movements |
| Nov 2021 | 15.6% of 225 movements |
| Dec 2021 | 16.0% of 212 movements |
| Jan 2022 | 5.2% of 194 movements |
| Feb 2022 | 31.2% of 170 movements |
| Mar 2022 | 15.8% of 221 movements |
| Apr 2022 | 22.4% of 214 movements |
| May 2022 | 27.8% of 255 movements |
| Jun 2022 | 33.7% of 258 movements |
| Jul 2022 | 39.0% of 195 movements |
| Aug 2022 | 14.6% of 198 movements |
| Sep 2022 | 32.4% of 176 movements |
| Oct 2022 | 32.4% of 204 movements |
| Nov 2022 | 30.0% of 233 movements |
| Dec 2022 | 47.6% of 227 movements |
| Jan 2023 | 20.8% of 236 movements |
| Feb 2023 | 22.8% of 232 movements |
| Mar 2023 | 41.0% of 261 movements |
| Apr 2023 | 16.0% of 231 movements |
| May 2023 | 24.5% of 282 movements |
| Jun 2023 | 37.8% of 249 movements |
| Jul 2023 | 29.3% of 242 movements |
| Aug 2023 | 28.0% of 254 movements |
| Sep 2023 | 45.4% of 249 movements |
| Oct 2023 | 35.5% of 282 movements |
| Nov 2023 | 21.5% of 289 movements |
| Dec 2023 | 42.0% of 276 movements |
| Jan 2024 | 12.9% of 279 movements |
| Feb 2024 | 16.1% of 279 movements |
| Mar 2024 | 25.3% of 296 movements |
| Apr 2024 | 30.5% of 282 movements |
| May 2024 | 39.7% of 297 movements |
| Jun 2024 | 32.3% of 251 movements |
| Jul 2024 | 33.0% of 297 movements |
| Aug 2024 | 34.2% of 292 movements |
| Sep 2024 | 49.1% of 279 movements |
| Oct 2024 | 31.7% of 306 movements |
| Nov 2024 | 20.3% of 335 movements |
| Dec 2024 | 38.3% of 337 movements |
| Jan 2025 | 22.3% of 345 movements |
| Feb 2025 | 6.8% of 308 movements |
| Mar 2025 | 15.4% of 337 movements |
| Apr 2025 | 6.6% of 286 movements |
| May 2025 | 13.3% of 285 movements |
| Jun 2025 | 15.4% of 253 movements |
| Jul 2025 | 24.3% of 268 movements |
| Aug 2025 | 20.0% of 275 movements |
| Sep 2025 | 25.5% of 282 movements |
| Oct 2025 | 16.2% of 314 movements |
| Nov 2025 | 10.2% of 315 movements |
| Dec 2025 | 16.0% of 324 movements |
| Jan 2026 | 16.0% of 312 movements |
| Feb 2026 | 6.1% of 280 movements |
| Mar 2026 | 8.1% of 321 movements |
| Apr 2026 | 7.9% of 290 movements |
| May 2026 | 16.7% of 299 movements |
| Jun 2026 | 17.2% of 273 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 | 39.0% of 195 movements | 16.8% across 2,351 flights | returned the next month |
| Summer 2022 breakdown · Jul 2022 | Departures | 73.5% of 196 movements | 35.1% across 2,348 flights | still above it 8 months later |
| NATS system failure · Aug 2023 | Arrivals | 28.0% of 254 movements | 29.1% across 2,771 flights | returned after 3 months |
| NATS system failure · Aug 2023 | Departures | 48.4% of 254 movements | 52.3% across 2,767 flights | returned after 2 months |
| Heathrow fire closure · Mar 2025 | Arrivals | 15.4% of 337 movements | 30.3% across 3,625 flights | returned the next month |
| Heathrow fire closure · Mar 2025 | Departures | 17.6% of 336 movements | 31.9% across 3,626 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?
December has historically been the hardest month on this route: in a typical December, 34.1% of arrivals were disrupted, measured across 6 Decembers in the archive. February has been the calmest, at 15.7% across 7 Februarys.
Even December has ranged from 14.6% to 47.6% 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 | 16.0% | 5.2–22.3% | 7 months, 1,830 flights |
| Feb | 15.7% | 6.1–31.2% | 7 months, 1,699 flights |
| Mar | 21.2% | 8.1–41.0% | 7 months, 1,944 flights |
| Apr | 16.0% | 6.6–30.5% | 7 months, 1,841 flights |
| May | 16.7% | 10.1–39.7% | 7 months, 1,966 flights |
| Jun | 20.2% | 9.9–37.8% | 7 months, 1,805 flights |
| Jul | 26.8% | 20.2–39.0% | 6 months, 1,530 flights |
| Aug | 20.8% | 13.4–34.2% | 6 months, 1,575 flights |
| Sep | 29.0% | 10.9–49.1% | 6 months, 1,489 flights |
| Oct | 29.5% | 16.2–35.5% | 6 months, 1,652 flights |
| Nov | 20.9% | 10.2–30.0% | 6 months, 1,674 flights |
| Dec | 34.1% | 14.6–47.6% | 6 months, 1,662 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, 15.2% of 3,552 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 |
|---|---|---|---|---|---|
| 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 |
| Biman Bangladesh Airlines | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| British Airways | 3,552 | 15.2% of 3,552 movements | 1.2% of 3,552 movements | 0.1% of 3,552 movements | descriptive comparison |
| Loganair | 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 9.0% of 643 movements and BHD the highest at 24.1% of 644 movements. This route sits at 15.2% of 3,553 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 |
|---|---|---|---|---|---|
| Abz ↔ Glasgow | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Bfs ↔ Glasgow | 1,179 | 15.8% of 1,179 movements | 0.5% of 1,179 movements | 0.3% of 1,179 movements | descriptive comparison |
| Bhd ↔ Glasgow | 644 | 24.1% of 644 movements | 0.8% of 644 movements | 1.4% of 644 movements | descriptive comparison |
| Bhx ↔ Glasgow | 643 | 9.0% of 643 movements | 0.6% of 643 movements | 0.2% of 643 movements | descriptive comparison |
| Boh ↔ Glasgow | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Brs ↔ Glasgow | 1,027 | 22.7% of 1,027 movements | 1.0% of 1,027 movements | 0.1% of 1,027 movements | descriptive comparison |
| Cwl ↔ Glasgow | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Doncaster-Sheffield ↔ Glasgow | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Edi ↔ Glasgow | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Ema ↔ Glasgow | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Ext ↔ Glasgow | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Iom ↔ Glasgow | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Jer ↔ Glasgow | 156 | 19.2% of 156 movements | 0.6% of 156 movements | 0.6% of 156 movements | descriptive comparison |
| Lba ↔ Glasgow | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Lcy ↔ Glasgow | 1,391 | 14.7% of 1,391 movements | 1.6% of 1,391 movements | 0.4% of 1,391 movements | descriptive comparison |
| Lgw ↔ Glasgow | 1,717 | 19.9% of 1,717 movements | 0.2% of 1,717 movements | 0.2% of 1,717 movements | descriptive comparison |
| Lpl ↔ Glasgow | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Ltn ↔ Glasgow | 1,025 | 21.7% of 1,025 movements | 0.4% of 1,025 movements | 0.6% of 1,025 movements | descriptive comparison |
| Man ↔ Glasgow | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Mme ↔ Glasgow | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Ncl ↔ Glasgow | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Sen ↔ Glasgow | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed: fewer than twenty movements | suppressed |
| Sou ↔ Glasgow | 324 | 15.4% of 324 movements | 0.3% of 324 movements | no events in 324 movements | descriptive comparison |
| Stn ↔ Glasgow | 922 | 12.7% of 922 movements | 0.2% of 922 movements | 0.2% of 922 movements | descriptive comparison |
Does the direction you are flying change anything?
Yes: arrivals into LHR ran 15.2% of 3,553 movements disrupted, departures 22.0% of 3,553 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 | 15.2% of 3,553 movements | 1.2% of 3,553 movements | 0.1% of 3,553 movements |
| Departures from LHR | 22.0% of 3,553 movements | 1.0% of 3,553 movements | 0.0% of 3,553 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 | 61 flights out of 23,431 | 61 × £220 = £13,420 |
| Arrivals | Last 72 months · Jul 2020–Jun 2026 | 50 flights out of 16,478 | 50 × £220 = £11,000 |
| Departures | Whole archive · Jan 2018–Jun 2026 | 34 flights out of 23,423 | 34 × £220 = £7,480 |
| Departures | Last 72 months · Jul 2020–Jun 2026 | 27 flights out of 16,473 | 27 × £220 = £5,940 |
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 | GLASGOW / UNITED KINGDOM |
| Final point codes | GLA / EGPF |
| Great-circle distance | 555 km |
| Maximum statutory amount for the band | £220 |
| Average operated arrivals per day | 9.62 |
| 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: 3,553; excluded by quarantine: 0.
Quick answers
How often is this route disrupted?
15.2% of 3,553 movements over July 2025 to June 2026. Arrivals into the UK airport; all published carriers.
How many flights are cancelled at short notice?
1.2% of 3,553 movements in the same window.
How many delays crossed three hours?
0.1% of 3,553 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?
555 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.