Order Fulfilment Performance | Revenue Risk Analysis | Regional & Time‑Series Insights
این پروژه یک تحلیل دادهمحور جامع از عملکرد تحویل سفارشها (Order Fulfilment) و تحقق درآمد (Revenue Realization) در یک پلتفرم تجارت الکترونیک است. هدف اصلی این تحلیل، فراتر رفتن از گزارشهای ساده فروش و شناسایی نقاطی است که فرآیندهای عملیاتی منجر به عدم تحقق درآمد بالقوه میشوند.
با استفاده از فرآیند استخراج، تبدیل و بارگذاری داده (SQL‑driven ETL) و مدلسازی داده در قالب Star Schema، شاخصهای کلیدی عملکرد و ریسک استخراج شده و در داشبوردهای تعاملی Power BI به تصویر کشیده شدهاند. یافتههای کلیدی نشان میدهد که با وجود نرخ تحویل ۹۷ درصدی، بیش از ۴۲۳ هزار دلار درآمد به دلیل اختلالات لجستیکی در مناطق خاص (مانند Roraima) در معرض ریسک قرار دارد.
دستاورد اصلی این پروژه تبدیل دادههای خام عملیاتی به یک چارچوب تحلیلی Revenue at Risk است که به مدیران اجازه میدهد با شناسایی مناطق پرریسک، پایش سفارشهای ناتمام، و بهینهسازی ظرفیت لجستیکی در دورههای اوج تقاضا، از هدررفت منابع جلوگیری کرده و نرخ تحقق واقعی درآمد را افزایش دهند.
Not every order successfully converts into realized revenue. This analysis goes beyond basic sales reporting to identify where the order fulfilment process breaks down and how operational issues translate into revenue at risk.
This project analyzes 99,441 e‑commerce orders to evaluate order fulfilment performance and identify potential revenue exposure within the delivery process.
The analysis reveals that the fulfilment system performs strongly overall, with a 97.02% delivery success rate. However, a portion of orders remains unresolved or lost, placing approximately $423.8K (2.67%) of total revenue at risk. While this percentage is relatively small, monitoring these cases remains important because even minor inefficiencies can accumulate into a significant financial impact at scale.
Regional analysis highlights Roraima (RR) as the area with the highest relative operational risk, suggesting possible logistics constraints affecting fulfilment reliability in that region.
Overall, the findings indicate that implementing targeted monitoring of high‑risk regions and unresolved orders could help protect revenue and further strengthen operational efficiency across the fulfilment pipeline.
Customer demand and order volume are strong, but not all orders successfully convert into realized revenue. Operational issues in the fulfilment process — such as lost orders and orders remaining in progress — create a gap between recorded revenue and revenue actually realized through successful delivery.
These operational inefficiencies expose part of the business revenue to risk and limit how much recorded revenue is successfully realized.
Business Goal: Improve revenue realization by identifying operational bottlenecks in order fulfilment and reducing revenue at risk.
This analysis focuses on several operational and financial questions critical for e‑commerce performance:
- What percentage of total orders are successfully delivered versus lost or still in progress?
- How much revenue is fully realized compared to revenue currently at risk?
- Which regions generate the highest revenue and where are operational risks concentrated?
- Which order statuses contribute the most to Revenue at Risk?
- How do fulfilment performance and revenue risk evolve over time?
- Which regions should be prioritized to reduce operational risk and protect revenue?
| Insight | Observation / Root Cause | Business Impact |
|---|---|---|
| 97.02% of orders are successfully delivered | Overall fulfilment performance is strong across the platform | Core operations are generally stable and capable of handling demand |
| $423.8K of revenue is classified as Revenue at Risk (2.67%) | Some orders remain in progress or are lost, preventing full revenue realization | Operational improvements can directly recover part of this exposed revenue |
| A small portion of orders (2.98%) are not delivered (lost + in progress) | Lost and in-progress orders create a gap between total revenue and realized revenue | Even small operational failures can accumulate into significant financial exposure |
| Revenue is highly concentrated in a few key states (SP, RJ, MG) | A limited number of regions drive the majority of sales | Operational issues in these states can have a disproportionate financial impact |
| São Paulo (SP) generates the highest total revenue and the largest absolute revenue at risk | High sales volume increases financial exposure when delivery performance declines | Improving fulfilment performance in SP would significantly reduce total revenue risk |
| Roraima (RR) shows the highest relative operational risk | Geographical isolation and potential logistics infrastructure constraints leading to 10.19% revenue at risk | Logistics and operational processes in smaller regions require targeted improvements |
| Monthly revenue trends show steady growth during 2017 | Customer demand increased throughout the year | The business demonstrates strong market demand and expansion potential |
| Delivery performance fluctuates across months | Operational capacity does not always scale smoothly with demand | Monitoring fulfilment performance during high-demand periods is critical |
- Total Revenue: $15.8M
- Total Orders: 99,441
- Delivered Orders: 96,481
- Delivery Rate: 97.02%
- Lost Orders: 1,235
- Lost Order Rate: 1.24%
- In‑Progress Rate: 1.74%
- Revenue Realized: ~$15.38M
- Revenue at Risk: $423.8K (2.67%)
Most orders are successfully delivered, resulting in strong revenue realization. However, a small share of lost and in‑progress orders still exposes $423.8K of revenue to operational risk, highlighting opportunities for fulfilment optimization.
| Action | Impact | Effort | Priority |
|---|---|---|---|
| Improve fulfilment monitoring in high-revenue states (especially SP) | High | Medium | High |
| Investigate logistics issues in high-risk regions such as RR where delivery reliability is significantly below the national average | High | Medium | High |
| Prioritize operational improvements in states combining high revenue and high risk (e.g., RJ, RS, BA) | High | Medium | High |
| Closely track and resolve orders in progress to prevent them from converting into lost orders | Medium | Low | High |
| Use regional fulfilment KPIs (delivery rate, revenue at risk) as operational performance indicators | Medium | Low | Medium |
| Strengthen operational planning for high-demand months to maintain delivery performance as order volume grows | Medium | Medium | Medium |
Improving fulfilment performance in high‑risk regions and reducing the number of non‑delivered orders would directly increase revenue realization.
Even small improvements in delivery reliability—especially in high‑revenue states such as SP—could significantly reduce revenue exposure and operational risk, strengthening overall financial performance.
- Revenue Exposure: Although overall delivery performance is strong (97.02%), about $423.8K of revenue remains at risk due to lost or in‑progress orders.
- Regional Concentration: A significant portion of revenue is concentrated in SP, RJ, and MG, meaning operational performance in these states strongly influences total revenue realization.
- High Absolute Risk Regions: SP generates the largest revenue and therefore the largest absolute revenue exposure when fulfilment performance declines.
- High Relative Risk Regions: RR shows the highest percentage of revenue at risk and a lower delivery rate compared to the national average, indicating potential logistics inefficiencies.
- Demand Growth: Revenue trends show steady growth during 2017, suggesting strong customer demand and market expansion.
- Operational Stability: Monthly fluctuations in delivery rate indicate that operational capacity does not always scale smoothly with demand, especially during high‑volume months.
The project follows a Star Schema architecture, optimized for analytical performance and scalability.
- Schema: Star Schema with
fact_ordersat the center, linked todim_customeranddim_date. - Cardinality: All relationships are set to Many-to-One (*:1), ensuring a scalable and analytically efficient data structure.
- Filter Direction: I enforced Single Direction cross-filtering to maintain data integrity, prevent ambiguity in DAX calculations, and optimize query performance—adhering to industry best practices for robust BI modeling.
The analytical dataset was built through a structured, multi-stage SQL ETL (Extract, Transform, Load) process designed to transform raw, denormalized e‑commerce data into a query-optimized analytical model.
- Data Ingestion (Extract): Raw CSV datasets were imported into PostgreSQL staging tables.
- Data Cleansing & Standardization (Transform): Standardized date-time formats, handled NULL values, and resolved operational data inconsistencies using SQL scripts.
- KPI & Feature Engineering: Developed analytical views to calculate complex metrics like delivery statuses and operational risk indicators at the database level.
- Data Modeling & Loading (Load): Generated and populated the final Star Schema dimension and fact tables (
dim_customer,dim_date, andfact_orders) to serve as a clean reporting layer. - BI Integration: Connected Power BI to the transformed tables, leveraging DAX for high-performance dynamic measures.
By pushing heavy computations and data prep to the SQL database layer, we significantly reduce Power BI's memory overhead and ensure consistent metric definitions.
The following DAX measures power the core KPIs used in the Power BI dashboards, enabling analysis of fulfilment performance, revenue exposure, and monthly trends.
Total Orders =
DISTINCTCOUNT(fact_orders[order_id])
Total Revenue =
SUM(fact_orders[revenue])
Delivered Orders % =
DIVIDE(
SUM(fact_orders[is_delivered]),
[Total Orders],
0
)
Revenue at Risk =
SUM(fact_orders[revenue_at_risk])
Revenue at Risk % =
DIVIDE(
[Revenue at Risk],
[Total Revenue],
0
)
Revenue MoM % =
VAR CurrentOrders = [Total Orders]
VAR CurrentRevenue = [Total Revenue]
VAR PrevMonthOrders =
CALCULATE(
[Total Orders],
DATEADD('dim_date'[date], -1, MONTH)
)
VAR PrevMonthRevenue =
CALCULATE(
[Total Revenue],
DATEADD('dim_date'[date], -1, MONTH)
)
RETURN
IF(
CurrentOrders < 50 || PrevMonthOrders < 50,
BLANK(),
DIVIDE(
CurrentRevenue - PrevMonthRevenue,
PrevMonthRevenue,
0
)
)
| Area | Implementation |
|---|---|
| SQL Analytics | Advanced SQL queries for KPI calculation, revenue realization analysis, and operational risk identification. |
| PostgreSQL | Built a robust SQL-driven ETL workflow using SQL scripts to transform raw data into analytical views (e.g., vw_orders_analytics). |
| Data Modeling | Implemented a Star Schema architecture, optimizing relationships between Fact and Dimension tables for high-performance BI. |
| DAX (Data Analysis Expressions) | Developed complex measures for real-time KPI tracking, including Revenue at Risk %, Delivery Rates, and growth metrics. |
| Business Intelligence | Designed interactive Power BI dashboards focusing on regional performance, risk distribution, and time-series trends. |
| Business Insight Generation | Translated operational metrics into a "Revenue at Risk" framework to identify bottlenecks and provide actionable strategic recommendations. |
Order_Fulfilment_and_Revenue_Risk_Analysis/
├── Dashboards/
│ └── Order_Fulfilment_and_Revenue_Risk_Analysis.pbix
├── Data/ # Raw datasets
│ ├── olist_customers_dataset.csv
│ ├── olist_order_items_dataset.csv
│ └── olist_orders_dataset.csv
├── Executive_Summary/ # PDF Reports (EN/FA)
│ ├── Order_Fulfilment_and_Revenue_Risk_Analysis_Insights_and_Recommendations.pdf
│ └── Order_Fulfilment_and_Revenue_Risk_Analysis_Insights_and_Recommendations_FA.pdf
├── Images/ # Dashboard screenshots & assets
│ ├── dashboard1_overview.png
│ ├── dashboard2_regional_analysis.png
│ ├── dashboard3_time_series_analysis.png
│ ├── Order_Fulfilment_and_Revenue_Risk_Analysis_Animation.gif
│ ├── data_model.png
│ └── logo.png
├── Processed_Data/ # Final Star Schema tables
│ ├── dim_customer.csv
│ ├── dim_date.csv
│ └── fact_orders.csv
├── Scripts/ # SQL Data Transformation
│ ├── 00_setup_database.sql
│ ├── 01_create_tables.sql
│ ├── 02_load_data.sql
│ ├── 03_data_preparation.sql
│ ├── 04_kpi_summary.sql
│ ├── 05_risk_analysis.sql
│ ├── 06_regional_analysis.sql
│ ├── 07_time_series_analysis.sql
│ └── 08_create_fact_dim_tables.sql
├── README.md
└── README_FA.md
Execute the SQL scripts in strict numerical sequence (00 to 08) to maintain referential integrity and ensure proper database schema initialization.
00_setup_database.sql
01_create_tables.sql
02_load_data.sql
03_data_preparation.sql
04_kpi_summary.sql
05_risk_analysis.sql
06_regional_analysis.sql
07_time_series_analysis.sql
08_create_fact_dim_tables.sql
These scripts prepare the dataset, generate analytical views, and create the final fact and dimension tables used for reporting.
Processed_Data/dim_customer.csv– customer dimension tableProcessed_Data/dim_date.csv– calendar dimension tableProcessed_Data/fact_orders.csv– order-level fact table
The Power BI dashboards use the exported CSV files as their data source.
-
Open
Dashboards/Order_Fulfilment_and_Revenue_Risk_Analysis.pbixin Power BI Desktop. -
Ensure the file paths point to the following local data files:
Processed_Data/dim_customer.csvProcessed_Data/dim_date.csvProcessed_Data/fact_orders.csv
(The dashboard expects the same folder structure used in this repository.)
-
Navigate across the three dashboard pages using the built‑in tabs:
- Overview
- Regional Analysis
- Time Series Analysis
-
Explore order fulfilment performance, revenue exposure, and regional or time‑series trends.
These dashboards are designed so that a non‑technical stakeholder can quickly answer questions such as:
- What percentage of orders are successfully delivered?
- How much revenue is currently at risk due to lost or incomplete orders?
- Which regions generate high revenue but also show high fulfilment risk?
- How are orders and revenue changing month‑over‑month?
- Data Source: Brazilian E‑Commerce Public Dataset by Olist – Kaggle
| Table | Records | Key Columns |
|---|---|---|
| customers | 99,441 | customer_id, customer_city, customer_state |
| order_items | 112,650 | order_id, price, freight_value |
| orders | 99,441 | order_id, customer_id, order_status, order_purchase_timestamp |
- Note on Data Privacy: This project uses an anonymized public dataset (Olist). No PII (Personally Identifiable Information) is present, ensuring compliance with data protection best practices.
👉 Executive Summary (PDF – English): A strategic analysis of order fulfilment performance, revenue-at-risk, and regional bottlenecks with actionable optimization recommendations.
👉 Executive Summary (PDF – Persian): Persian version of the executive summary.
👉 Dashboard Walkthrough (GIF) (Dashboard Walkthrough – GIF): A visual walkthrough demonstrating the analytical dashboard, highlighting revenue risk hotspots and key operational trends.
Asma Sistani – Data Analyst
Turning complex e-commerce fulfillment data into actionable, revenue-driving insights.
This project shifts the focus from simple delivery volume to strategic revenue realization, identifying operational bottlenecks to convert "Revenue at Risk" into actionable bottom-line growth.





