An end-to-end Data Analytics project analyzing vendor sales, purchasing, profitability, inventory efficiency, and freight costs using Python, SQL, SQLite, and Power BI.
The project follows a complete analytics workflow:
Raw Data → Data Ingestion → SQLite Database → Data Cleaning & Transformation → Vendor Analysis → Business Insights → Power BI Dashboard
The objective of this project is to evaluate vendor performance and identify opportunities for improving sales, profitability, purchasing efficiency, inventory management, and vendor relationships.
- Analyze vendor sales and purchasing performance
- Identify high- and low-performing vendors
- Evaluate vendor profitability and profit margins
- Analyze purchase and sales quantities
- Measure stock turnover
- Compare sales against purchasing costs
- Analyze freight costs
- Evaluate brand-level performance
- Identify potential purchasing and inventory optimization opportunities
- Present insights through an interactive Power BI dashboard
Vendor-Performance-Analysis/
│
├── DATA/
│ ├── begin_inventory.csv
│ ├── end_inventory.csv
│ ├── purchase_prices.csv
│ ├── purchases.csv
│ ├── sales.csv
│ └── vendor_invoice.csv
│
├── DATABASE/
│ └── inventory.db
│
├── IMAGES/
│ ├── Executive Overview.png
│ └── Vendor Performance.png
│
├── NOTEBOOK/
│ ├── Exploratory Data Analysis.ipynb
│ └── Vendor_Performance_Analysis.ipynb
│
├── OUTPUT/
│ ├── Brand_performance.csv
│ ├── vendor_performance.csv
│ ├── Vendor_sales_summary.csv
│ └── Vendor_sales_summary_cleaned.csv
│
├── POWER BI/
│ └── Vendors_Performance_Analysis.pbix
│
├── SCRIPTS/
│ ├── ingestion_db.py
│ └── get_Vendor_summary.py
│
├── LICENSE
├── README.md
└── requirements.txt
| Category | Tools |
|---|---|
| Programming | Python |
| Data Analysis | Pandas, NumPy |
| Database | SQLite, SQL |
| Visualization | Power BI, Matplotlib |
| Development | Jupyter Notebook |
| Version Control | Git, GitHub |
The project uses multiple datasets covering:
- Beginning inventory
- Ending inventory
- Purchase prices
- Purchases
- Sales
- Vendor invoices
These datasets form the raw input for the data ingestion, transformation, and analysis pipeline.
Note: The original
purchasesandsalesdatasets are large and may not be included directly in the repository because of GitHub file-size limitations.
Raw CSV files are read using Python and loaded into an SQLite database.
The ingestion script automatically processes the available datasets from the DATA directory and creates the corresponding database tables.
The project performs data preparation tasks including:
- Data type conversion
- Missing-value handling
- Text cleaning
- Data aggregation
- Joining multiple datasets
- Creating calculated business metrics
Purchase, sales, and freight information are combined to create a comprehensive vendor-level dataset.
Key metrics include:
- Total Purchase Quantity
- Total Purchase Dollars
- Total Sales Quantity
- Total Sales Dollars
- Total Sales Price
- Total Excise Tax
- Freight Cost
Gross Profit = Total Sales Dollars - Total Purchase Dollars
Profit Margin = (Gross Profit / Total Sales Dollars) × 100
Stock Turnover = Total Sales Quantity / Total Purchase Quantity
Sales-to-Purchase Ratio =
Total Sales Dollars / Total Purchase Dollars
Exploratory Data Analysis is used to investigate:
- Vendor performance
- Brand performance
- Sales performance
- Purchasing behavior
- Profitability
- Inventory efficiency
- Vendor contribution to overall business performance
The analysis notebooks are available in the NOTEBOOK directory.
The final analysis is presented through an interactive Power BI dashboard.
The dashboard provides a business-focused view of:
- Vendor performance
- Sales performance
- Purchase performance
- Gross profit
- Profit margin
- Inventory efficiency
- Vendor comparisons
- Key performance indicators
This project helps answer questions such as:
- Which vendors generate the highest sales?
- Which vendors generate the highest gross profit?
- Which vendors have the strongest profit margins?
- Which vendors have high purchasing costs relative to sales?
- Which vendors have strong stock turnover?
- Which brands contribute significantly to vendor performance?
- How do sales compare with purchasing costs?
- How do freight costs affect vendor profitability?
- Which vendors may require further investigation or optimization?
The analysis produces processed datasets including:
Brand_performance.csvvendor_performance.csvVendor_sales_summary.csvVendor_sales_summary_cleaned.csv
These outputs are used for further analysis and Power BI visualization.
git clone https://github.com/Shrey2503/Vendor-Performance-Analysis.git
cd Vendor-Performance-Analysispip install -r requirements.txtPlace the available CSV files inside:
DATA/
Run:
python SCRIPTS/ingestion_db.pyThis loads the available CSV datasets into the SQLite database.
Run:
python SCRIPTS/get_Vendor_summary.pyThis generates the vendor-level summary and calculated performance metrics.
Open the notebooks inside:
NOTEBOOK/
Open:
POWER BI/Vendors_Performance_Analysis.pbix
using Microsoft Power BI Desktop.
Potential improvements include:
- Automating the complete data pipeline
- Adding scheduled data refresh
- Improving dashboard interactivity
- Adding additional vendor-level KPIs
- Developing vendor segmentation
- Adding predictive sales analysis
- Implementing automated anomaly detection
- Connecting Power BI directly to the database
Shreyash Vats
Aspiring Data Analyst SQL | Python | Power BI | Excel
This project is licensed under the MIT License. See the LICENSE file for details.

