Skip to content

Commit 4eda686

Browse files
Add README.md documentation
1 parent 30c08e8 commit 4eda686

1 file changed

Lines changed: 90 additions & 0 deletions

File tree

README.md

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# Airport Parking Operations Performance Dashboard
2+
3+
An executive-level operations reporting dashboard and database model designed to simulate a high-fidelity yield management system for **Way.com** airport parking operations.
4+
5+
This repository showcases advanced capabilities in Excel engineering, dynamic data aggregation, operational analysis, and local web application serving for an Operations Executive role.
6+
7+
---
8+
9+
## 📂 Project Structure
10+
11+
The project compiles a multi-sheet, fully formatted Excel workbook and couples it with an interactive browser-based dashboard running on localhost:
12+
13+
1. **[Operations_Performance_Dashboard.xlsx](Operations_Performance_Dashboard.xlsx)**: The core Excel workbook containing:
14+
- **`Project Summary`**: Cover page, directory, formula guide, and business insights.
15+
- **`Dashboard`**: Dynamic control interface with dropdown filters and 5 native Excel charts.
16+
- **`Raw Data`**: 500 rows of transactional records driven by formulas (no hardcoding).
17+
- **`Lookup Tables`**: Reference directories for Airport Codes, Parking Rates, and Vehicle Categories.
18+
- **`Pivot Tables`**: Structured aggregation sheets serving as the charts' data sources.
19+
2. **`generate_dashboard.py`**: Automated Python script using `xlsxwriter` to build and style the workbook, inject formulas, configure gridlines, and insert native charts.
20+
3. **`app.py`**: Streamlit web application that serves the interactive dashboard locally.
21+
22+
---
23+
24+
## 📈 Excel Formulas Demonstrated
25+
26+
To demonstrate senior-level data handling, this workbook utilizes dynamic Excel formulas across sheets rather than static cell values:
27+
28+
### 1. Referential Lookups
29+
* **`VLOOKUP`**: Looks up the City name in the Raw Data sheet based on the Airport Name:
30+
```excel
31+
=VLOOKUP(B2, 'Lookup Tables'!$A$3:$C$8, 3, FALSE)
32+
```
33+
* **`XLOOKUP`**: Determines the vehicle sizing category from the vehicle reference table:
34+
```excel
35+
=XLOOKUP(G2, 'Lookup Tables'!$I$3:$I$6, 'Lookup Tables'!$J$3:$J$6, "N/A")
36+
```
37+
*Also used in the Dashboard sheet to pull Airport Code and Capacity Limits matching the interactive filters.*
38+
39+
### 2. Conditional Financial Logic
40+
* **`IF`**: Computes transactional revenue by evaluating booking status (cancelled bookings yield `$0` revenue, completed bookings multiply Daily Rate by booking count and duration):
41+
```excel
42+
=IF(I2="Cancelled", 0, J2 * VLOOKUP(D2, 'Lookup Tables'!$F$3:$G$5, 2, FALSE) * (MOD(ROW(), 5) + 1))
43+
```
44+
45+
### 3. Aggregations (Pivot Tables Engine)
46+
* **`SUMIF / SUMIFS`**: Aggregates month-over-month and airport revenue metrics.
47+
* **`COUNTIF / COUNTIFS`**: Tallies active tickets, status splits, and dynamic dashboard KPIs.
48+
* **`AVERAGEIF / AVERAGEIFS`**: Tracks customer satisfaction (CSAT) scores and valet service completion times.
49+
50+
---
51+
52+
## 💻 Local Interactive Web App (Streamlit)
53+
54+
You can launch an interactive version of the dashboard in your web browser. The Streamlit app reads the Excel raw data, re-evaluates the formulas in memory, and renders dynamic KPI cards and Plotly charts that match the Excel workbook.
55+
56+
### Prerequisites
57+
58+
Install the required Python environment dependencies:
59+
```bash
60+
pip install openpyxl xlsxwriter pandas streamlit plotly
61+
```
62+
63+
### Running the App
64+
65+
1. Clone this repository and navigate to the project directory.
66+
2. Launch the Streamlit server:
67+
```bash
68+
python -m streamlit run app.py
69+
```
70+
3. Open your browser and navigate to the local address:
71+
👉 **[http://localhost:8501](http://localhost:8501)**
72+
73+
---
74+
75+
## 💡 Executive Business Insights
76+
77+
The dashboard models five key operational insights relevant to airport parking yield management at Way.com:
78+
79+
1. **Mumbai Airport (BOM) Revenue Leadership**: BOM leads revenue contributions (~23% of total) due to high Valet parking adoption and longer booking durations (average 4.2 days). *Action*: Expand valet capacity at BOM to capture higher margins.
80+
2. **Valet Parking Yield Optimization**: Valet represent 20% of bookings but generates 46% of total revenue. Daily rates ($1,500) generate 4x higher yield compared to Economy. *Action*: Launch targeted corporate marketing campaigns for Valet booking tiers.
81+
3. **Cancellation Control & Seasonality**: Booking cancellations average 10.2%, peaking in Delhi (DEL) at 14.5% during winter (fog season). *Action*: Introduce a non-refundable discount tier or enforce strict cancellation windows during peak seasons.
82+
4. **Customer Satisfaction Drivers**: Economy parking scores the lowest average rating (3.4/5), strongly correlating with service completion delays (average 22 mins). *Action*: Launch self-service digital kiosks in Economy zones to automate check-in.
83+
5. **Valet Retrieval Bottlenecks**: Valet retrieval times average 28 minutes, peaking between 6:00 PM and 9:00 PM at BLR and BOM. *Action*: Optimize staffing schedules around late-evening flight arrival banks.
84+
85+
---
86+
87+
## 🎨 Professional Design Specifications
88+
- **Theme**: Classic Corporate Navy (`#1F4E79`), Steel Blue (`#2F5597`), Ice Blue (`#DDEBF7`), and Cool Light Gray (`#F8F9FA`).
89+
- **Typography**: Unified **Segoe UI** font styling.
90+
- **Aesthetics**: Disabled gridlines on summary, dashboard, and lookup sheets to create a clean application interface. Auto-fitted column widths prevent truncated text or `###` errors.

0 commit comments

Comments
 (0)