A company that supplies computer hardware and peripherals to many clients across India.
The company has a head office in Delhi and regional offices throughout India.
The sales director is facing a lot of challenges. The marketing is growing dynamically, he is struggling to keep track of the sales. He needs more accurate insights about the company sales and then makes the necessary decisions.
- Create a simple and informative dashboard about the company sales.
- I used
SQL
queries inMySQL Workbench
to look into the data andTableau
forETL
andVisualizations
to create the insights dashboard.
1. transactions | 2. customers | 3. date | 4. products | 5. markets | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
-
Show all tables and their rows in sales schema
SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'sales';
TABLE_SCHEMA TABLE_NAME TABLE_ROWS sales customers 38 sales date 1126 sales markets 17 sales products 279 sales ransactions 147678 -
Show date range
SELECT 'First Date', MIn(Order_Date) FROM sales.transactions UNION SELECT 'Last Date', MAX(Order_Date) FROM sales.transactions;
First Date 2017-10-04 Last Date 2020-06-26 -
Show Revenue in 2020 and 2019.
SELECT d.year, SUM(Sales_Amount) FROM sales.transactions as t JOIN sales.date as d ON t.Order_Date = d.date WHERE d.year = '2019' UNION SELECT d.year, SUM(Sales_Amount) FROM sales.transactions as t JOIN sales.date as d ON t.Order_Date = d.date WHERE d.year = '2020';
2019 336019102 2020 142224545 -
Show distinct currency and their count
SELECT currency, COUNT(currency) FROM sales.transactions GROUP BY currency;
INR 148393 USD 2
After a quick data exploration in MySQL, here are some initial findings:
- The database contains 5 tables: customers, date, markets, products, and transactions.
- There are 17 markets, 279 products, and 38 customers.
- The observation period is from OCT 2017 to JUN 2020.
- The total revenue in 2020 was ₹ 142.22 M, 57.7% less than 2019, which was ₹ 336.02 M.
- Most of the transactions data are in INR(₹) currency, but we have 2 records in US($) currency.
- And we got some garbage values in sales amount and market column. We’re going to deal with it in the ETL process.
Once I knew the basic features of the data I had to work with, I Imported the MySQL database into Tableau to do the necessary transformations and make a simple, reliable, and helpful dashboard.
We have one main table and four other tables having one shared column with the main table. So we will connect the other tables to the main table using the shared columns.
- Main Table: transactions
Table | Column | Main Table Column |
---|---|---|
customers | Customer_Code | Customer_Code |
date | date | Order_Date |
products | Market_Code | Market_Code |
markets | Product_Code | Product_Code |
- The company is serving only in India, So “Paris” and “New York” in the market table are garbage values, so filtering them out.
- The “currency” column (in transactions table) have 2 USD currency values, So created a new column called “Sales”, where all the sales_amount is in INR Currency.
The two dashboards shows all the main information about the company sales.
- Revenue
- Net Profit
- Revenue by Market
- Profit Trend by Market
- Revenue by Top 10 Products
- Profit Trend by Top 10 Products
- Loss Amount
- Markets Which creating Loss
- Top 10 Lossing Products
- It can be filtered by YEAR and it's a interactive Dashboard i.e, each other insights are inter-related and can be seen in any respects. So the sales director can have a deeper and quick view of the sales to support his decision making process.
Based on the dashbaords insights, I have made some conclusions and recommendation that Sales Marketing team should/can consider making a sales strategy.
- Sales were rapidly decreasing in 2020 compared to 2019 by around 57.7%.
- Highest revenue generated from Markets such as Delhi NCR, Mumbai, Ahmedabad, Bhopal, Nagpur, and so on.
- Highest quantities sold in the Market such as Delhi NCR, Mumbai, Nagpur, Kochi, Ahmedabad, and so on.
- Majority of the sales were takes place in the month of January followed by November and March.
- Make a new sales strategy for lucknow since its showing lowest revenue and negative profit margin and if possible so as for Surat and Bhubhaneshwar also.
- try to increase sales quantity in Patna, Surat and Kanpur since they have lowest sales quantity.
- start target campagin for Prod047 and Prod061 since they two are the most profitable and most selling products.
- try to give special benefits to Electronics and Excel stores as they are most profitable customers.
- make campgain strategy for mid year as they are showing high sales among other months.
- Tableau Dashboard: AtliQ Hardware Sales Insights by Laxman Singh
- Project Data: Google Sheet | MySQL Dump File
- Project Inspiration: codebasics YouTube channel.