mrbrain314/e-commerce-analysis — explained in plain English
Analysis updated 2026-05-18
Learn a documented workflow for cleaning messy retail transaction data.
Study an example exploratory data analysis with real business insights.
See how to turn raw invoice data into revenue and seasonality charts.
Reuse the cleaning steps as a template for another online retail dataset.
| mrbrain314/e-commerce-analysis | anil-matcha/yolov2 | quantheus/eurusd_45hypotheses_research | |
|---|---|---|---|
| Stars | 2 | 2 | 2 |
| Language | Jupyter Notebook | Jupyter Notebook | Jupyter Notebook |
| Last pushed | — | 2019-04-30 | — |
| Maintenance | — | Dormant | — |
| Setup difficulty | easy | moderate | moderate |
| Complexity | 1/5 | 4/5 | 3/5 |
| Audience | data | developer | data |
Figures from each repo's GitHub metadata at analysis time.
The source CSV is encoded in latin1, so the notebook reads it with encoding='latin1'.
This project is a data cleaning and exploratory analysis of transaction records from a British online retailer, covering about 542,000 rows from December 2010 through December 2011. It was completed as part of the AnalystLab Africa Data Analytics Internship, weeks 1 and 2, using a public dataset from Kaggle called Online Retail, where each row represents one product on one invoice. The work follows a clear sequence. First, the author looks at the dataset's shape, the types of columns, and what one row actually represents. Then comes documented cleaning: rows missing a customer ID are removed since there is no way to fill that in, exact duplicate rows are dropped, cancelled invoices and invalid prices are excluded, and dates, text, and column names are standardized. After cleaning, 392,692 of the original 541,909 rows remain, about 72.5 percent. Next comes exploratory analysis: descriptive statistics, top selling products, revenue by country, monthly trends, and customer behavior, followed by six commented charts and four business takeaways drawn from the findings. The key results found in the data include that the United Kingdom accounts for 82 percent of total revenue, meaning international sales are still underdeveloped. Sales are strongly seasonal, nearly doubling between summer and the November peak of 1.16 million pounds. The top 10 customers account for about 17 percent of revenue, a concentration worth watching. The average order value is 480 pounds while the median is 303 pounds, suggesting a customer base that mixes individual shoppers with wholesale buyers. The repository contains the full executed notebook, a one page summary report as a PDF, the raw and cleaned data files, and the six exported chart images. It runs on Python 3 with pandas and matplotlib inside Jupyter Notebook. To reproduce it, install pandas and matplotlib, then open and run the notebook from the root of the repository so the relative file paths work.
A data cleaning and exploratory analysis of a British online retailer's transaction history, covering 542,000 rows, uncovering revenue concentration, seasonality, and customer spending patterns.
Mainly Jupyter Notebook. The stack also includes Python, pandas, matplotlib.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly data.
This repo across BitVibe Labs
Verify against the repo before relying on details.