Logo Lanfrica

Oluwanifemi109/Jumia-Phones-Analysis

Domain:

socioeconomic

Record type:

dataset
Creator:
Olu
Host:
Web scraping and SQL analysis of 315 phone listings from Jumia Nigeria ; covering pricing trends, brand market share, discount patterns, and value-for-money insights. # 📱 Jumia Nigeria Phones - Web Scraping & SQL Analysis --- ## 📂 Project Overview This project scrapes phone listings from Jumia Nigeria, cleans the data with Python/Pandas, and performs structured SQL analysis to uncover pricing trends, brand dominance, discount patterns, and value-for-money insights in the Nigerian mobile phone market. --- ## Data Source - **Website**: Jumia Nigeria — Electronics > Phones - **Scrape Date**: 23rd February, 2026 - **Pages Scraped**: 9 pages in a single function - **Raw Records**: 360 rows - **Clean Records**: 315 rows - **Unique Brands**: 31 --- ## 📃 Data Collection Scraped 9 pages of phone listings from Jumia Nigeria using Python. All 9 pages were scraped in a single function call. The raw dataset contained the following columns: | Column | Description | | --------------| ------------- | | Today | Date of scrape | | Title | Full product listing title | | Brand |Phone brand name | | Price | Current selling price (₦) | | Old Price | Original price before discount (₦) | | Rating | Average customer rating (out of 5) | | Reviews | Number of verified customer reviews | --- ## 🧹 Data Cleaning All cleaning was done in Python using Pandas. Key steps: **Brand Column** - Rows where the brand field contained review text (e.g. "98 verified ratings") instead of a brand name were identified and replaced with NaN - Brands that could be identified from the product title were filled in using a keyword mapping dictionary - Non-phone products (phone holders, washing machine pads, screen magnifiers, car mounts) that were scraped by mistake were dropped - Final null brand rows were dropped. **Price & Old Price** - Removed the ₦ symbol and commas - For listings with price ranges (e.g. 3500 - ₦ 12500), extracted only the price after the ₦ symbol - Converted string 'nan' values to proper NaN using pd.to_numeric(errors='coerce') - 74 missing Old Price values were filled with the current Price (indicating no discount) - Converted both columns to i …

Licenses