Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

17 Commits

Repository files navigation

🛍️ ShopNile — Data Analysis & Business Intelligence Project

Your One-Stop Online Marketplace
A full data pipeline project: from raw messy data to an interactive business dashboard.


📌 Project Overview

ShopNile is a comprehensive data analysis project for a fictional online marketplace. It covers the full data pipeline — from raw messy data to a fully interactive business dashboard — demonstrating real-world skills in data cleaning, transformation, and visualization.


📁 Project Structure

ShopNile/
│
├── raw_data/
│ ├── customers_messy.csv
│ ├── orders_messy.csv
│ ├── payments_messy.csv
│ └── products_messy.csv
│
├── clean_data/
│ ├── Customers_Clean.csv
│ ├── Orders_Clean.csv
│ ├── Payments_Clean.csv
│ └── Products_Clean.csv
│
├── ShopNile_Cleaning.ipynb # Data cleaning pipeline
├── ShopNile_Analysis.py # Streamlit dashboard
└── ShopNile_Logo.png

🗄️ Data Model

The project follows a Star Schema:

TableTypeKey ColumnRecords
Customers_CleanDimensioncustomer_id500
Products_CleanDimensionproduct_id120
Orders_CleanFactorder_id3,000
Payments_CleanFactorder_id3,050

Relationships:

  • OrdersCustomers via customer_id
  • OrdersProducts via product_id
  • OrdersPayments via order_id

🧹 Data Cleaning — ShopNile_Cleaning.ipynb

Key cleaning steps applied to all four raw datasets:

  • ✅ Removed duplicate rows and fixed inconsistent primary/foreign keys
  • ✅ Handled missing values through imputation or removal
  • ✅ Standardized date formats across all date columns
  • ✅ Corrected data type mismatches (e.g. numeric fields stored as strings)
  • ✅ Fixed invalid categorical values (e.g. payment status, city names)
  • ✅ Removed/capped outliers in numeric columns (price, amount_paid, income)
  • ✅ Normalized text fields (name casing, trimming whitespace)

📊 Dashboard — ShopNile_Analysis.py

Built with Streamlit and Plotly Express.

KPI Cards

MetricDescription
💰 Total RevenueSum of all payments
📦 Total OrdersCount of unique orders
👥 Total CustomersCount of unique customers

Charts

ChartTypeDescription
Sales by CategoryPie ChartRevenue breakdown across product categories
Sales by CityBar ChartRevenue ranked by customer city
Sales by Payment MethodPie ChartRevenue split by payment method
Sales Over TimeLine ChartQuarterly revenue trend
Top 10 ProductsBar ChartHighest-revenue products by name

Interactivity

  • 🔽 Category Slicer — filters all charts and KPIs by product category

🛠️ Tech Stack

ToolPurpose
Python 3Core programming language
PandasData manipulation and cleaning
Jupyter NotebookInteractive data cleaning documentation
StreamlitWeb-based dashboard framework
Plotly ExpressInteractive chart rendering

🚀 How to Run

1. Install dependencies

pip install streamlit pandas plotly

2. Place the clean CSV files inside a folder named clean_data/

3. Run the dashboard

streamlit run ShopNile_Analysis.py

4. Open your browser and go tohttp://localhost:8501


📂 Dataset Overview

ColumnTableDescription
customer_idCustomersUnique customer identifier
name, age, cityCustomersCustomer demographics
signup_date, incomeCustomersRegistration and financial info
product_idProductsUnique product identifier
product_name, categoryProductsProduct details
price, stockProductsPricing and inventory
order_idOrdersUnique order identifier
quantity, discountOrdersOrder details
order_date, payment_methodOrdersTransaction info
amount_paid, payment_statusPaymentsPayment details

Dashboard URL

https://shopnile-analysis-using-python-h9bbtrwmjconbq49mfkc8f.streamlit.app

ShopNile — Data Analysis Portfolio Project

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages