Skip to content

Forecasting hotel room revenue like a time-traveling data wizard. From old-school ARIMA to state-of-the-art attention-based deep learners — all in one notebook!

Notifications You must be signed in to change notification settings

Namitjain07/DeepForecast-Revenue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌟 DeepForecast-Revenue 📊🏨

Forecasting hotel room revenue like a time-traveling data wizard.
From old-school ARIMA to state-of-the-art attention-based deep learners — all in one notebook!


🧑‍🏫 Supervision

This project is carried out under the guidance of Dr. Arjun Ray.


📈 Prediction Gallery

Forecast Type Preview
Prophet 1-Year Daily Model
Scatter Plot- 1 day
TBATS
Prophet 1-Month Daily Model
Prophet 3-Month Daily Model

✨ Highlights

✅ Tried-and-tested classical models
✅ ML regressors + exogenous variable magic
✅ Neural networks with custom attention
✅ 1-day, 30-day, and 365-day forecasts
✅ Easy to reproduce + exportable plots
✅ 📈 Prophet with daily learning turns out to be the best performer for long-term forecasts (1 year)!


🔮 Why Prophet Shines Bright 🌞

When trained every day and set for 1-year windows, Prophet dominates the leaderboard!
Thanks to its intuitive handling of seasonality, holidays, and trends — it's ideal for hotel data.

📊 Visual: Prophet Forecast vs Reality
Prophet 365 Forecast


🧠 Models Explored

  • 🔢 ARIMA/SARIMA
  • 🤖 Auto-ARIMA + Exogenous SARIMAX
  • 📈 Ridge Regression / XGBoost
  • 🧬 LSTM / GRU with Attention
  • 🧪 Ensembles
  • TBATS / Decomposition
  • 🧠 VAR (Multivariate)
  • 🧿 Prophet (Daily retrained)
  • 🧠 BiLSTM + GRU + Custom Attention

📁 Project Structure

📦 DeepForecast-Revenue
├── model_train_classification_4_files.ipynb
├── data/
│   ├── df_4_files_combined_no_outliers.pkl
│   └── df_4_files_combined_no_outliers_for_AR.pkl
├── images/
│   ├── prophet_1_year_forecast.png
│   ├── bilstm_attention_forecast.png
│   └── ...
├── models/
│   ├── best_arima_model.pkl
│   ├── prophet_model_365.pkl
├── outputs/
│   ├── 30_day_forecast_ARIMA.png
│   └── ...

🧰 Setup Instructions

🔌 Environment

conda create -n forecast_env python=3.8
conda activate forecast_env
pip install -r requirements.txt

Or install manually:

pip install numpy pandas matplotlib seaborn statsmodels pmdarima scikit-learn xgboost prophet tensorflow pytorch-lightning pytorch-forecasting tbats holidays joblib

🚀 Run It

jupyter notebook model_train_classification_4_files.ipynb

🧪 Notebook Workflow Snapshot

🛫 Start with: Clean daily hotel room revenue 🔄 Transformations: Resampling, decomposition 📊 Forecasting methods:

  • ARIMA → SARIMA → Auto-ARIMA
  • SARIMAX + Exogenous features (ARR, Rooms Sold, etc.)
  • Ridge & XGBoost
  • Prophet with Holidays
  • LSTM / GRU / BiLSTM + Attention
  • TBATS + VAR
  • 🧠 Ensemble learning for robust results!

📦 Outputs Saved:

  • Forecast PNGs
  • Residual plots
  • Joblib models
  • Cross-validation MAE/RMSE

🏆 Prophet Reigns Supreme!

Prophet, when retrained every day and tuned for a 1-year forecast window, delivers the lowest MAPE and most stable predictions — especially during seasonal spikes and sudden drops.

Model Horizon MAPE ↓ RMSE ↓
Prophet (Daily) 365 8.7% 1243
XGBoost 30 10.5% 1460
SARIMAX + Exog 90 11.9% 1522
Ensemble (All) 30 9.2% 1330

📌 Visual comparison plots saved in images/.


💡 Inspiration

This project was born out of a desire to build an all-in-one forecasting Swiss army knife for hotels. Whether it’s a budget inn or a five-star chain — daily revenue prediction matters.


🧾 References


🧙‍♂️ Predict the future... one revenue spike at a time. — Team DeepForecast

About

Forecasting hotel room revenue like a time-traveling data wizard. From old-school ARIMA to state-of-the-art attention-based deep learners — all in one notebook!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •