Portfolio
CA3 · Final Project CCT College Dublin · 2025–2026 Strategic Thinking

Dublin Airport
Passenger Forecasting

Time series analysis and 12-month forecast of passenger arrivals at Dublin Airport (Apr 2026 – Mar 2027), using AutoML with PyCaret, statistical models and ensemble methods — with a dedicated treatment for the COVID-19 structural break.

Live Demo (Streamlit) Static Demo PyCaret Notebook TBATS & Models Notebook Data Source (CSO Ireland)
195
Monthly observations
2010–26
Time range
12
Month forecast horizon
11+
Models benchmarked

Overview

This project forecasts total passenger arrivals at Dublin Airport for the next 12 months (April 2026 – March 2027) using monthly data from the Central Statistics Office (CSO) Ireland API (table ASM01). Dublin Airport accounts for approximately 83% of all Irish air arrivals.

The dataset spans January 2010 to March 2026 (195 monthly observations). A key methodological challenge was the COVID-19 structural break (January 2020 – February 2022), which caused a near-complete collapse in passenger volumes for 26 months. Two experimental setups were designed to isolate its impact on forecast accuracy.

Statistical validation was conducted via ADF and KPSS tests (stationarity), Ljung-Box (white noise), and Shapiro-Wilk (normality) before any model training.

Experimental Design

Setup A — Reference

Full series, COVID included

Used as a baseline to quantify how the pandemic distorts model learning. ADF test confirms stationarity (p=0.029). Models: Exponential Smoothing, ARIMA, ETS, LASSO, LR.

✓ Setup B — Primary

COVID excluded · Drift imputation

The 26-month COVID gap is replaced with drift interpolation — a linear bridge preserving seasonal structure. ADF non-stationary (p=0.95), confirming the clean seasonal trend. Models: Exp. Smoothing, ARIMA, Extra Trees, OMP, GBR.

Both setups use expanding window cross-validation (3 folds), a 12-month forecast horizon and 90% confidence intervals. Models are tuned via randomised grid search (30 candidates, 3 folds each) and combined into a blended ensemble (weighted average of the top 3).

Models Benchmarked

ModelTypeSetupNotes
Exponential Smoothing ★ Best B StatisticalA + B Best SMAPE in Setup B after hyperparameter tuning
ETS ★ Best A StatisticalA Best in Setup A; captures additive seasonality + trend
ARIMA StatisticalA + B Auto-order selection; tuned via grid search
Gradient Boosted Regression ML (CDS+DT)B Highest peak forecast (~2,058k in Jul 2026)
Extra Trees ML (CDS+DT)B Conservative forecast; stable interval
Blended Ensemble EnsembleA + B Weighted average of top 3 from compare_models

12-Month Forecast — Setup B (Primary)

Best model: Exponential Smoothing. Values in thousands of passengers. Strong seasonal pattern — peak in summer (Jul–Aug), trough in winter (Jan–Feb).

Month Exp. Smoothing ARIMA GBR Blend
Apr 20261,5611,5661,5961,558
May 20261,6781,7051,7301,664
Jun 20261,7731,7681,8501,749
Jul 2026 ★1,9521,9242,0581,906
Aug 2026 ★1,9661,9722,0861,926
Sep 20261,7211,7091,8511,712
Oct 20261,6381,6411,7681,618
Nov 20261,3461,3261,4801,378
Dec 20261,3161,3231,4641,351
Jan 20271,2571,2441,3731,304
Feb 20271,2491,2001,3831,302
Mar 20271,4031,4501,6711,438

★ Peak summer months. All Setup B models agree on Jul–Aug as the seasonal peak, with Exp. Smoothing and ARIMA converging around 1,950–1,970k passengers in August 2026.

Notebooks

Environment

Python 3.9.6 PyCaret 3.3.2 sktime 0.26.0 statsmodels 0.14.6 scikit-learn 1.4.2 pandas 2.1.4 numpy 1.26.4 Jupyter pyjstat matplotlib