- 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!
- 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.
- Dashboard (general):
-
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 inconfig.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
- 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 insrc/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.
- Run main script:
python3 src/app.py
- Navigate to
http://<LOCAL_HOST>:8080/
to view and use the dashboard.