How often are these flights late or cancelled?
Morocco
In the twelve months from July 2025 to June 2026, 28.6% of 10,035 movements arriving into the UK were disrupted — more than fifteen minutes late or cancelled at short notice.
Put the other way round, 71.4% of 10,035 movements met the fifteen-minute convention. These are historical observations, not a forecast.
Definitions, denominators and limits
Arrivals into UK reporting airports only unless labelled departures. Denominator: operated movements plus short-notice cancellations (M+C). A movement is not a scheduled flight. Unmatched records are data quality, not outcomes. Cells below twenty movements are suppressed; twenty to forty-nine are descriptive and not ranked.
Source: CAA punctuality statistics · snapshot 17/08/2026 10:24 · method route-record-v2.1 · Versioned claims, formulas and entity mapping.
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
28.6% of 10,035 movements were disrupted over July 2025 to June 2026.
Average delay covers delayed movements only. Its range reflects rounded source means and the unknown count of exactly punctual movements.
| Disruption | Short-notice cancellations | Delay among delayed movements | Over three hours |
|---|---|---|---|
| 28.6% of 10,035 movements | 0.4% of 10,035 movements | 31.0–61.6 minutes; delayed denominator 2,828–5,303 | 0.8% of 10,035 movements |
Definitions, denominators and limits
Arrivals into UK reporting airports only unless labelled departures. Denominator: operated movements plus short-notice cancellations (M+C). A movement is not a scheduled flight. Unmatched records are data quality, not outcomes. Cells below twenty movements are suppressed; twenty to forty-nine are descriptive and not ranked.
When late, how late?
0.8% of 10,035 movements passed the three-hour mark.
The ladder shows how many movements crossed each threshold. Cancellations are separate: 0.4% of 10,035 movements.
| Delay | Share and sample | One event per movements |
|---|---|---|
| More than 15 minutes | 28.2% of 10,035 movements | 3.5 |
| More than 30 minutes | 16.0% of 10,035 movements | 6.2 |
| More than 60 minutes | 6.5% of 10,035 movements | 15.3 |
| More than 120 minutes | 2.1% of 10,035 movements | 47.3 |
| More than 180 minutes | 0.8% of 10,035 movements | 118.1 |
| More than 360 minutes | 0.2% of 10,035 movements | 528.2 |
Definitions, denominators and limits
Arrivals into UK reporting airports only unless labelled departures. Denominator: operated movements plus short-notice cancellations (M+C). A movement is not a scheduled flight. Unmatched records are data quality, not outcomes. Cells below twenty movements are suppressed; twenty to forty-nine are descriptive and not ranked.
Slightly late or occasionally a disaster?
2.1% of 10,035 movements passed two hours.
The histogram shows the published delay bands. Bucket shares use all reported operations, including unmatched records; cancellations are reported separately.
Definitions, denominators and limits
Arrivals into UK reporting airports only unless labelled departures. Denominator: operated movements plus short-notice cancellations (M+C). A movement is not a scheduled flight. Unmatched records are data quality, not outcomes. Cells below twenty movements are suppressed; twenty to forty-nine are descriptive and not ranked.
Better or worse since the start of the archive?
Best month: Sep 2021, 7.3% of 191 movements. Worst month: Sep 2024, 55.2% of 674 movements.
The line traces every month. Lower disruption is better; gaps are never zeros. Pandemic readings describe a different operating regime.
Every monthly observation
| Month | Disruption on arrivals |
|---|---|
| Jan 2018 | 25.9% of 343 movements |
| Feb 2018 | 20.5% of 336 movements |
| Mar 2018 | 22.7% of 397 movements |
| Apr 2018 | 21.5% of 377 movements |
| May 2018 | 25.5% of 326 movements |
| Jun 2018 | 23.7% of 337 movements |
| Jul 2018 | 22.3% of 336 movements |
| Aug 2018 | 31.2% of 327 movements |
| Sep 2018 | 20.9% of 340 movements |
| Oct 2018 | 25.8% of 383 movements |
| Nov 2018 | 20.2% of 382 movements |
| Dec 2018 | 33.2% of 392 movements |
| Jan 2019 | 31.2% of 368 movements |
| Feb 2019 | 26.0% of 346 movements |
| Mar 2019 | 27.1% of 409 movements |
| Apr 2019 | 31.5% of 413 movements |
| May 2019 | 33.1% of 353 movements |
| Jun 2019 | 35.1% of 365 movements |
| Jul 2019 | 36.7% of 368 movements |
| Aug 2019 | 40.9% of 372 movements |
| Sep 2019 | 39.1% of 350 movements |
| Oct 2019 | 24.9% of 393 movements |
| Nov 2019 | 19.9% of 402 movements |
| Dec 2019 | 43.3% of 418 movements |
| Jan 2020 | 25.3% of 375 movements |
| Feb 2020 | 40.1% of 392 movements |
| Mar 2020 | 48.0% of 321 movements |
| Apr 2020 | suppressed: fewer than twenty movements |
| May 2020 | suppressed: fewer than twenty movements |
| Jun 2020 | suppressed: fewer than twenty movements |
| Jul 2020 | 36.0% of 25 movements — small sample, not ranked |
| Aug 2020 | 9.5% of 21 movements — small sample, not ranked |
| Sep 2020 | 25.9% of 27 movements — small sample, not ranked |
| Oct 2020 | 2.3% of 44 movements — small sample, not ranked |
| Nov 2020 | 10.0% of 40 movements — small sample, not ranked |
| Dec 2020 | 18.6% of 43 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 | suppressed: fewer than twenty movements |
| May 2021 | suppressed: fewer than twenty movements |
| Jun 2021 | 8.6% of 35 movements — small sample, not ranked |
| Jul 2021 | 10.7% of 131 movements |
| Aug 2021 | 11.7% of 188 movements |
| Sep 2021 | 7.3% of 191 movements |
| Oct 2021 | 22.2% of 171 movements |
| Nov 2021 | suppressed: fewer than twenty movements |
| Dec 2021 | suppressed: fewer than twenty movements |
| Jan 2022 | no data |
| Feb 2022 | 33.1% of 118 movements |
| Mar 2022 | 18.6% of 279 movements |
| Apr 2022 | 25.3% of 427 movements |
| May 2022 | 40.8% of 424 movements |
| Jun 2022 | 39.9% of 376 movements |
| Jul 2022 | 42.6% of 390 movements |
| Aug 2022 | 42.2% of 398 movements |
| Sep 2022 | 49.2% of 390 movements |
| Oct 2022 | 37.6% of 447 movements |
| Nov 2022 | 27.7% of 483 movements |
| Dec 2022 | 42.0% of 502 movements |
| Jan 2023 | 28.5% of 449 movements |
| Feb 2023 | 23.1% of 429 movements |
| Mar 2023 | 43.8% of 502 movements |
| Apr 2023 | 38.6% of 472 movements |
| May 2023 | 45.1% of 486 movements |
| Jun 2023 | 51.3% of 446 movements |
| Jul 2023 | 52.0% of 429 movements |
| Aug 2023 | 48.5% of 427 movements |
| Sep 2023 | 47.0% of 449 movements |
| Oct 2023 | 38.4% of 503 movements |
| Nov 2023 | 26.4% of 575 movements |
| Dec 2023 | 37.4% of 634 movements |
| Jan 2024 | 26.1% of 568 movements |
| Feb 2024 | 32.9% of 598 movements |
| Mar 2024 | 21.5% of 624 movements |
| Apr 2024 | 33.2% of 666 movements |
| May 2024 | 34.4% of 668 movements |
| Jun 2024 | 39.2% of 636 movements |
| Jul 2024 | 41.0% of 637 movements |
| Aug 2024 | 42.5% of 640 movements |
| Sep 2024 | 55.2% of 674 movements |
| Oct 2024 | 41.6% of 788 movements |
| Nov 2024 | 26.5% of 853 movements |
| Dec 2024 | 39.8% of 918 movements |
| Jan 2025 | 36.9% of 818 movements |
| Feb 2025 | 27.4% of 826 movements |
| Mar 2025 | 16.0% of 926 movements |
| Apr 2025 | 30.1% of 790 movements |
| May 2025 | 32.0% of 769 movements |
| Jun 2025 | 37.7% of 735 movements |
| Jul 2025 | 43.3% of 753 movements |
| Aug 2025 | 33.4% of 773 movements |
| Sep 2025 | 43.9% of 773 movements |
| Oct 2025 | 31.2% of 871 movements |
| Nov 2025 | 20.9% of 851 movements |
| Dec 2025 | 23.9% of 887 movements |
| Jan 2026 | 24.8% of 782 movements |
| Feb 2026 | 22.4% of 799 movements |
| Mar 2026 | 22.0% of 931 movements |
| Apr 2026 | 22.5% of 935 movements |
| May 2026 | 25.4% of 877 movements |
| Jun 2026 | 33.9% of 803 movements |
Definitions, denominators and limits
Arrivals into UK reporting airports only unless labelled departures. Denominator: operated movements plus short-notice cancellations (M+C). A movement is not a scheduled flight. Unmatched records are data quality, not outcomes. Cells below twenty movements are suppressed; twenty to forty-nine are descriptive and not ranked.
What did the big disruptions do here?
Each event is compared with the twelve preceding calendar months and the first later return to baseline.
A worse month is not proof the named event caused it. The open data carry no delay-cause field. Recovery is observed for at most eight subsequent months.
| 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 | 42.6% of 390 movements | no complete baseline | not enough data: needs a complete baseline and a publishable event month |
| Summer 2022 breakdown · Jul 2022 | Departures | 55.3% of 389 movements | no complete baseline | not enough data: needs a complete baseline and a publishable event month |
| NATS system failure · Aug 2023 | Arrivals | 48.5% of 427 movements | 40.1% across 5,433 flights | returned after 2 months |
| NATS system failure · Aug 2023 | Departures | 55.2% of 420 movements | 40.0% across 5,390 flights | returned after 3 months |
| Heathrow fire closure · Mar 2025 | Arrivals | 16.0% of 926 movements | 36.6% across 8,748 flights | returned the next month |
| Heathrow fire closure · Mar 2025 | Departures | 17.9% of 927 movements | 32.5% across 8,738 flights | returned the next month |
Definitions, denominators and limits
Arrivals into UK reporting airports only unless labelled departures. Denominator: operated movements plus short-notice cancellations (M+C). A movement is not a scheduled flight. Unmatched records are data quality, not outcomes. Cells below twenty movements are suppressed; twenty to forty-nine are descriptive and not ranked.
Which time of year has been hardest?
Highest median: Sep, 45.4% across 6 months. Lowest median: Mar, 22.0% across 7 months.
Even the same calendar month differs across years. This is a record, not a forecast; pandemic years are excluded from the summaries.
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 | 27.3% | 24.8–36.9% | 6 months, 3,328 flights |
| Feb | 26.0% | 20.5–33.1% | 7 months, 3,452 flights |
| Mar | 22.0% | 16.0–43.8% | 7 months, 4,068 flights |
| Apr | 30.1% | 21.5–38.6% | 7 months, 4,080 flights |
| May | 33.1% | 25.4–45.1% | 7 months, 3,903 flights |
| Jun | 37.7% | 23.7–51.3% | 7 months, 3,698 flights |
| Jul | 41.8% | 22.3–52.0% | 6 months, 2,913 flights |
| Aug | 41.5% | 31.2–48.5% | 6 months, 2,937 flights |
| Sep | 45.4% | 20.9–55.2% | 6 months, 2,976 flights |
| Oct | 34.4% | 24.9–41.6% | 6 months, 3,385 flights |
| Nov | 23.7% | 19.9–27.7% | 6 months, 3,546 flights |
| Dec | 38.6% | 23.9–43.3% | 6 months, 3,751 flights |
Definitions, denominators and limits
Arrivals into UK reporting airports only unless labelled departures. Denominator: operated movements plus short-notice cancellations (M+C). A movement is not a scheduled flight. Unmatched records are data quality, not outcomes. Cells below twenty movements are suppressed; twenty to forty-nine are descriptive and not ranked.
Which routes have the best and worst record?
Lowest disruption: LHR ↔ MARRAKESH, 5.7% of 228 movements. Highest disruption: MAN ↔ TANGIERS-IBN-BATUTA, 54.4% of 103 movements.
The airline table uses this carrier on each route; airport and country tables combine carriers. Each figure is arrivals into its UK airport. Only sufficiently large exact samples enter the ordered comparison.
All route comparisons and sample flags
| Route | Disruption | Cancellations | Sample flag |
|---|---|---|---|
| LHR ↔ MARRAKESH | 5.7% of 228 movements | no events in 228 movements | descriptive comparison |
| STN ↔ CASABLANCA-MOHAMED-V | 7.1% of 98 movements | no events in 98 movements | descriptive comparison |
| GLA ↔ AGADIR-AL-MASSIRA | 14.6% of 103 movements | no events in 103 movements | descriptive comparison |
| LBA ↔ AGADIR-AL-MASSIRA | 14.8% of 115 movements | no events in 115 movements | descriptive comparison |
| LTN ↔ AGADIR-AL-MASSIRA | 14.8% of 216 movements | 0.9% of 216 movements | descriptive comparison |
| LGW ↔ RABAT | 14.9% of 67 movements | no events in 67 movements | descriptive comparison |
| SEN ↔ MARRAKESH | 15.1% of 119 movements | 0.8% of 119 movements | descriptive comparison |
| GLA ↔ MARRAKESH | 16.1% of 112 movements | no events in 112 movements | descriptive comparison |
| LPL ↔ MARRAKESH | 16.9% of 130 movements | no events in 130 movements | descriptive comparison |
| LGW ↔ TANGIERS-IBN-BATUTA | 17.4% of 172 movements | 0.6% of 172 movements | descriptive comparison |
| LTN ↔ MARRAKESH | 17.7% of 237 movements | 0.8% of 237 movements | descriptive comparison |
| LGW ↔ AGADIR-AL-MASSIRA | 18.8% of 559 movements | 1.1% of 559 movements | descriptive comparison |
| BRS ↔ AGADIR-AL-MASSIRA | 18.8% of 165 movements | no events in 165 movements | descriptive comparison |
| Gatwick ↔ Marrakesh | 20.5% of 1,721 movements | 0.2% of 1,721 movements | descriptive comparison |
| BFS ↔ MARRAKESH | 22.0% of 50 movements | no events in 50 movements | descriptive comparison |
| LBA ↔ MARRAKESH | 23.3% of 60 movements | 1.7% of 60 movements | descriptive comparison |
| NCL ↔ MARRAKESH | 23.7% of 93 movements | no events in 93 movements | descriptive comparison |
| STN ↔ ESSAOUIRA | 24.0% of 104 movements | no events in 104 movements | descriptive comparison |
| BHX ↔ AGADIR-AL-MASSIRA | 25.2% of 202 movements | 0.5% of 202 movements | descriptive comparison |
| STN ↔ AGADIR-AL-MASSIRA | 27.8% of 363 movements | 0.6% of 363 movements | descriptive comparison |
| MAN ↔ CASABLANCA-MOHAMED-V | 29.2% of 192 movements | no events in 192 movements | descriptive comparison |
| BRS ↔ MARRAKESH | 29.2% of 195 movements | 0.5% of 195 movements | descriptive comparison |
| Manchester ↔ Agadir (Al Massira) | 30.3% of 674 movements | 0.4% of 674 movements | descriptive comparison |
| Stansted ↔ Marrakesh | 30.4% of 819 movements | 0.2% of 819 movements | descriptive comparison |
| MAN ↔ RABAT | 30.5% of 105 movements | no events in 105 movements | descriptive comparison |
| EDI ↔ AGADIR-AL-MASSIRA | 30.6% of 229 movements | 0.9% of 229 movements | descriptive comparison |
| BHX ↔ MARRAKESH | 31.7% of 312 movements | no events in 312 movements | descriptive comparison |
| STN ↔ FEZ | 32.1% of 156 movements | 1.9% of 156 movements | descriptive comparison |
| STN ↔ RABAT | 33.1% of 245 movements | 1.6% of 245 movements | descriptive comparison |
| EDI ↔ MARRAKESH | 35.8% of 165 movements | no events in 165 movements | descriptive comparison |
| Manchester ↔ Marrakesh | 45.2% of 825 movements | 0.2% of 825 movements | descriptive comparison |
| LGW ↔ CASABLANCA-MOHAMED-V | 47.8% of 360 movements | no events in 360 movements | descriptive comparison |
| STN ↔ TANGIERS-IBN-BATUTA | 52.5% of 183 movements | 0.5% of 183 movements | descriptive comparison |
| LHR ↔ CASABLANCA-MOHAMED-V | 52.8% of 460 movements | 0.4% of 460 movements | descriptive comparison |
| MAN ↔ TANGIERS-IBN-BATUTA | 54.4% of 103 movements | no events in 103 movements | descriptive comparison |
| LGW ↔ TETOUAN | 22.2% of 27 movements — small sample, not ranked | no events in 27 movements — small sample, not ranked | small sample; not ranked |
| NCL ↔ AGADIR-AL-MASSIRA | 50.0% of 24 movements — small sample, not ranked | no events in 24 movements — small sample, not ranked | small sample; not ranked |
| STN ↔ OUARZAZATE | 48.5% of 33 movements — small sample, not ranked | no events in 33 movements — small sample, not ranked | small sample; not ranked |
Definitions, denominators and limits
Arrivals into UK reporting airports only unless labelled departures. Denominator: operated movements plus short-notice cancellations (M+C). A movement is not a scheduled flight. Unmatched records are data quality, not outcomes. Cells below twenty movements are suppressed; twenty to forty-nine are descriptive and not ranked.
Which UK airports appear in this record?
14 published groups have enough arrivals to describe.
These operations are not matched for season, aircraft or time of day. The table makes no causal comparison.
| UK airport | Disruption | Sample flag |
|---|---|---|
| Belfast International | 22.0% of 50 movements | descriptive comparison |
| Birmingham | 29.2% of 514 movements | descriptive comparison |
| Bristol | 24.4% of 360 movements | descriptive comparison |
| Edinburgh | 32.9% of 395 movements | descriptive comparison |
| Glasgow | 15.3% of 215 movements | descriptive comparison |
| Leeds Bradford | 17.7% of 175 movements | descriptive comparison |
| Gatwick | 23.2% of 2,906 movements | descriptive comparison |
| Heathrow | 37.2% of 688 movements | descriptive comparison |
| Liverpool (John Lennon) | 16.9% of 130 movements | descriptive comparison |
| Luton | 16.3% of 453 movements | descriptive comparison |
| Manchester | 38.0% of 1,899 movements | descriptive comparison |
| Newcastle | 29.1% of 117 movements | descriptive comparison |
| Southend | 15.1% of 119 movements | descriptive comparison |
| Stansted | 31.2% of 2,001 movements | descriptive comparison |
Definitions, denominators and limits
Arrivals into UK reporting airports only unless labelled departures. Denominator: operated movements plus short-notice cancellations (M+C). A movement is not a scheduled flight. Unmatched records are data quality, not outcomes. Cells below twenty movements are suppressed; twenty to forty-nine are descriptive and not ranked.
Arrivals vs departures
28.6% of 10,035 movements arrivals were disrupted, against 26.7% of 10,024 movements departures.
The directions have separate denominators. A departure delay does not establish late arrival at the final destination; legal conditions differ by direction and carrier.
Definitions, denominators and limits
Arrivals into UK reporting airports only unless labelled departures. Denominator: operated movements plus short-notice cancellations (M+C). A movement is not a scheduled flight. Unmatched records are data quality, not outcomes. Cells below twenty movements are suppressed; twenty to forty-nine are descriptive and not ranked.
Movements past the three-hour mark
0.8% of 10,035 movements were more than three hours late over July 2025 to June 2026.
Cancellation is counted separately and is not a three-hour delay. Monthly counts cannot establish a passenger claim.
Definitions, denominators and limits
Arrivals into UK reporting airports only unless labelled departures. Denominator: operated movements plus short-notice cancellations (M+C). A movement is not a scheduled flight. Unmatched records are data quality, not outcomes. Cells below twenty movements are suppressed; twenty to forty-nine are descriptive and not ranked.
Facts about this record
Morocco appears from Jan 2018 to Jun 2026 with 44,070 arrivals.
The bounds describe the published record, not every commercial service. Final point is not necessarily a nonstop destination.
Archive route pairs: 65.
Definitions, denominators and limits
Arrivals into UK reporting airports only unless labelled departures. Denominator: operated movements plus short-notice cancellations (M+C). A movement is not a scheduled flight. Unmatched records are data quality, not outcomes. Cells below twenty movements are suppressed; twenty to forty-nine are descriptive and not ranked.
What this data cannot tell you
Delay cause, individual passenger experience, commercial decisions and future performance are not established here.
Also absent are aircraft type, within-month time-of-day splits and cancellations made ahead of the short-notice reporting window.
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.
Definitions, denominators and limits
Arrivals into UK reporting airports only unless labelled departures. Denominator: operated movements plus short-notice cancellations (M+C). A movement is not a scheduled flight. Unmatched records are data quality, not outcomes. Cells below twenty movements are suppressed; twenty to forty-nine are descriptive and not ranked.
Quick answers
These answers use the same populations and window as the tables above.
Every percentage retains its denominator.
How disrupted are these arrivals?
28.6% of 10,035 movements over July 2025 to June 2026.
How often are they cancelled?
0.4% of 10,035 movements at short notice.
How late is late?
31.0–61.6 minutes; delayed denominator 2,828–5,303
Are services improving?
The monthly line records past changes; it is not a forecast or a causal comparison.
Which routes are compared?
The route table uses separately identified UK airport and final-point pairs, with small samples flagged.
Does this cover my flight?
Only published aggregate movements; the circumstances of any individual flight are unknown.
Definitions, denominators and limits
Arrivals into UK reporting airports only unless labelled departures. Denominator: operated movements plus short-notice cancellations (M+C). A movement is not a scheduled flight. Unmatched records are data quality, not outcomes. Cells below twenty movements are suppressed; twenty to forty-nine are descriptive and not ranked.
How this was calculated
Source: CAA punctuality statistics · snapshot 17/08/2026 10:24 · method route-record-v2.1 · Versioned claims, formulas and entity mapping.
Integer bucket counts are recovered from rounding intervals over D=M+C+U with their sum constrained to M. Ambiguous counts remain ranges; failed reconciliation is quarantined.
Definitions, denominators and limits
Arrivals into UK reporting airports only unless labelled departures. Denominator: operated movements plus short-notice cancellations (M+C). A movement is not a scheduled flight. Unmatched records are data quality, not outcomes. Cells below twenty movements are suppressed; twenty to forty-nine are descriptive and not ranked.
Your trip has already gone wrong
The monthly line and events table show whether your month was typical or unusual in the published record.
Nothing here decides an individual case or what a passenger may be owed.
CAA: the official route to complainDefinitions, denominators and limits
Arrivals into UK reporting airports only unless labelled departures. Denominator: operated movements plus short-notice cancellations (M+C). A movement is not a scheduled flight. Unmatched records are data quality, not outcomes. Cells below twenty movements are suppressed; twenty to forty-nine are descriptive and not ranked.