An end-to-end Power BI Business Intelligence solution that transforms raw sales, inventory, and customer data into actionable insights for retail operations and inventory planning.
Retail sales and inventory management require continuous monitoring of product margins, customer demographic spending habits, and top-performing inventory items. This project analyzes multi-region transaction data across fruits and vegetables to identify key revenue drivers, assess discount impact, and surface inventory velocity metrics for store management.
- Dataset
- Tools and Technologies Used
- Business Objectives
- Key Findings
- Executive Summary
- Recommendations
- Limitations
The project utilizes the Fruit Sales Data - Inventory and Sales.xlsx dataset, structured across three core relational entities:
- Sales Table: Contains transactional records, quantities sold, total revenue, unit prices, discounts applied, and foreign key mappings.
- Products Table: Details product names, sub-categories (Fruit vs. Vegetable), and pricing matrices.
- Customers Table: Contains demographic metadata including customer names, country locations (Belgium, France, Nederland), birth dates, and gender identifiers.
- Table Relationships & Merges: Merged
SaleswithCustomerviaFK_Customer = PK_CustomerandSaleswithProductviaFK_Product = PK_Product. - Data Standardisation: Replaced gender abbreviations (
M→Male,F→Female) for improved visual reporting clarity. - Feature Engineering: Extracted
Birth Yearfrom theBirthdatefield to support demographic age-cohort analytics.
- Power BI Desktop: Core platform for data modeling, DAX measures, visual representation, and dashboard design.
- Power Query Editor: ETL tool used for data transformation, field replacements, relationship mapping, and data type formatting.
- Data Analysis Expressions (DAX): Used to compute core KPIs including Total Sales, Volume Sold, and Total Discounts.
- Microsoft Excel: Raw data source repository.
The analysis addresses ten specific business operational questions:
- Identify the top-tier customer driving maximum purchase quantities.
- Provide detailed cross-tabulation of Quantity, Revenue, and Unit Price grouped by Product Name and Category.
- Evaluate unit pricing distribution across products to identify luxury/premium items.
- Analyze revenue trends based on customer birth cohorts.
- Determine the Top 3 Products by Total Revenue generated.
- Determine the Top 3 Products by Total Sales Volume (Quantity).
- Identify the Bottom 3 Products by Sales Volume to spotlight underperforming stock.
- Measure global Total Amount (Gross Revenue).
- Measure global Total Quantity Sold.
- Quantify global Total Discounts granted to customers.
- Top Revenue Drivers: Asparagus, Avocado, and Apple generate the highest aggregate revenue, driven by a combination of high unit price and consistent volume.
- Volume Leaders: Fast-moving consumer produce such as Bananas and Apples dominate total units sold, serving as key traffic drivers.
- Premium Pricing Outlier: Asparagus stands as the single most expensive item in the inventory ($12.12/unit), generating high margins despite lower overall volume.
- Demographic Sweet Spot: Customers born between 1980 and 1995 represent the highest spending cohort, contributing significantly to overall gross revenue.
- Underperforming Produce: Items in the bottom tier by quantity demand re-evaluation regarding shelf life, promotional positioning, or stock reduction.
The Sales and Inventory Analysis dashboard reveals a healthy distribution between high-volume impulse fruits (Apples, Bananas) and high-margin specialty produce (Asparagus). While high unit pricing elevates Asparagus to the top spot for total monetary turnover, its sales volume remains among the lowest in the catalog—indicating price elasticity at play. Promotional discounts successfully drive volume sales in core fruit lines, but discount allocation on premium vegetables requires tighter yield management to prevent unnecessary margin erosion.
- Inventory Stocking Strategy: Increase safety stock and inventory turnaround frequency for volume leaders (Apples and Bananas) to prevent stockouts during peak operational hours.
- Targeted Pricing Strategy: Introduce bundled packaging for premium items like Asparagus alongside high-volume staples to boost units-per-transaction (UPT) without sacrificing unit margins.
- Targeted Demographic Campaigns: Tailor promotional loyalty initiatives to the 30–40 age demographic (Birth Years 1985–1995), who generate the highest overall lifetime spending value.
- Discount Optimization: Audit discounting tiers on low-volume items (Broccoli, Cherry) to evaluate whether promotional pricing stimulates sales volume or simply reduces gross profit margin.
- Temporal Depth: The dataset captures transactional snapshots without explicit multi-year historical tracking, limiting YoY (Year-over-Year) growth rate benchmarking.
- Stock Tracking: Inventory balance reflects point-in-time snapshot quantities rather than real-time warehouse stock feeds or supplier lead-time metrics.
- Demographic Scope: Customer locations are limited to three European countries (Belgium, France, Nederland), constraining global market extrapolations.
To maintain high report performance, calculated columns were strictly limited to dimensional context, while dynamic measures were leveraged for aggregated KPI calculations.
// Extract Birth Year for Demographic Grouping
BirthYear = YEAR(Customers[Birthdate])
// Is Weekend-Flags whether a specific date falls on a weekend for filtering purposes.
Is Weekend = IF(WEEKDAY('Calendar'[Date], 2) >= 6, "Weekend", "Weekday")
// Total Sales Revenue
Total Amount = SUM(Sales[TotalAmount])
// Total Unit Volume Sold
Total Quantity = SUM(Sales[Quantity])
// Aggregate Discount Given
Total Discount = SUM(Sales[Discount])