Portfolio project · Excel, Power BI · Beginner · 10 to 13 hours

E-commerce sales dashboard

One page a head of sales can read in a minute: revenue, orders, average order value and where each one moved. Building and maintaining dashboards is a big part of many analyst jobs, so this project maps straight onto the work.

The business question

Which product categories and regions drove revenue in 2017, and where did average order value slip?

Turned into a SMART goal, so you know when you are done and a reviewer can see you scoped it like an analyst:

Specific
Revenue, orders and average order value by month, category and state, counting delivered orders only.
Measurable
Every number on the page reconciles to the total of the cleaned order table, and each KPI shows its change against the same month a year earlier.
Achievable
One public dataset and one page, built in Excel or the free Power BI Desktop.
Relevant
The head of sales uses it to choose which categories and regions to push next quarter.
Time-bound
Covers calendar year 2017 with a month filter. First version done in two weeks.

Datasets

Public data, free to download. Pick one, read its license on the source page, and link that page in your README rather than uploading the files.

Kaggle

Brazilian E-Commerce Public Dataset by Olist

About 100,000 orders from 2016 to 2018 in several linked CSV files: orders, order items, payments, reviews, customers, sellers and products.

Category names are in Portuguese; a translation file comes with the data. Orders have a status, so decide which ones count as sales before you total anything.

UCI Machine Learning Repository

Online Retail II

About a million invoice lines from a UK online gift retailer, December 2009 to December 2011, in one Excel workbook.

Invoice numbers starting with C are cancellations, and many lines have no customer ID. Both change your totals.

Microsoft Learn

Financial Sample workbook

One small, clean table of sales and profit by segment, country and product, used in Microsoft’s own Power BI tutorials.

Good for learning the tool in an afternoon, too small and tidy to stand out on its own. Rebuild on Olist for the portfolio version. The terms ask for the attribution on the workbook’s Info sheet.

Step by step

Each step links to AnalystQuest levels that teach the skill on the Harbor & Pine store data, so you can practise it before you do it on the real dataset.

  1. Frame the question and the KPIs

    Write down who reads the dashboard and the three to five numbers they need. A head of sales usually wants revenue, orders, average order value and one quality measure such as the cancellation rate.

    Define each one in a sentence. Is revenue before or after shipping? Which order statuses count? Put the question, the SMART goal and the definitions at the top of your README before you open the data.

  2. Get and clean the data

    Load the files with Power Query (Get Data in Excel or Power BI) so every cleaning step is recorded and replays on refresh. Set column types, remove exact duplicates, keep the statuses your definition counts, and join items to orders so you have one row per order line.

    Keep a list of every row you drop and why. It becomes the limits section of the write-up.

  3. Build the numbers

    Total revenue and orders with a PivotTable or SUMIFS in Excel, or with measures in Power BI. Average order value is total revenue divided by the number of orders, not the average of the line values.

    Compare each month with the same month a year earlier before you call anything growth: most retail data has a strong November and December.

  4. Lay out one page

    KPI tiles across the top, a monthly revenue line, a sorted bar chart of categories, and one filter for state or month. Bars start at zero, units are on every axis, and anything a reader would not act on comes out.

  5. Write it up

    Three to five findings, each one sentence with a number and what it means for the reader, then one recommendation. Put a screenshot of the dashboard at the top of the README: most reviewers will not download a .pbix or .xlsx file to look.

What to show

The same project, packaged three ways. Numbers in brackets are placeholders: replace them with your own results.

GitHub

README, in this order

  1. Question and SMART goal
  2. Dashboard screenshot
  3. Data: source link, license, date range
  4. KPI definitions
  5. Cleaning steps and rows removed
  6. Findings and recommendation
  7. How to refresh it

Files

  • dashboard.pbix or dashboard.xlsx: the working file
  • images/dashboard.png: the screenshot the README opens with
  • data/README.md: where to download the data; keep large raw files out of the repo
  • docs/kpi-definitions.md: one line per KPI: formula and filters

LinkedIn

Post outline

  1. Open with the finding, not the tool: "Three categories made [X]% of 2017 revenue growth."
  2. One line on the question and who it is for.
  3. One line on the data and tool: public Olist orders, Power BI.
  4. Two findings with numbers, and the one you did not expect.
  5. What you would build next, then the screenshot and the repo link.

CV

Two bullets

  • Built a one-page Power BI sales dashboard on [100k] public e-commerce orders, tracking revenue, AOV and cancellation rate by month, category and state.
  • Found that [3] categories drove [X]% of [2017] revenue growth while AOV fell [Y]% in [region]; recommended [action] in a one-page write-up.

Start with a verb, include a number, and name the tool. Every number must be one you can explain in an interview.

Write-up template

Copy it into your README or a document and replace each bracket. Keep the executive summary to what a busy manager would read.

# [Project title]: e-commerce sales dashboard

## Executive summary
[Two or three sentences: the answer to the question, the biggest number, the recommendation.]

## Objective
Which categories and regions drove revenue in [year], and where did average order value slip?
Audience: [head of sales]. Decision it supports: [where to focus next quarter].

## Data and limits
Source: [dataset, link, license]. Period: [dates]. Rows after cleaning: [n].
Removed: [n] cancelled orders, [n] duplicate rows, [n] rows with no price.
Limits: [e.g. no marketing spend, so no return on spend].

## Method
KPI definitions: Revenue = [..]; Orders = [..]; AOV = Revenue / Orders.
Tools: [Power Query for cleaning, Power BI measures / Excel PivotTables].

## Findings
1. [Finding with a number and a comparison.]
2. [..]
3. [..]

## Recommendations
[One or two actions, each tied to a finding.]

## Next steps
[What you would add with more time or data.]

Common mistakes

  • A page of twenty charts and no question. If a chart would not change a decision, cut it.
  • Averaging line values and calling it average order value.
  • Counting canceled or undelivered orders as sales.
  • Treating Olist’s customer_id as the person. It changes with every order; customer_unique_id is the customer.
  • A bar axis that starts above zero, so a 3% gap looks like 30%.
  • A README with no screenshot.

How long it takes

About 10 to 13 hours for a first version, spread over one to three weeks of evenings.

Frame
1 hour
Get and clean
3 to 4 hours
Build the numbers
2 to 3 hours
Lay out the page
2 hours
Write up
2 hours

Other portfolio projects

SQL, pandas · 12 to 16 hours

Customer cohort retention analysis

Do first-time buyers come back? Monthly cohorts and a retention grid, built in SQL and checked in pandas.

Python, Statistics · 8 to 12 hours

A/B test analysis and write-up

Check the split, estimate the lift with a confidence interval, and write a decision a product manager can act on.

Pick what may run on this site. You can change this any time from "Cookie settings" at the bottom of every page.