AI-Powered Airline Intelligence Platform
Data-driven decisions for the modern airline industry — built on BTS domestic airline data (2025 Q1-Q3).
| Question | Answer |
|---|---|
| Why does Southwest dominate domestic? | Lowest CASM (8.7c, 22% below median), single fleet type (737), highest gauge (175 seats/dep) |
| Which aircraft has the best ROI? | B737 MAX 8 (7.3c CASM). Boeing 737 ≈ Airbus A320 families (9.70c vs 9.69c) |
| Where can airlines save money? | UA: replace A320/B737-800 with B737 MAX 9 (saves 5.9c/ASM). DL: target A321neo (8.5c) |
| What will next quarter's costs be? | AA Q4 fuel: $2.36/gal (+6%), total fuel cost ~$806M. JetBlue flagged highest risk |
Market share analysis, hub dominance mapping, route competition (HHI), and underserved route identification across 44 carriers and 17,868 routes.
Aircraft cost rankings by route category, Boeing 737 vs Airbus A320 family comparison, transcontinental analysis, and XGBoost ML recommender (93.7% accuracy).
Route-specific fleet replacement suggestions, hub optimization (UA ORD: 92 routes analyzed), break-even analysis, and what-if scenario modeling.
Q4 fuel cost forecasts with confidence intervals, budget planning with best/expected/worst scenarios, and carrier risk scoring using cross-carrier panel trend extrapolation.
# Install
pip install -r requirements.txt
# Run data pipeline (if starting from raw data)
python -m src.data.run_pipeline
python -m src.features.feature_engineering_pipeline
# Train ML model
python -m src.models.aircraft_recommender
# Launch dashboard
streamlit run dashboards/app.py
# Run tests
pytest tests/ -v| Dataset | File | Records | Grain |
|---|---|---|---|
| T-100 Domestic | operations2025.csv |
376K | Carrier × Route × Aircraft × Quarter |
| P-5.2 Financial | T_F41SCHEDULE_P52.csv |
1,769 | Carrier × Aircraft × Region × Quarter |
| P-12A Fuel | T_F41SCHEDULE_P12A.csv |
473 | Carrier × Quarter |
Source: Bureau of Transportation Statistics — 2025 Q1-Q3.
AeroInsight/
├── dashboards/
│ ├── app.py # Unified Streamlit app (6 pages)
│ ├── pages/ # Page modules (home, competitive, roi, cost, forecast, explorer)
│ ├── components/ # Shared UI components (styles, header, footer, metrics)
│ └── module[1-4]_*.py # Standalone module dashboards
├── src/
│ ├── data/ # Pipeline: loader, cleaner, integrator
│ ├── features/ # Feature engineering (cost, performance, competitive, temporal)
│ ├── modules/ # Analytical modules (4 modules, 40+ functions)
│ ├── models/ # ML models (XGBoost aircraft recommender)
│ └── visualization/ # 16 reusable plotting functions
├── notebooks/ # 8 Jupyter notebooks (data setup through forecasting)
├── tests/ # 62 tests (unit, integration, data quality)
├── docs/ # 10 documentation files + 29 figures
├── data/
│ ├── raw/ # 3 BTS CSV files
│ ├── processed/ # Cleaned parquets + enriched_dataset.parquet
│ └── merged/ # master_dataset.parquet (351K rows × 76 cols)
└── requirements.txt
| Category | Tools |
|---|---|
| Language | Python 3.10+ |
| Data | pandas, NumPy, PyArrow |
| ML | scikit-learn, XGBoost |
| Visualization | Plotly, Matplotlib, Seaborn |
| Dashboard | Streamlit |
| Testing | pytest |
| Document | Description |
|---|---|
| Dashboard User Guide | How to use the unified dashboard |
| Technical Docs | Architecture, pipeline, API reference |
| Data Dictionary | Column descriptions and data sources |
| Insights Summary | Top 10 findings and 4 key answers |
| Module 1: Competitive Intel | Market analysis methodology |
| Module 2: Aircraft ROI | Fleet economics methodology |
| Module 3: Cost Savings | Replacement analysis methodology |
| Module 4: Forecasting | Forecasting methodology and limitations |
| Phase 1: Data Pipeline | Data cleaning and integration |
| Phase 2: Feature Engineering | Feature computation details |
| Project Report | Full project report |
| Demo Script | 3-minute walkthrough script |
- Domestic only — T-100 dataset covers US domestic routes. No international data.
- Air ops only — P52 covers ~40-65% of total airline costs (excludes ground ops, admin, depreciation).
- 3 quarters — Q1-Q3 2025 financial data. Forecasts are trend extrapolations, not time-series models.
- Scope mismatch — P52 covers all operations (domestic + international) while T-100 is domestic-only. Widebody and B757 CASM unreliable.
- No revenue data — ROI uses estimated proxies based on industry load factors.
This project is for educational and portfolio purposes. BTS data is public domain.