InsightFlow is an interactive business analytics platform that allows users to upload sales data, map their columns to the application's standard structure, and generate dashboards, customer insights, product analytics, and downloadable reports.
๐ Live Demo: Go to InsightFlow
๐ Python โข ๐บ Streamlit โข ๐ผ Pandas โข ๐๏ธ SQLite โข ๐ Plotly
- Upload datasets in CSV or Excel format.
- Map custom dataset column names to InsightFlow's required structure.
- Prevent the same uploaded column from being mapped multiple times.
- Automatically handle unavailable optional columns.
- Validate uploaded data before inserting it into the database.
- Detect invalid numeric and date values.
- Detect duplicate order records.
InsightFlow uses SQLite as its backend database.
The application stores data across three related tables:
Stores customer information including:
- Customer ID
- Customer Name
- Region
- City
Stores product information including:
- Product ID
- Product Name
- Category
- Sub-Category
Stores transactional sales information including:
- Order ID
- Order Date
- Customer ID
- Product ID
- Sales
- Quantity
- Discount
- Profit
The tables are connected using primary keys and foreign keys.
The Executive Dashboard provides an overall view of business performance.
- ๐ Total Orders
- ๐ฆ Total Products
- ๐โโ๏ธ Total Customers
- ๐ธ Total Sales
- ๐ Total Profit
- ๐ Average Order Value
- Monthly Sales Trend
- Monthly Profit Trend
- Sales by Region
- Profit by Region
- Sales by Category
- Profit by Category
The Customer Insights page helps analyze customer behavior and contribution.
- Total Customers
- Repeat Customers
- Most Frequent Customer
- Customers Ranked by Number of Orders
- Top 10 Customers by Revenue
- Customer Segmentation
Customers are segmented into:
- ๐ High Value
- ๐ฅ Regular
- ๐ Low Value
A pie chart provides a visual overview of customer segmentation.
The Product Performance page provides insights into product-level business performance.
- Total Products
- Best Selling Product
- Most Profitable Product
- Overall Product Summary
- Top Selling Products
- Least Selling Products
- Top Profitable Products
- Product Sales Treemap
The application uses interactive Plotly visualizations to explore product performance.
The Reports page allows users to generate filtered business reports.
Users can filter data by:
- Category
- City
- Month
- Year
- ๐ Sales Table
- ๐ฅ Customer Table
- ๐ฆ Product Table
- ๐ Full Merged Table
- ๐ Business Summary Report
- ๐ฅ Customer Report
- ๐ฆ Product Report
All reports can be downloaded as CSV files.
The Trends and Predictions section is currently under development.
Future versions of InsightFlow may include:
- Machine Learning Models
- Sales Forecasting
- Trend Prediction
- AI-Powered Business Insights
- Predictive Analytics
| Technology | Purpose |
|---|---|
| ๐ Python | Core programming language |
| ๐บ Streamlit | Web application and user interface |
| ๐ผ Pandas | Data cleaning and analysis |
| ๐ SQLite | Database management |
| ๐ Plotly | Interactive visualizations |
Project_InsightFlow/
โ
โโโ app.py
โโโ main.py
โโโ database_functions.py
โโโ UI_customization.py
โโโ insightflow.db
โโโ requirements.txt
โโโ .gitignore
โโโ README.md
โ
โโโ pages/
โ โโโ customer_feedback.py
โ โโโ executive_dashboard.py
โ โโโ product_performance.py
โ โโโ reports.py
โ โโโ trends_and_forecast.py
โ โโโ upload_dataset.py
โ
โโโ logos/
โ โโโ Project_logo.png
โ
โโโ screenshots/
โโโ customer_insight_bottom.png
โโโ customer_insight_top.png
โโโ dashboard_bottom.png
โโโ dashboard_top.png
โโโ home_bottom.png
โโโ home_top.png
โโโ product_performance_bottom.png
โโโ product_performance_top.png
โโโ reports_bottom.png
โโโ reports_top.png
โโโ upload_dataset_initial.png
โโโ upload_dataset_second.png
git clone https://github.com/arjumand547/InsightFlow.gitcd Project_InsightFlowpython -m venv .venv.venv\Scripts\activatesource .venv/bin/activatepip install -r requirements.txtRun the following command:
streamlit run main.pyThe application will start locally in your browser.
Upload Dataset
โ
Map Dataset Columns
โ
Validate Data Types
โ
Clean and Prepare Data
โ
Insert Customers into SQLite
โ
Insert Products into SQLite
โ
Map Customer and Product IDs
โ
Insert Sales into SQLite
โ
Analyze Data
โ
Generate Dashboards and Reports
InsightFlow follows a relational database structure.
CUSTOMERS
โ
โโโ Customer_ID (Primary Key)
โโโ Customer_Name
โโโ Region
โโโ City
โ
โ
โผ
SALES
โ
โโโ Sales_ID (Primary Key)
โโโ Order_ID
โโโ Order_Date
โโโ Customer_ID (Foreign Key)
โโโ Product_ID (Foreign Key)
โโโ Sales
โโโ Quantity
โโโ Discount
โโโ Profit
โฒ
โ
โ
PRODUCTS
โ
โโโ Product_ID (Primary Key)
โโโ Product_Name
โโโ Category
โโโ Sub_Category
This project demonstrates practical experience with:
- Data Cleaning
- Data Validation
- Data Type Conversion
- Missing Value Handling
- Duplicate Detection
- Relational Databases
- SQLite CRUD Operations
- Primary and Foreign Keys
- Pandas Data Analysis
- Data Merging
- GroupBy Operations
- Pivot Tables
- Customer Segmentation
- KPI Calculations
- Interactive Data Visualization
- Streamlit Session State
- File Upload Handling
- CSV Report Generation
- Git and GitHub
Possible future improvements include:
- ๐ค Machine Learning Sales Forecasting
- ๐ง AI-powered insights
- ๐ Advanced predictive analytics
- ๐ User authentication
- โ๏ธ Cloud database integration
- ๐ More advanced dashboard filtering
- ๐ง Automated report sharing
Syed Arjumand Haider Shah
Aspiring Data Analyst | BS Artificial Intelligence Student | Dashboard Developer
- ๐ GitHub: https://github.com/arjumand547
- ๐ Streamlit: https://share.streamlit.io/user/arjumand547
InsightFlow was built as a portfolio project to demonstrate practical skills in data analytics, dashboard development, database management, and interactive data visualization.
The project focuses on building a complete analytics workflow where users can upload raw business data and transform it into meaningful insights through dashboards and downloadable reports.
โญ If you find this project interesting, consider giving the repository a star!











