End-to-end data analytics project using Excel, MySQL and Power BI — ZenMart Nigeria E-Commerce Sales Analysis 2024
# ZenMart-Nigeria-Sales-Analysis
Project Overview
An end-to-end data analytics project analysing 50 orders across 4 Nigerian regions. Covers revenue performance, customer behaviour, product analysis, delivery operations, and loyalty tier insights.
Built by: Rasheed A. Tijani — Data Analyst
Tools: Microsoft Excel | MySQL | Power BI
Scope: 50 orders, 44 customers, 27 products, 6 months (Jan–Jun 2024)
📊 Tools & Skills Used
Excel
Data cleaning, SUMIFS, VLOOKUP, Pivot Tables, IFS()
MySQL
Database design, JOINs, window functions, DATEDIFF
Power BI
KPI cards, DAX measures, slicers, interactive dashboard
📁 Repository Structure
zenmart-sql-analysis/
├── data/
│ ├── zenmart_orders.csv
│ └── zenmart_customers.csv
├── sql/
│ ├── 01_data_cleaning.sql
│ ├── 02_analysis_queries.sql
│ └── 03_window_functions.sql
├── dashboard/
│ └── ZenMart_Dashboard.png
└── README.md
💡 Key Business Insights
Total delivered revenue across all regions: ₦7,556,475 (H1 2024)
East region leads all regions in revenue at ₦2,336,950 (31%)
Electronics drives 67% of total revenue — iPhone 14 is top product at ₦1.7M
Only 4 of 44 customers are repeat buyers — loyalty program urgently needed
All regions deliver consistently within 4.9–5.0 days
January and May are peak revenue months
Platinum and Gold customers together drive 60% of total revenue
Average order value: ₦164,271 per delivered order
🧹 Data Cleaning (Excel)
Fix product name casing
=PROPER(G2)
Standardize text case
Flag missing Ship_Date
=IF(D2="","Not Yet Shipped","Shipped")
Identify pending orders
Calculate Delivery Days
=IF(D2="","N/A",D2-C2)
Measure delivery speed
Flag Discount Tier
=IFS(J2=0,"None",J2 10,"High")
Group discounts
Total Sales
=H2*I2*(1-(J2/100))
Revenue after discount
🗄️ SQL Analysis
Data Fixes:
-- Fix commas in Unit_Price
UPDATE orders SET Unit_Price = REPLACE(Unit_Price, ',', '');
-- Fix date format
ALTER TABLE orders ADD COLUMN Order_Date_Clean DATE;
UPDATE orders SET Order_Date_Clean = STR_TO_DATE(Order …