An end-to-end Business Intelligence and Data Engineering project that designs, simulates, structures, and visualizes operations logistics, financial performance, and customer cohorts for Zomato's Operations Leadership Team.
This project is built using a classic Star Schema data warehouse architecture. A custom data generation pipeline simulates 18 months of historical operations records, which are then cleaned, modeled, and visualized inside Power BI Desktop:
[python/config/settings.py] ──> [python/business_rules/rules.py]
│
▼
[python/generators/run_pipeline.py]
│
▼
[data/synthetic/*.csv]
│
▼
[Power Query ETL (M)]
│
▼
[Power BI Data Model]
│
▼
[Interactive 3-Page Dashboard]
- 📁
data/synthetic/— Generated relational CSV files (Cities, Customers, Restaurants, Riders, Promotions, Orders, Payments). - 📁
python/— Synthetic data generator scripts and custom business simulation rules (seasonality, growth rates, prep times, SLAs). - 📁
sql/schema/— Production DDL schema scripts for MySQL compatibility. - 📁
powerbi/— Tabular data model report (.pbix), custom dark flat theme (zomato_theme.json), and graphical layout assets. - 📁
documentation/— Multi-page documentation covering Business Requirements, Data Dictionaries, DAX Formulas, and setup guides.
- Temporal Coverage: January 1, 2024 – June 30, 2025.
- Cities: 15 Indian cities classified into Tier 1, Tier 2, and Tier 3 markets.
- Orders Fact Table: 119,994 transactional records.
- Payments Fact Table: 123,275 transaction attempts (incorporates digital failures and Cash on Delivery).
- Active Restaurant Partners: 1,287 online partners grouped by tier (Gold, Silver, Bronze).
- Active Rider Fleet: 669 delivery partners using Motorcycles, Scooters, and Bicycles.
The project maps and calculates 38 DAX metrics organized across three consolidated views:
- Total Revenue / GMV: Tracking financial growth and platform margins.
- Average Order Value (AOV): Monitoring average cart spends.
- Promotion ROI: Quantifying discount campaign profitability.
- Payment Success Rate: Gateway performance auditing.
- On-Time Delivery Rate (OTDR): SLA tracking (90% target) showing rainy-season monsoon delays.
- Average Prep Time: Kitchen latency audits across restaurant tiers.
- Orders Heatmap: Grid mapping time-of-day order density (lunch/dinner rushes).
- Rider Utilization: Deliveries completed per active rider per day.
- Customer Cohort Segments: Profiles users into New, Active, Lapsed, Churned.
- Customer Churn Rate: Monitoring user attrition metrics.
- CSAT Score: Customer rating distributions (1-5 stars).
- Demographic Segmentation: Slice orders by customer age groups and gender.
To regenerate the synthetic dataset or modify the business rules:
- Initialize Python virtual environment:
python -m venv venv .\venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Run the generation pipeline:
python python/generators/run_pipeline.py