This repository transforms a massive raw dataset of 119,390 hotel booking records into a highly professional, interactive, and predictive analytics platform. Developed as the capstone for the Data Mining & Visualization course at MTC under the Digilians program, this dashboard serves as a production-grade business intelligence tool.
By bridging complex Machine Learning predictions (Cancellation Risk & Seasonality) with a high-performance Glassmorphism UI, this system allows hotel managers to monitor KPIs, predict cancellations, and strategize pricing dynamically in real time.
| Category | Feature Description | Technology |
|---|---|---|
| 🏎️ Performance | Custom Dynamic Data Engine parsing 119k rows of CSV data strictly on the client-side with zero latency. | PapaParse / Vanilla JS |
| 📈 Visual Analytics | High-fidelity mixed-mode Line/Bar trends, seasonal heatmaps, and interactive segmented doughnut charts. | Chart.js |
| 🎨 Premium UI | Sleek, dark-themed responsive interface featuring CSS Glassmorphism and active background animations. | HTML5 / CSS3 |
| 🤖 Machine Learning | Integrated insights extracted from external Random Forest classifiers and K-Means clustering pipelines. | Python / Scikit-learn |
| 🗄️ Architecture | Rigorously designed database schema backing the analytical metrics (Conceptual & Logical ERDs). | Orange DB |
The application is deliberately built without heavy frameworks to maximize raw parsing speed on large datasets:
- Core: HTML5, CSS3, ES6+ Javascript
- Data Parsing: PapaParse
- Visualization: Chart.js
- Typography: Google Web Fonts
- Data Cleaning & EDA: Python (Pandas, NumPy)
- Modeling: Random Forest (Cancellation Prediction), K-Means
- Visualization Tooling: Matplotlib, Seaborn, Power BI
To run the intelligence dashboard locally on your machine:
-
Clone the repository:
git clone https://github.com/GhariebML/Hotel-Booking-Dashboard.git cd Hotel-Booking-Dashboard -
Serve the Application: Because of aggressive browser CORS policies regarding local CSV file parsing, you must serve the directory via a local web server (do not just double-click
index.html).Using Python:
python -m http.server 8000
Alternatively, use the VS Code "Live Server" extension.
-
Access the Dashboard: Open your browser and navigate to
http://localhost:8000
This platform was developed and deployed by the Snipers Team as a graduation capstone.
- Lead Developer & Data Scientist: Mohamed Gharieb
- Supervision: Dr. Mohamed El Shafey
- Institution: Digilians / MTC
