https://app.powerbi.com/view?r=eyJrIjoiMmNiZmMxYmItZjU3NC00ZGE3LTg2NjktOGFjYmExZTBmMDIxIiwidCI6IjYwYmViOWI5LWIzMmYtNGY5OS1iNDhmLWI0NGYwMDdjYzVhOCIsImMiOjEwfQ%3D%3D
🍕 Pizza Place Sales Analysis: End-to-End BI Project
📌 Project Overview
This project demonstrates a complete ETL (Extract, Transform, Load) pipeline, transforming raw transactional CSV data into an interactive reporting system. The primary objective is to analyze business performance, optimize the menu, and identify peak hours to improve operational efficiency for a pizza chain.
Dataset: Pizza Place Sales
Access the full source code and technical implementation on GitHub
🛠 Tech Stack
- Language: Python (Pandas) - Data Cleaning & Pre-processing.
- Database: MySQL (Dockerized) - Data Warehousing & Modeling.
- BI Tool: Power BI - Data Visualization & DAX.
- Environment: Jupyter Notebook, HeidiSQL, Docker.
📑 Workflow & Technical Implementation
1. Data Cleaning & Pre-processing (Python)
Utilized the Pandas library to process raw data across 4 CSV files:
- Data Validation: Handled inconsistent date/time formats, converting them to the ISO standard (
YYYY-MM-DD).
- Dtype Optimization: Standardized data types (Integer, Float, DateTime) for structural consistency prior to database ingestion.
- Data Export: Exported the cleaned datasets into CSV format, ready for the loading phase.
2. Data Engineering & Modeling (SQL - MySQL)
Established a localized Data Warehouse using a MySQL Docker container:
- ETL Pipeline: Built Staging tables for raw data, then executed DDL/DML scripts to insert and transform the data into a production-ready model.
- Schema Design: Architected a robust Snowflake Schema:
- Fact Table:
fact_sales (Stored granular transaction details; calculated Revenue dynamically using SQL JOIN operations).
- Dimension Tables:
dim_pizzas, dim_pizza_type, dim_order (Stored descriptive attributes).
- Data Integrity: Enforced Primary Keys (PK) and Foreign Keys (FK) to ensure data integrity and optimize query performance.