This is an end-to-end Jumia e-commerce data analysis and interactive Microsoft Excel dashboard project; analyzing product pricing, promotional discounts, customer ratings, and engagement metrics for Jumia listings.
Project Overview
Jumia and its marketplace sellers require data-driven insights into how pricing strategies, promotional discounts, and customer ratings impact overall engagement. Because direct sales volume and revenue figures are not present in the dataset, in the provided dataset I assumed that review counts indicated customer engagement.
In this project I processed raw Jumia product data, performed data quality audits, standardized messy records, enriched the dataset with logical categories and performance flags, evaluated linear correlations, and build an interactive, single-screen Microsoft Excel dashboard.
Core Questions I used to drive my Analysis
- Are larger promotional discounts associated with higher customer engagement (reviews)?
- Do highly rated products attract stronger customer interaction?
- Do current price points move together with average customer ratings?
- Which products represent top catalog performers versus underperforming promotional risks?
- What specific pricing or marketing adjustments should sellers execute?
PivotTable and analysis workflow
Data Audit Summary
- Total Raw Records: 115 rows
- Duplicate Records: 3 full duplicate rows identified and removed (reducing clean catalog count to 112 unique products).
- Price Ranges: Evaluated and converted to midpoints on row 39 for consistent numeric analysis while preserving auditable source text.
- Missing Values: 58 missing values in ratings and reviews were treated as "uncaptured data" rather than converted to zeros. Below is a snippet of the audit summary.
Data Cleaning & Transformation Rules
All data transformations were executed cleanly in Cleaned_Data (tblProducts) and documented in the workbook Data_Dictionary:
- Product Name: Standardized using =TRIM().
- Prices: Cleaned of text characters (KSh, commas) and converted to numeric currency (KSh #,##0.00). Range values were resolved using midpoints: (Min + Max) / 2.
- Discounts: Stripped of % signs, converted to decimals, and formatted as Percentage (0%).
- Reviews: Converted negative values to absolute whole numbers via =ABS().
- Ratings: Extracted numeric values by removing " out of 5" and converted to decimals.
Calculated & Enriched Fields
- Discount Amount: Old Price - Current Price
-
Price Category:
Low Price: KSh 493.00 (First Quartile)
Medium Price: KSh 493.01 – KSh 1,669.50 (First Quartile to Third Quartile)
High Price: > KSh 1,669.50 (Third Quartile)
Discount Category: Low (<20%), Medium (20% - 40%), High (>40%)
-
Rating Category: Poor (<3.0), Average (3.0 - 4.5), Excellent (>4.5)
Excel formulas I used
I used several Excel formulas in this project and below is a list of most of the Formulas.
=VALUE(SUBSTITUTE(SUBSTITUTE(B2,"KSh",""),",",""))
=VALUE(SUBSTITUTE(D2,"%",""))/100
=IF(E2="","",ABS(VALUE(E2)))
=IF(F2="","",VALUE(SUBSTITUTE(F2," out of 5","")))
Total products =ROWS(tblProducts[Product])
Average current price =AVERAGE(tblProducts[Current Price])
Average old price =AVERAGE(tblProducts[Old Price])
Average discount =AVERAGE(tblProducts[Discount])
Average rating =AVERAGE(tblProducts[Rating])
Total reviews =SUM(tblProducts[Review])
Most expensive price =MAX(tblProducts[Current Price])
Least expensive price =MIN(tblProducts[Current Price])
Discount Amount: =[@[Old Price]]-[@[Current Price]]
Rating Category: =IF([@Rating]="","Missing",IF([@Rating]<3,"Poor",IF([@Rating]<=4.5,"Average","Excellent")))
Discount Category: =IF([@Discount]="","Missing",IF([@Discount]<0.2,"Low Discount",IF([@Discount]<=0.4,"Medium Discount","High Discount")))
Price Category =IF([@[Current Price]]="","Missing",IF([@[Current Price]]<=Price_Q1,"Low Price",IF([@[Current Price]]<=Price_Q3,"Medium Price","High Price")))
Validation Check : =IF(OR([@Rating]<0,[@Rating]>5),"Check rating",IF(OR([@Discount]<0,[@Discount]>1),"Check discount",IF([@[Current Price]]>[@[Old Price]],"Check prices","OK")))
=CORREL(tblProducts[Discount],tblProducts[Review])
=CORREL(tblProducts[Rating],tblProducts[Review])
=CORREL(tblProducts[Current Price],tblProducts[Rating])
=QUARTILE.INC(tblProducts[Current Price],1)
=QUARTILE.INC(tblProducts[Current Price],3)
=IF([@[Current Price]]="","Missing",IF([@[Current Price]]<=Price_Q1,"Low Price",IF([@[Current Price]]<=Price_Q3,"Medium Price","High Price")))
Below is a snippet image of the cleaned data table (tblproducts) achieved after data cleaning and addition of relevant columns(Enriched Fields).
After completing clean-up and analysis these are the total sheets I had in my Excel workbook.
![]()
I finally generated PivotTables and charts which I later used to build my dashboard. Below is an image of the PivotTables in one sheet.
Using this PivotTables I was able to generate Pie Chart and Column Charts for ease of building the Dashboard.
Dashboard design and slicer connections
To build a seamless, audit-ready presentation, I designed the Dashboard tab as a single-screen analytical hub that isolates reporting from underlying data logic.
The visual layout features high-level KPI cards, dynamic charts, and assumptions & recommendations sections, all driven by interactive Slicers connected across multiple PivotTables.
Using Excel's Report Connections, selecting a filter—such as Rating Category, Discount Category, or Price Category—instantly updates all visuals and summary metrics simultaneously, allowing stakeholders to cross-analyze product performance without altering the core dataset.
Below are the slicers I used.
The steps involved in connecting the Slicers with all the PivotTables are; right click on the Slicer, click report connections,on the pop-up min-window that comes up, tick all the boxes in the list and then click OK. This steps are as shown in the below image.
Below is the dashboard I came up with at the end of the project.
Key Findings & Correlation Analysis
Linear relationships were evaluated across complete paired observations using Pearson correlation (=CORREL()):

Business Recommendations
- Optimize Discount Bands: Products in the Medium Discount group (20%–40%) generate higher average engagement (15.26 reviews) than items in the High Discount group (>40%, averaging 11.13 reviews).
- Sellers should avoid slashing prices beyond 40% as it destroys margin without boosting sales volume.
- Audit Low-Rated, High-Discount Listings: 10 products pair high discounts (>40%) with poor ratings (<3.0). Deep price cuts on low-quality products harm brand reputation; Jumia should inspect these items for quality defects or inaccurate descriptions.
- Promote Catalog Star Performers: 6 listings achieve both Strong Engagement (greater or equal to 14 reviews) and Excellent Ratings (>4.5). Sellers should feature these items in sponsored ad campaigns to capture high conversion rates.
- Fix Average-Rated High-Volume Listings: 6 items generate high engagement (greater or equal to 14 reviews) but possess mediocre satisfaction ratings (3.0–4.5). Sellers should inspect buyer feedback to fix minor packaging or product flaws.
Data Limitations & Analytical Challenges
- Engagement Proxy: Review count is used as a proxy for customer engagement. The dataset omits direct sales units, page views, and financial revenue.
- Listing Age & Visibility: Review totals may reflect how long a product has been active on Jumia or its placement algorithm rather than price responsiveness.
- Correlation vs. Direct link: Observed statistical correlations do not establish direct cause-and-effect relationships.
Some of the Key Lessons I Learned while doing the project
Audit-Trail Data Cleaning: Cleaning raw e-commerce data requires preserving source inputs alongside normalized values. Converting price ranges to midpoints while keeping original text ensuring data integrity and traceability.
Data Types and Regional Formatting: Unstructured text strings (e.g., "KSh", ",", " out of 5", "%") break Excel numerical functions. Stripping formatting artifacts early prevents downstream #VALUE! errors in PivotTables and Formulas.
Percentile-Based Performance Thresholds: Applying objective mathematical cutoffs (such as using Price_Q1/Price_Q3 for 1st and 3rd Quartiles) eliminates subjective bias when categorizing catalog items.
Separation of Architecture & Presentation: Structuring the Excel workbook into dedicated functional layers (Raw_Data -> Cleaned_Data ->tblproducts ->Data Dictionary -> Analysis -> Pivot_Tables -> Dashboard) maintains readability, prevents circular references, and simplifies troubleshooting.
The Repository Structure I used
jumia-product-performance-dashboard/
├── README.md
├── data/
│ └── Excel_jumia_dataset.csv
├── dashboard/
│ └── jumia_product_dashboard.xlsx
└── images/
├── raw-data.png
├── cleaned-data.png
├── pivot-tables.png
└── dashboard.png
Github repository link: https://github.com/Immeleo/jumia-product-performance-dashboard








Top comments (0)