Olist E-commerce Dashboard
Sales, delivery and satisfaction data, analysed to find where margin leaks.
An analysis of the public Olist dataset: orders from a Brazilian e-commerce marketplace between 2016 and 2018. The dashboard is ready; I’ll add my written conclusions to this page once I’ve checked them.
Revenue, orders and average basket, month by month.
Revenue share by Brazilian state, on a map.
The best-selling categories and their share of revenue.
Order status, delivery times and the average review score.
01Problem
Which part of the operation costs the most?
An e-commerce business can grow its sales and still lose margin to late deliveries, unhappy customers and the wrong product mix. I wanted to find out where that money goes, using real transaction data instead of guesses.
02Approach
Start from the questions, then build the views.
- How do revenue and order volume evolve month by month?
- Which categories carry the revenue?
- Where are deliveries slowest, and does that show up in review scores?
- How do customers pay?
03Build
Clean, join, aggregate, visualise.
The Olist dataset is split across several tables (orders, items, payments, reviews, customers, products). I cleaned and joined them in Python, computed the indicators, and built an interactive dashboard on top that can be filtered by date range and by state.
04Technologies
The stack.
- Analysis
- Python, Pandas, SQL
- Dashboard
- Streamlit, with a React front end
- Data
- Brazilian E-Commerce Public Dataset by Olist
05Real outcome
A working dashboard.
The dashboard brings together the headline figures (revenue, orders, unique customers, average review score), monthly sales, revenue by Brazilian state, the best-selling categories, order statuses and delivery times.
Public data. The figures in the screenshot come from the public Olist dataset, not from a client. I’ll add my conclusions to this page once I’ve checked them.
06Visuals
The dashboard.

Sitting on data?
Let’s see what it tells you.
If you have sales or customer data and aren't sure what to do with it, a dashboard is often a good place to start.
Work together