A lightweight Python project to analyze Fiverr order data and generate insightful reports and visualizations.
- Loads data from CSV files into an SQLite database
- Generates rich reports (text-based and plots)
- Includes prebuilt scripts for:
- Account performance
- Revenue trends
- Delivery analysis
- Category insights
- Saves results to
outputs/folder automatically - Customizable date range support
- Gmail email extractor (Google Apps Script)
fiverr_analytics_sql/
│
├── build_database.py # Main pipeline to create DB & generate outputs
├── generate_reports.py # Report & visualization generation logic
├── data/ # Input data (converted from Gmail extractor)
│ ├── accounts.csv
│ ├── orders.csv
│ ├── extras.csv
│ └── packages.csv
│
├── data_template/ # CSV templates for manual input
│ ├── accounts_template.csv
│ ├── orders_template.csv
│ ├── extras_template.csv
│ └── packages_template.csv
│
├── outputs/ # Auto-generated reports and plots
│ ├── report_<timestamp>.txt
│ └── plots/
│ └── <plots>.png
│
├── email_extractor/ # Google Apps Script for Gmail parsing
│ └── extractor.gs
│
├── fiverr.db # Auto-created SQLite database
├── requirements.txt # Required packages
└── README.md # This file
- Clone the repo or download the ZIP
- Install dependencies:
pip install -r requirements.txtpython build_database.pyThis will:
- Create the database (
fiverr.db) - Import all CSV data
- Generate summary reports
- Create charts in
outputs/plots/
Use the Apps Script in email_extractor/extractor.gs to extract Fiverr order confirmation data from your Gmail inbox.
Full instructions are in email_extractor/README.md
After using the extractor, you'll get raw Fiverr order details in a Google Sheet.
Before loading into the SQLite database, you must manually:
Clean and format the data to match the structure of the templates in data_template/
Export them as UTF-8 CSV files using semicolons (;) as delimiters
Save the finalized versions into the data/ folder:
accounts.csv
orders.csv
extras.csv
packages.csv
If column names or formats don't match, the database import will fail.
- Total order summary
- Account activity
- Revenue by service/category
- Ratings distribution
- Monthly trends
- Delayed delivery stats
- Top buyers / top earners
- Pie chart of account statuses
- Rolling average revenue
- More...
All text reports saved to outputs/report_<timestamp>.txt.
- Replace CSVs in
data/ - Use your own date range in
generate_all_reports(...) - Add more queries or plots in
generate_reports.py
- Python 3.8+
- pandas
- matplotlib
- seaborn
This is a personal project built for portfolio/data practice purposes.
Feel free to fork or suggest improvements!