Skip to content

Divyadharshini308/Blinkit-SQL-Analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

📊 Blinkit Grocery Sales Analysis Using SQL

SQL-Based Sales Analysis Project | Data Cleaning | KPI Analysis | Window Functions

🚀 Project Overview

This project analyzes the Blinkit Grocery dataset using SQL to extract meaningful business insights. The primary objective was to:

-Clean inconsistent data -Calculate key performance indicators (KPIs) -Perform category-wise and outlet-wise sales analysis -Compute percentage contribution using window functions -A sample dataset (1000 rows) has been uploaded for demonstration purposes. The original dataset contains 7000+ records.

🛠 Tools & Technologies Used

-MySQL Workbench -SQL (Aggregate Functions, Window Functions, Data Cleaning) -GitHub

🗄 Database Setup -create database blinkit; -use blinkit; -select * from blinkit grocery data;

🧹 Data Cleaning Process 1️⃣** Fixed Column Encoding Issue** The column Item Fat Content was renamed properly:

ALTER TABLE blinkit grocery data CHANGE COLUMN Item Fat Content Item Fat Content TEXT;

2️⃣** Standardized Categorical Values**

Inconsistent values like: -'LF' -'low fat' -'reg'

Were standardized to: -'Low Fat' -'Regular'

update blinkit grocery data set Item Fat Content = case when Item Fat Content in ('LF','low fat') then 'Low Fat' when Item Fat Content = 'reg' then 'Regular' else Item Fat Content end;

Validation:

select distinct(Item Fat Content) from blinkit grocery data;

📊 Key Performance Indicators (KPIs) 🔹** 1. Total Sales (in Millions)** select cast(sum(Total Sales)/1000000 AS Decimal(10,2)) as 'Total sales' from blinkit grocery data;

🔹 2. Average Sales select cast(avg(Total Sales) as decimal(10,0)) as 'Total Sales' from blinkit grocery data;

🔹 3. Total Number of Items select count(*) as 'TotalItem' from blinkit grocery data;

🔹 4. Average Rating select avg(Rating) as 'Average Rating' from blinkit grocery data;

📈 Exploratory Data Analysis 1️⃣ Sales by Item Fat Content

-Total Sales -Average Sales -Number of Items -Average Rating

select Item Fat Content, cast(sum(Total Sales) as decimal(10,2)) as 'Total Sales', cast(avg(Total Sales) as decimal(10,0)) as 'Average Sales', count(*) as 'TotalItem', avg(Rating) as 'Average Rating' from blinkit grocery data group by Item Fat Content order by Total Sales;

2️⃣ Sales by Item Type select Item Type, cast(sum(Total Sales) as decimal(10,2)) as 'Sales by Item', cast(avg(Total Sales) as decimal(10,0)) as 'Average Sales', count(*) as 'Total item' from blinkit grocery data group by Item Type;

3️⃣ Fat Content by Outlet Location select Outlet Location Type, Item Fat Content, cast(sum(Total Sales) as decimal(10,2)) as 'Sales by Item', cast(avg(Total Sales) as decimal(10,0)) as 'Average Sales', count(*) as 'Total item' from blinkit grocery data group by Outlet Location Type,Item Fat Content;

4️⃣ Sales by Outlet Establishment Year select Outlet Establishment Year, sum(Total Sales) as 'Total sales per establishment' from blinkit grocery data group by Outlet Establishment Year;

📊 Percentage Analysis Using Window Functions 1️⃣ Sales Percentage by Outlet Size select Outlet Size, sum(Total Sales) as 'Total sales', cast(sum(Total Sales) * 100.0 / sum(sum(Total Sales)) over() as decimal(10,3)) as Sales_Percentage from blinkit grocery data group by Outlet Size;

2️⃣ Sales by Outlet Location Type select Outlet Location Type, cast(sum(Total Sales) as decimal(10,2)) as Sales_by_location from blinkit grocery data group by Outlet Location Type;

3️⃣ Complete Sales Performance by Outlet Location select Outlet Location Type, cast(sum(Total Sales) as decimal(10,2)) as Sales_by_Item, cast(sum(Total Sales) * 100.0 / sum(sum(Total Sales)) over() as decimal(10,3)) as Sales_Percentage, cast(avg(Total Sales) as decimal(10,0)) as 'Average Sales', count(*) as 'Total item' from blinkit grocery data group by Outlet Location Type;

💡 Key Business Insights

-Identified which outlet location type contributes the highest revenue. -Measured percentage contribution of each outlet size. -Compared performance of Low Fat vs Regular products. -Analyzed sales distribution across item categories. -Evaluated performance based on outlet establishment year.

⚠ Challenges Faced

-Encountered encoding issue in column name. -Faced ONLY_FULL_GROUP_BY SQL mode error. -Learned correct grouping and ordering logic. -Improved understanding of window functions.

📚 Skills Demonstrated

-SQL Data Cleaning -GROUP BY and Aggregations -Window Functions -KPI Calculation -Business Insight Extraction -Analytical Thinking

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors