Overview
Data: UK CAA · 2019–2024 Airline · easyJet UK

easyJet Operations Intelligence

End-to-end punctuality, delay and competitive analytics for 6 years of UK CAA flight data — 366,925 easyJet flights across 18 UK airports and 511 routes, benchmarked against Ryanair, BA, Wizz Air, Jet2 and TUI.

On-Time Performance A15
—
—
Target ≥ 80%
Average Arrival Delay
—
—
Target ≤ 15 min
Cancellation Rate EC261
—
—
Target ≤ 2%
Total Flights
—
—
Operated annually

On-Time Performance Trend

% of flights ≤ 15 min late · 2019–2024

What it shows: annual OTP versus the 80% IATA target. Finding: the 2020–21 spike reflects collapsed COVID traffic, not improved ops. The 2022 dip is the post-COVID demand surge outrunning resourcing — recovery in 2024 is partial, still well below 80%.

Flights Operated

Annual flight volume

What it shows: total flights operated each year. Finding: 2024 is back to pre-COVID volume (367k vs 364k in 2019), confirming the OTP shortfall isn't a "we're flying more than ever" excuse — it's an operational quality issue.

Average Delay Trend

Mean arrival delay in minutes

What it shows: mean arrival delay, with the 15-minute industry target as reference. Finding: 2022–23 averaged delays well above 20 min — costing roughly £80M/yr each — and recovery is incremental rather than step-change.

Cancellation Rate Trend

% of scheduled flights cancelled

What it shows: cancellation rate vs the 2% benchmark. Finding: 2024 cancellation rate (0.88%) is well within target — easyJet's reliability is strong; the issue is punctuality on the flights that do operate.

Key Insight

Key Takeaway

The network spans 18 UK airports and 511 routes. The map below colours airports by on-time performance — green = strong, red = weak — with bubble size scaled to flight volume.

Network Map

How to read it: each bubble is a UK airport in the easyJet network. Bubble size = annual flight volume; colour = OTP (red < 65%, amber 65–80%, green ≥ 80%). Hover any bubble for exact figures. Larger / redder bubbles are the ones consuming the most operational attention.

Top 10 Best Routes

Highest on-time performance

What it shows: easyJet's strongest routes by OTP for the selected year. These are existence-proofs that 80%+ OTP is achievable on the network — they are useful benchmarks for replicating operating practice elsewhere.

Bottom 10 Worst Routes

Lowest on-time performance

What it shows: easyJet's weakest routes. The Predictions and Case Study pages dig further into these — most cluster around Mediterranean leisure destinations from Gatwick.

All Routes

Key Takeaway

The delay distribution matters as much as the average. Two airlines with identical mean delays can have very different tail risk — and severe delays (60+ min) are disproportionately expensive due to EC 261/2004 compensation.

Delay Distribution

% of flights by delay band

What it shows: the full delay distribution, not just the average. Reading right-to-left: green bars are flights arriving early or on time; amber are mildly late; red bars (60+ min) are the operationally and commercially expensive tail.

Delay Statistics

Distribution shape

What it shows: the distribution's central tendency (mean/median), spread (standard deviation), and asymmetry (skewness). Right-skewed delay distributions — typical of airline ops — mean a few flights pull the average up disproportionately.

Airport Delay Heatmap

How to read it: rows are UK airports, columns are years, cell colour is average arrival delay (green = low, red = high). Look for hot rows (consistently bad airports) vs hot columns (bad years across the board, e.g. 2022).

Key Insight

Key Takeaway

Airport-level performance varies hugely — Liverpool hits 80%+ OTP while Gatwick struggles below 60%. This is partly route mix and partly airport infrastructure (slot pressure, ground handling, ATC sequencing).

Airport OTP Ranking

On-time performance by departure airport

What it shows: easyJet's OTP at each UK base, sorted ascending. The 80% target line makes the gap visible at a glance.

Volume vs Delay

Larger airports trend toward higher delays

What it shows: a scatter of flight volume against average delay, with a fitted regression line. Points above the line are airports underperforming for their size; below are overperforming. Marker colour shows OTP.

Airport League Table

Search and sort all UK airports

How to use it: click any column header to sort; type in the search box to filter. Useful for ad-hoc lookups during meetings.

Year-over-Year OTP Change

What it shows: the year-over-year shift in OTP at each airport. Green bars are improving airports; red are deteriorating. Magnitude indicates how rapid the change is.

Key Insight

Key Takeaway

UK short-haul OTP collapsed in 2022 across nearly every carrier — the post-COVID demand surge outran resourcing. Recovery in 2023–24 has been partial and uneven; easyJet's relative position vs Ryanair is the most operationally meaningful comparison.

OTP Trend by Airline

2019–2024 · easyJet vs major UK carriers

What it shows: annual OTP for each major UK carrier. easyJet's line is bold. Finding: the 2022 collapse was sector-wide; recovery has been incremental. Ryanair recovers fastest, suggesting LCC operating discipline pays off post-shock.

Market Position

Volume vs OTP — quadrant view

How to read it: dashed lines mark the median volume and median OTP. Top-right quadrant = high volume + high OTP (best position); bottom-right = high volume + low OTP (operational red flag — that's currently easyJet UK).

Performance Radar

Multi-dimensional comparison

What it shows: a five-axis comparison: OTP, low-delay, low-cancel, volume, and consistency. A larger filled area = stronger overall operation. Useful for seeing where each carrier wins on which dimension.

Annual Summary

Key Takeaway

A quantile regression model forecasts next-year OTP per route, with 80% prediction intervals. Validated via rolling-origin backtesting — train on prior years, predict the next, score against actuals. Output is ranked by £-at-risk, not OTP percentile, so Operations sees what to prioritise in the language they budget in.

Delay Risk Forecast

Quantile-regression model predicting next-year route OTP, trained on 6 years of CAA data with rolling-origin time-series cross-validation. Outputs route-level forecasts with calibrated 80% prediction intervals, classified into Critical · High · Watch · Stable tiers and ranked by predicted £-at-risk.

Mean Absolute Error MAE
—
Avg error in percentage points
80% Interval Coverage cal
—
Calibration check
Forecast Delay £ £
—
Predicted next-year network delay cost
Critical / High Tier
—
Routes flagged for action

Backtest results — does the model actually work?

Rolling-origin time-series cross-validation: train ≤Y → predict Y+1, score against actuals

How to read it: each bar is a "train on history → predict next year → score" cycle. Bar height = MAE (lower is better); the line shows what fraction of actuals fell inside the model's 80% prediction interval. Finding: the 2022 fold is bad (no model could predict the post-COVID demand surge); 2023 and 2024 folds settle to ~10 pp MAE with well-calibrated intervals — meaningful for triage despite annual-only data.

Feature Importance

What drives next-year OTP forecasts

What it shows: the share of decisioning attributable to each input feature. Finding: prior-year OTP and delay dominate (autocorrelation is strong), but the engineered airport pooled OTP, peer best, and 3-year trend slope add real lift over a naive lag-only baseline.

Calibration check

Predicted vs actual on 2024 holdout

How to read it: dots show binned average actual OTP versus predicted OTP; the dashed 45° line is perfect calibration. Honest finding: the model is well-calibrated above 65% predicted but slightly pessimistic below it — when it predicts ~45% the actual averages 53%. That's regression-to-the-mean the model doesn't fully capture. Operationally fine for ranking, but a known bias worth flagging.

20 Routes — Highest Forecast Delay £

Ranked by predicted next-year delay cost (predicted_delay × volume × £81)

How to use it: these are the routes carrying the most predicted £ next year — the priority queue for operational intervention. Tier badges (Critical / High / Watch) translate the OTP forecast into a response level. Prediction intervals show uncertainty as well as the point estimate.

20 Most-Stable Routes

Routes with strongest predicted OTP

How to use it: existence-proofs of strong easyJet operations on which next-year forecasts are also healthy. Investigate what's transferable — turnaround discipline, crew rostering, gate allocation — to the high-risk list.

What the model is and isn't

This is a route-level trajectory forecast — useful for prioritising operational attention and quantifying £ exposure, not for forecasting individual flights. Annual-only CAA data caps the achievable accuracy; with internal data (turnaround timestamps, crew rosters, aircraft pairings, weather) the same architecture would deliver substantially tighter intervals. The model deliberately excludes the 2022 demand-surge fold from the headline metric because no model could have called it; that's transparency, not cherry-picking.

Strategic Insights

Three high-leverage analytical lenses

Three views on the data that don't appear in standard punctuality reporting: how we're buying our OTP through schedule slack, how many pounds our delays cost, and where peers operating the same routes already do better. Each lens turns a metric into an action.

Why this matters

Every minute of arrival delay carries a defensible all-in cost (crew, fuel, ground handling, reactionary cascade, EC261 compensation share). Multiplying that out converts every chart on this dashboard into a £ figure — which is the language Operations and Commercial actually budget in.

Annual delay cost — 6-year trend

Total network delay cost per year, GBP millions

Cost concentration by base

Where the delay £ accumulate

Methodology — how this £ is computed

All-in tactical delay cost, GBP per arrival-delay minute

Cost-per-minute is set at £81, derived from Eurocontrol's University of Westminster European-airline tactical delay cost model (2022 update). Components include flight-deck and cabin crew cost, fuel burn during taxi/holding, ground-handling overrun, reactionary cascade onto downstream rotations, and a passenger-compensation share weighted by EC 261/2004 thresholds. Total network cost = Σ (operated_flights × avg_delay_min) × £81. This is a direct cost figure — it does not include lost ticket revenue, brand-trust damage, or load-factor erosion on subsequent bookings.

Why this matters

Two airlines with identical OTP can run very different operations. One genuinely arrives close to schedule; the other inflates OTP by padding schedules so flights routinely arrive 15+ minutes early. Padding is real money — extra block time costs aircraft utilisation, crew hours, and slot inefficiency. The padding score below = "% of on-time arrivals that arrived 15+ min early ÷ total OTP". High score = inflated OTP; low score = lean operation.

Padding score by UK carrier — 2024

Lower = leaner schedule, OTP earned not bought

OTP composition

Stacked breakdown of how each airline reaches their OTP

Each bar shows the three "on-time" buckets that sum to OTP. Tall green segments mean a lot of flights arriving 15+ minutes early — schedule padding. Tall amber segments mean flights arriving close to scheduled time — lean operations.

Padding by easyJet base

Within easyJet UK, how each base operates

Strategic implication

easyJet UK's padding score (0.075) sits between Ryanair (leaner) and BA / Jet2 (more padded). The gap to Ryanair is ~1pp — meaningful but not decisive. Padding more is not the lever: easyJet is already running close to LCC discipline. The OTP gap to peers must come from operational tightness (turnaround, crew sign-on, stand availability), not schedule slack. The exception is selective padding on chronic cascade-prone routes — see Case Study P1.

Why this matters

For every easyJet route, find the airline operating the same origin → destination at the highest OTP. The gap is the concrete, named, peer-validated improvement opportunity — and it comes with a £ value: gap-pp × flights × cost-per-minute. This is a Day-1 task list.

Top opportunity routes — 2024

Routes ranked by recoverable on-time flights (gap × volume)

Each row is an existence proof: a peer airline runs this exact route at materially higher OTP. The "additional on-time flights" column estimates the gain if easyJet matched the peer's OTP at current volume.

How to use this

The most striking row is MAN → AMS where easyJet UK trails easyJet Europe (a different AOC, same brand) by 16.2pp on the same physical route. Same aircraft type, same airports, different operating model — the cleanest internal benchmark possible. Worth a structured comparison of crew agreements, base practices and turnaround discipline.

Case Study

Gatwick: easyJet's largest base, weakest performer

A descriptive → diagnostic → predictive → prescriptive walk-through of easyJet UK's operations at London Gatwick — the airline's biggest base and its lowest on-time performer. The numbers tell a story; the story points to specific operational levers.

1 Descriptive — what's happening

Gatwick OTP — 6-year trajectory

COVID years (2020-21) reflect collapsed traffic, not improved ops

What it shows: Gatwick OTP across the 6-year window with the network average as reference. Finding: 2023 was the worst year (51.8% OTP); recovery to 59% in 2024 is real but still 7 pp below network and 21 pp below the IATA target.

Average delay trend

Recovery underway from 2023 peak

What it shows: mean arrival delay at Gatwick over 6 years. Finding: 2023 averaged 28.9 min — almost 2× the 15-min industry target. 2024's 23.6 min is improvement but still represents ~£236M of delay cost from this base alone.

2 Diagnostic — why it's happening

easyJet bases ranked by OTP

Gatwick is the worst-performing easyJet UK base in 2024

What it shows: easyJet's OTP at each UK base. Gatwick (red) is the worst by a clear margin. Liverpool achieves 80%+ on the same airline, same fleet — proving the network can hit the IATA target in the right operating environment.

Airlines at Gatwick

Most carriers struggle here — this is partly a Gatwick problem

What it shows: every major airline operating at Gatwick. Finding: almost every carrier is below 70% OTP. This is not an easyJet-only problem — it's a Gatwick problem that everyone shares.

Diagnostic finding

Gatwick's underperformance is partly airport-shared (every Gatwick operator runs in the 50–70% OTP band) and partly route-mix. The next two charts isolate the airport effect from the airline effect.

Pooled OTP by UK airport — all carriers, 2024

Gatwick is the worst UK airport for OTP regardless of who operates there

What it shows: volume-weighted OTP across every UK airport, all carriers pooled — isolates the airport from any single airline's mix. Finding: Gatwick (60.2%) is the worst-performing UK airport in 2024 — Belfast City achieves 79% on the same dataset.

The Gatwick penalty — same airline, two locations

Each airline's OTP at Gatwick vs their OTP at every other UK airport. The gap is the airline-controllable residual after the airport effect.

How to read it: grey bar = the airline's OTP at non-Gatwick UK airports; coloured bar = same airline's OTP at Gatwick. The gap on each pair is their Gatwick penalty. Every airline gives up ~8–15 pp at Gatwick — Ryanair is the outlier at only 2.5 pp, suggesting operational discipline can soften the airport effect.

Reading the penalty chart (with confidence intervals)

Every Gatwick operator gives up OTP relative to their other UK operations — that's the airport effect (slot pressure, ground handling, runway configuration, ATC sequencing). easyJet's penalty is −10.7 pp [95% CI: −13.1, −8.5] — a clearly significant gap, well separated from zero, computed by bootstrapping the underlying 118 Gatwick × 463 non-Gatwick routes (2,000 resamples). TUI (−9.7), BA mainline (−8.1), Wizz UK (−10.5), and Wizz Malta (−14.5) all sit in the same broad band with overlapping intervals.

The honest finding on Ryanair: their headline penalty of −2.5 pp looked like an outlier, but the bootstrap CI is [−4.5, +4.9] — the interval crosses zero. With only 4 Gatwick routes in our pool the estimate is too noisy to claim they perform genuinely differently. We can't rule out "no penalty" but we also can't rule out the typical 8–12 pp gap. Implication: the airport-shared component (~8–12 pp on most operators) is statistically robust; the "Ryanair operational discipline" narrative is not well-supported by this dataset. About ~80% of easyJet's Gatwick gap is airport-shared, but the residual airline-specific component should be framed cautiously — the route-mix chart below isolates that further with a stronger evidence base.

Route-segment split — the airline-specific smoking gun

Mediterranean / leisure routes (23% of volume) drag Gatwick OTP from 61% down to 59%

What it shows: easyJet's Gatwick routes split into Mediterranean/leisure (24 destinations) vs everything else. Bars are OTP; diamonds are average delay. Finding (with 95% CI): the leisure segment trails the other segment by 9.7 pp [95% CI: 5.5–15.3] — bootstrapped over 22 Med routes vs 96 Other routes. The interval is comfortably above zero, so this is a statistically robust airline-controllable lever. See Prescription P1 below.

3 Predictive — where to focus next

Watch-list — Gatwick's chronic-delay routes

Routes ranked by lowest 2024 OTP (≥200 flights)

What it shows: the 10 Gatwick routes with the worst OTP at material flight volumes. Finding: almost every entry is a Mediterranean leisure destination — confirming the segment-level signal at the route level. These routes anchor Prescription P3.

What's working

Top 5 Gatwick routes — most exceed the 80% target

What it shows: Gatwick routes that do hit the 80% target. Finding: these are mostly Iberian, alpine and Northern European destinations — same airport, same fleet, much better outcomes. Useful as internal benchmarks.

4 Prescriptive — what to do
How I'd approach this in role

This case study uses only public CAA data. The next step internally would be to enrich it with operational metrics — turnaround buffers, gate-out-of-service rates, crew-roster pressure, aircraft-pairing tables — to validate the cascade hypothesis on Mediterranean rotations and quantify the OTP recovery achievable from each prescription. I'd target a pilot programme on the six worst routes within one summer schedule and measure against a matched 2024 baseline.

Data Sources

SourceDescriptionFrequencyCoverage
UK CAA Punctuality StatisticsRoute-level on-time performance, average delay, delay-band distribution and cancellation counts for all UK reporting airports.Annual2019 – 2024
UK CAA Airport ReferenceIATA codes, names and coordinates for UK reporting airports.Static26 airports
Airline ReferenceOperating carrier names, IATA/ICAO codes and country of registration.Static490 carriers

KPI Definitions

KPIDefinitionFormulaTarget
OTP (A15)Flights arriving within 15 minutes of scheduled time.flights ≤15m late ÷ flights operated≥ 80% (IATA)
Average DelayMean arrival delay across all operated flights.Σ(actual − scheduled) ÷ operated≤ 15 min
Cancellation RateCancelled flights as % of scheduled.cancelled ÷ scheduled≤ 2%
Severe DelayFlights arriving more than 60 minutes late.flights >60m late ÷ operated≤ 5%

Database Schema (3NF Star)

These queries run offline, not here. DuckDB is used in the build pipeline to transform the CAA data into the pre-computed JSON this dashboard loads. The published site is static — it holds no database and executes no SQL at runtime. The schema and queries below are included to show how the analysis was actually done.

Fact table holds annual route-airline grain; three dimension tables conform on surrogate keys. All weighted aggregates use flown_flights as the weight.

-- Fact
fact_punctuality (
    fact_id PK,
    airline_id FK, origin_airport_id FK, dest_airport_id FK, date_id FK,
    scheduled_flights, flown_flights, cancelled_flights,
    pct_ontime_15, avg_delay_mins,
    pct_15_30, pct_31_60, pct_61_120, pct_121_180, pct_181_360, pct_361_plus
)

-- Dimensions
dim_airline (airline_id PK, airline_name, iata, icao, country, type)
dim_airport (airport_id PK, name, iata, icao, lat, lon, country, city)
dim_date    (date_id PK, year, quarter, month, period_label)

Example SQL Queries

1 · Rank airlines within each airport (window function)

SELECT
    a.airport_name,
    al.airline_name,
    f.pct_ontime_15,
    RANK() OVER (PARTITION BY a.airport_id ORDER BY f.pct_ontime_15 DESC) AS otp_rank,
    f.pct_ontime_15 - AVG(f.pct_ontime_15) OVER (PARTITION BY a.airport_id) AS vs_airport_avg
FROM fact_punctuality f
JOIN dim_airline al ON f.airline_id = al.airline_id
JOIN dim_airport a  ON f.origin_airport_id = a.airport_id
WHERE f.year = 2024 AND f.flown_flights >= 100
ORDER BY a.airport_name, otp_rank;

2 · Weighted YoY OTP with rolling 3-year average (CTE + window)

WITH annual AS (
    SELECT
        al.airline_name,
        d.year,
        SUM(f.flown_flights * f.pct_ontime_15) / NULLIF(SUM(f.flown_flights), 0) AS weighted_otp,
        SUM(f.flown_flights) AS flights
    FROM fact_punctuality f
    JOIN dim_airline al ON f.airline_id = al.airline_id
    JOIN dim_date d     ON f.date_id    = d.date_id
    GROUP BY al.airline_name, d.year
)
SELECT
    airline_name, year, weighted_otp,
    AVG(weighted_otp) OVER (PARTITION BY airline_name ORDER BY year ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) AS rolling_3yr,
    weighted_otp - LAG(weighted_otp) OVER (PARTITION BY airline_name ORDER BY year)                          AS yoy_change
FROM annual WHERE flights >= 500
ORDER BY airline_name, year;

Statistical Methodology

Bootstrap confidence intervals on the Case Study findings

The Case Study page reports several point estimates as differences of volume-weighted means — most notably the Gatwick penalty per airline (carrier's Gatwick OTP minus their non-Gatwick OTP) and the Med-vs-Other segment gap for easyJet at Gatwick. Closed-form confidence intervals for weighted-mean differences are awkward (Welch's t with weights isn't standard), so we use a nonparametric percentile bootstrap:

  1. The resampling unit is one route — i.e. an (origin, destination, year) row from the fact table, restricted to routes with ≥20 flights to drop noise.
  2. For each comparison we resample with replacement from both pools independently B = 2,000 times.
  3. Each resample recomputes the volume-weighted OTP for each pool and takes the difference.
  4. The 95% CI is the 2.5th and 97.5th percentiles of the resulting bootstrap distribution.
  5. Fixed random seed (seed=42) so the figures are reproducible across rebuilds.

Honest reading. A CI that excludes zero means the gap is unlikely to be sampling noise. A CI that includes zero (e.g. Ryanair's [−4.5, +4.9] on the Gatwick penalty) tells us the apparent effect could be explained by which routes happen to be in our sample — we shouldn't claim it as a real finding. The bootstrap is the simplest defensible way to publish these gaps without overclaiming.

ML Model Methodology

Predictive Delay Risk Classifier

Objective

Binary classification: predict whether a route will fall below 60% on-time performance in the next reporting period, enabling proactive operational intervention.

Algorithm

Gradient Boosted Decision Trees (sklearn GradientBoostingClassifier). Selected for handling mixed feature types and providing interpretable importance scores.

Features

Historical airport OTP, route-level delay average, cancellation rate, flight volume, year, and route distance proxy. Engineered from fact_punctuality at the airline-route grain.

Validation

Chronological train/test split — train on 2019–2023, hold out 2024. Prevents data leakage from a random split where future periods would inform past predictions.

Performance

AUC-ROC of 0.661 on held-out 2024 data. Modest but informative — feature importance is dominated by historical airport OTP, confirming airport-level systemic effects.

Limitations

CAA data is annual only — no monthly seasonality, weather, or ATC features. COVID-19 (2020-21) skews early training years. New routes have no priors.

Data Quality Notes

Completeness

Mandatory CAA submission for all UK reporting airports. >99.5% completeness on core fields.

Consistency

Delay-band percentages cross-validated to sum to 100 ± 0.1pp. Airline names normalised (e.g. "EASYJET UK LTD").

Known Caveats

2020 reflects ~70% volume drop from COVID-19. Some regional airports suppressed below CAA reporting thresholds. Codeshares may shift between marketing and operating carrier.