Send me a messageMessage

06.

Online Store Sales Dashboard

A Streamlit dashboard over an online store's order export: sales, seasonality, geography, payment, order status and customers, filtered by period and region.

Role
Developer & analyst
Year
2026
Focus
Data Analysis
Tools
Python, Streamlit, Plotly, Pandas, NumPy
A heatmap of orders by weekday and hour, in blues that darken towards the evening.

Overview

A dashboard for an online store's order export, 39 columns per order, built in Python with Streamlit and Plotly. Filters for period, order status, region, governorate, payment type and store language apply across eight tabs: overview, seasonality, geography, shipping, payment and status, customers, baskets and discounts, and notes.

The overview tab: order count, order value, average order value and customers, then product sales, shipping revenue, repeat customers and orders per customer, and this year to date against the same period last year.
Overview: the headline figures, and this year to date against the same period last year.

Seasonality

When orders are placed, as a heatmap of weekday against hour, with the busiest day and hour picked out.

A heatmap of orders by weekday and hour, darkest in the evenings, above panels for the busiest day, the busiest hour and the share of orders placed overnight.
Orders by weekday and hour, in Cairo local time.

Geography

Order value by governorate on a map of Egypt, or zoomed to Cairo and the Delta, beside each region's share of order value.

A map of northern Egypt's governorates shaded by order value, beside a ring chart of order value by region.
The map can colour by order value, orders or average order value.

Payment and status

A ring chart of orders by payment type and stacked bars of the payment mix by year.
Payment type, overall and by year.
A ring chart of orders by status and stacked bars of the status mix by month.
Order status as the store recorded it, by month.
Bar charts of the share of orders marked cancelled, by payment type and by region.
The share of orders marked cancelled, by payment type and by region, with groups under 30 orders hidden.

Customers

New against returning customers month by month, and how one-time and repeat customers split the orders and the order value.

Customer figures above stacked bars of new and returning customers by month.
New and returning customers by month.
Two ring charts: customers and order value split into one-time, repeat and frequent customers.
One-time and repeat customers: their share of customers and of order value.
A table of top customers by order value, with invented names and example.com addresses.
Top customers by order value. The names and addresses are invented.

Checked twice

A test script rebuilds every figure a second way from the spreadsheet cells and compares the two results.

About the data shown

These screenshots run on invented data: 30,000 made-up orders from October 2023 to October 2026, with the same 39 columns and the same Egyptian governorates as the real export. Every name, e-mail address and figure is fake; the calculations are the ones the production dashboard uses.