# rashis26/data_driven_sales_analysis architecture

> Architecture diagram of the GitHub repository rashis26/data_driven_sales_analysis, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/rashis26/data_driven_sales_analysis
- Repository: https://github.com/rashis26/data_driven_sales_analysis

## Overview

This repository documents an Olist marketplace analytics workflow: raw CSVs are loaded into PostgreSQL, cleaned with table-specific SQL scripts, and analyzed in an interactive Power BI report. The report covers sales, sellers, customers, orders, categories, delivery, payments, reviews, and geography. The README describes the workflow and report capabilities; no source excerpts were available, so links reflect documented relationships only.

Main entry points: [`Brazil_Ecommerce_Analysis.pbix`](https://github.com/rashis26/data_driven_sales_analysis/blob/main/Brazil_Ecommerce_Analysis.pbix) (Power BI Report), [`SQL Queries/olist_customers_clean.sql`](https://github.com/rashis26/data_driven_sales_analysis/blob/main/SQL%20Queries/olist_customers_clean.sql) (Clean Customers), [`SQL Queries/olist_geolocations_clean.sql`](https://github.com/rashis26/data_driven_sales_analysis/blob/main/SQL%20Queries/olist_geolocations_clean.sql) (Clean Geolocations), [`SQL Queries/olist_order_items_clean.sql`](https://github.com/rashis26/data_driven_sales_analysis/blob/main/SQL%20Queries/olist_order_items_clean.sql) (Clean Order Items)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_source["Source Data"]
  node_raw["Raw Olist CSVs"]
  node_postgres[("PostgreSQL")]
end

subgraph group_cleaning["Data Cleaning"]
  node_customers_sql["Clean Customers"]
  node_geolocation_sql["Clean Geolocations"]
  node_items_sql["Clean Order Items"]
  node_payments_sql["Clean Payments"]
  node_orders_sql["Clean Orders"]
  node_products_sql["Clean Products"]
  node_sellers_sql["Clean Sellers"]
  node_cleaned["Cleaned Data"]
end

subgraph group_report["Power BI Analysis"]
  node_report_file["Power BI Report"]
  node_sales["Sales Overview"]
  node_sellers["Seller Analysis"]
  node_customers["Customer Analysis"]
  node_orders["Order Analysis"]
  node_categories["Category Analysis"]
  node_delivery["Delivery Status"]
  node_payments["Payment Analysis"]
  node_reviews["Review &amp; Price"]
  node_insights["Geographic Insights"]
end

node_analyst(("Analyst"))

node_analyst -->|"loads CSVs"| node_postgres
node_raw -->|"imported into"| node_postgres
node_analyst -->|"runs script"| node_customers_sql
node_analyst -->|"runs script"| node_geolocation_sql
node_analyst -->|"runs script"| node_items_sql
node_analyst -->|"runs script"| node_payments_sql
node_analyst -->|"runs script"| node_orders_sql
node_analyst -->|"runs script"| node_products_sql
node_analyst -->|"runs script"| node_sellers_sql
node_customers_sql -->|"creates cleaned table"| node_postgres
node_geolocation_sql -->|"creates cleaned table"| node_postgres
node_items_sql -->|"creates cleaned table"| node_postgres
node_payments_sql -->|"creates cleaned table"| node_postgres
node_orders_sql -->|"creates cleaned table"| node_postgres
node_products_sql -->|"creates cleaned table"| node_postgres
node_sellers_sql -->|"creates cleaned table"| node_postgres
node_postgres -->|"exports cleaned tables"| node_cleaned
node_analyst -->|"opens report"| node_report_file
node_report_file -->|"refreshes from"| node_postgres
node_report_file -->|"includes pages"| node_sales
node_report_file -->|"includes pages"| node_sellers
node_report_file -->|"includes pages"| node_customers
node_report_file -->|"includes pages"| node_orders
node_report_file -->|"includes pages"| node_categories
node_report_file -->|"includes pages"| node_delivery
node_report_file -->|"includes pages"| node_payments
node_report_file -->|"includes pages"| node_reviews
node_report_file -->|"includes pages"| node_insights

click node_raw "https://github.com/rashis26/data_driven_sales_analysis/tree/main/raw"
click node_customers_sql "https://github.com/rashis26/data_driven_sales_analysis/blob/main/SQL%20Queries/olist_customers_clean.sql"
click node_geolocation_sql "https://github.com/rashis26/data_driven_sales_analysis/blob/main/SQL%20Queries/olist_geolocations_clean.sql"
click node_items_sql "https://github.com/rashis26/data_driven_sales_analysis/blob/main/SQL%20Queries/olist_order_items_clean.sql"
click node_payments_sql "https://github.com/rashis26/data_driven_sales_analysis/blob/main/SQL%20Queries/olist_order_payments_clean.sql"
click node_orders_sql "https://github.com/rashis26/data_driven_sales_analysis/blob/main/SQL%20Queries/olist_orders_cleaned.sql"
click node_products_sql "https://github.com/rashis26/data_driven_sales_analysis/blob/main/SQL%20Queries/olist_products_both.sql"
click node_sellers_sql "https://github.com/rashis26/data_driven_sales_analysis/blob/main/SQL%20Queries/olist_sellers_clean.sql"
click node_cleaned "https://github.com/rashis26/data_driven_sales_analysis/tree/main/cleaned"
click node_report_file "https://github.com/rashis26/data_driven_sales_analysis/blob/main/Brazil_Ecommerce_Analysis.pbix"
click node_sales "https://github.com/rashis26/data_driven_sales_analysis/blob/main/Brazil_Ecommerce_Analysis.pbix"
click node_sellers "https://github.com/rashis26/data_driven_sales_analysis/blob/main/Brazil_Ecommerce_Analysis.pbix"
click node_customers "https://github.com/rashis26/data_driven_sales_analysis/blob/main/Brazil_Ecommerce_Analysis.pbix"
click node_orders "https://github.com/rashis26/data_driven_sales_analysis/blob/main/Brazil_Ecommerce_Analysis.pbix"
click node_categories "https://github.com/rashis26/data_driven_sales_analysis/blob/main/Brazil_Ecommerce_Analysis.pbix"
click node_delivery "https://github.com/rashis26/data_driven_sales_analysis/blob/main/Brazil_Ecommerce_Analysis.pbix"
click node_payments "https://github.com/rashis26/data_driven_sales_analysis/blob/main/Brazil_Ecommerce_Analysis.pbix"
click node_reviews "https://github.com/rashis26/data_driven_sales_analysis/blob/main/Brazil_Ecommerce_Analysis.pbix"
click node_insights "https://github.com/rashis26/data_driven_sales_analysis/blob/main/Brazil_Ecommerce_Analysis.pbix"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_raw,node_postgres toneBlue
class node_customers_sql,node_geolocation_sql,node_items_sql,node_payments_sql,node_orders_sql,node_products_sql,node_sellers_sql,node_cleaned toneAmber
class node_report_file,node_sales,node_sellers,node_customers,node_orders,node_categories,node_delivery,node_payments,node_reviews,node_insights toneMint
class node_analyst toneIndigo
```

## Components

### Source Data

- [Raw Olist CSVs](https://github.com/rashis26/data_driven_sales_analysis/tree/main/raw): `raw`
- **PostgreSQL**

### Data Cleaning

- [Clean Customers](https://github.com/rashis26/data_driven_sales_analysis/blob/main/SQL%20Queries/olist_customers_clean.sql): `SQL Queries/olist_customers_clean.sql`
- [Clean Geolocations](https://github.com/rashis26/data_driven_sales_analysis/blob/main/SQL%20Queries/olist_geolocations_clean.sql): `SQL Queries/olist_geolocations_clean.sql`
- [Clean Order Items](https://github.com/rashis26/data_driven_sales_analysis/blob/main/SQL%20Queries/olist_order_items_clean.sql): `SQL Queries/olist_order_items_clean.sql`
- [Clean Payments](https://github.com/rashis26/data_driven_sales_analysis/blob/main/SQL%20Queries/olist_order_payments_clean.sql): `SQL Queries/olist_order_payments_clean.sql`
- [Clean Orders](https://github.com/rashis26/data_driven_sales_analysis/blob/main/SQL%20Queries/olist_orders_cleaned.sql): `SQL Queries/olist_orders_cleaned.sql`
- [Clean Products](https://github.com/rashis26/data_driven_sales_analysis/blob/main/SQL%20Queries/olist_products_both.sql): `SQL Queries/olist_products_both.sql`
- [Clean Sellers](https://github.com/rashis26/data_driven_sales_analysis/blob/main/SQL%20Queries/olist_sellers_clean.sql): `SQL Queries/olist_sellers_clean.sql`
- [Cleaned Data](https://github.com/rashis26/data_driven_sales_analysis/tree/main/cleaned): `cleaned`

### Power BI Analysis

- [Power BI Report](https://github.com/rashis26/data_driven_sales_analysis/blob/main/Brazil_Ecommerce_Analysis.pbix): `Brazil_Ecommerce_Analysis.pbix`
- [Sales Overview](https://github.com/rashis26/data_driven_sales_analysis/blob/main/Brazil_Ecommerce_Analysis.pbix): `Brazil_Ecommerce_Analysis.pbix`
- [Seller Analysis](https://github.com/rashis26/data_driven_sales_analysis/blob/main/Brazil_Ecommerce_Analysis.pbix): `Brazil_Ecommerce_Analysis.pbix`
- [Customer Analysis](https://github.com/rashis26/data_driven_sales_analysis/blob/main/Brazil_Ecommerce_Analysis.pbix): `Brazil_Ecommerce_Analysis.pbix`
- [Order Analysis](https://github.com/rashis26/data_driven_sales_analysis/blob/main/Brazil_Ecommerce_Analysis.pbix): `Brazil_Ecommerce_Analysis.pbix`
- [Category Analysis](https://github.com/rashis26/data_driven_sales_analysis/blob/main/Brazil_Ecommerce_Analysis.pbix): `Brazil_Ecommerce_Analysis.pbix`
- [Delivery Status](https://github.com/rashis26/data_driven_sales_analysis/blob/main/Brazil_Ecommerce_Analysis.pbix): `Brazil_Ecommerce_Analysis.pbix`
- [Payment Analysis](https://github.com/rashis26/data_driven_sales_analysis/blob/main/Brazil_Ecommerce_Analysis.pbix): `Brazil_Ecommerce_Analysis.pbix`
- [Review & Price](https://github.com/rashis26/data_driven_sales_analysis/blob/main/Brazil_Ecommerce_Analysis.pbix): `Brazil_Ecommerce_Analysis.pbix`
- [Geographic Insights](https://github.com/rashis26/data_driven_sales_analysis/blob/main/Brazil_Ecommerce_Analysis.pbix): `Brazil_Ecommerce_Analysis.pbix`

### Other components

- **Analyst**

## Connections

- Analyst → PostgreSQL: loads CSVs
- Raw Olist CSVs → PostgreSQL: imported into
- Analyst → Clean Customers: runs script
- Analyst → Clean Geolocations: runs script
- Analyst → Clean Order Items: runs script
- Analyst → Clean Payments: runs script
- Analyst → Clean Orders: runs script
- Analyst → Clean Products: runs script
- Analyst → Clean Sellers: runs script
- Clean Customers → PostgreSQL: creates cleaned table
- Clean Geolocations → PostgreSQL: creates cleaned table
- Clean Order Items → PostgreSQL: creates cleaned table
- Clean Payments → PostgreSQL: creates cleaned table
- Clean Orders → PostgreSQL: creates cleaned table
- Clean Products → PostgreSQL: creates cleaned table
- Clean Sellers → PostgreSQL: creates cleaned table
- PostgreSQL → Cleaned Data: exports cleaned tables
- Analyst → Power BI Report: opens report
- Power BI Report → PostgreSQL: refreshes from
- Power BI Report → Sales Overview: includes pages
- Power BI Report → Seller Analysis: includes pages
- Power BI Report → Customer Analysis: includes pages
- Power BI Report → Order Analysis: includes pages
- Power BI Report → Category Analysis: includes pages
- Power BI Report → Delivery Status: includes pages
- Power BI Report → Payment Analysis: includes pages
- Power BI Report → Review & Price: includes pages
- Power BI Report → Geographic Insights: includes pages
