Skip to content

E-commerce dashboard that displays a number of aggregated data and analytics from sale data.

Notifications You must be signed in to change notification settings

justas-b/ecommerce-dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

[WIP] NOTE:

  • This is something that I'm currently not working on, it is just a personal project that I started. If anyone is interested in this, please contact me!

Features

  • Runs any (subject to complete date - see below) dumped data from an e-commerce platform (CSV [.csv] or Excel [.xlsx] format), and performs an ETL pipeline on the data for use in analysis.
  • Generator class that can be used to generate random data to experiment with/to use if the user is unable to acquire their data.
  • Analytics and data for the time range spanned by the data:
    • Dashboard (general):
      • General sales information e.g., order and item counts, total revenue, average revenue (per order).
    • Dashboard (timeline analytics):
      • Selection of order and revenue counts for a variable granularity (daily, weekly and monthly).
    • Dashboard (destination country analytics):
      • Selection of best and worst (limit of 10) performing countries for the number of orders, total and average revenue.
    • Dashboard (delivery type analytics):
      • Distribution of the delivery types (pair or free) across orders and revenue.
    • Dashboard (to dispatch distribution):
      • Distribution of the number of days taken to dispatch orders from the sale date.

Data Requirements

  • Currently, the data that is needed for this dashboard to run successfully must contain the sale date (the date the order was made), quantity (number of items in the order), price (total price of the order - including shipping and fees), post date (the date that the order was dispatched), country (destination country) and the delivery cost (cost of delivery).

  • If you are unable to acquire sales data, you can leave the FILENAME value in config.json null and this will generate random data for you to experiment with. An example of what the generator class outputs (the ideal form of the data) is:

    sale_date quantity price post_date country delivery_cost
    01/01/2023 3 62.58 06/01/2023 Macedonia 0
    01/01/2023 3 100.62 04/01/2023 Laos 20.12
    01/01/2023 2 60.16 07/01/2023 Chile 12.03

Setup (Local)

  • RECOMMENDED: Create a virtual environment to run the application:
    • python3 -m venv venv
    • source ./venv/bin/activate
  • Install required dependencies:
    • pip3 install -r requirements.txt
  • Dump data file into file into src/data/.
  • Configure the application by editing the values in config.json to reflect the data you have:
    • FILENAME: The name of your data file dumped in src/data/.
    • SALE_DATE: Column name of the column that has the date of the sale.
    • QUANTITY: Column name of the column that has the number of items bought for an order.
    • PRICE: Column name of the column that has the total that a customer has paid for the order.
    • POSTED_DATE: Column name of the column that has the date that the order was dispatched.
    • COUNTRY: Column name of the column that has the destination country.
    • DELIVERY_COST: Column name of the column that has the delivery charge of the order.

Usage (Local)

  • Run main script:
    • python3 src/app.py
  • Navigate to http://<LOCAL_HOST>:8080/ to view and use the dashboard.

About

E-commerce dashboard that displays a number of aggregated data and analytics from sale data.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published