An end-to-end Power BI dashboard analyzing 150,000 Uber ride bookings across a full year, built to uncover booking performance, revenue trends, cancellation patterns, and rider/vehicle insights for operational decision-making.
This project simulates a real-world business intelligence engagement for a ride-hailing platform (Uber-style dataset). Starting from a documented set of business requirements, I designed and built a multi-page Power BI report that tracks bookings, revenue, cancellations, ratings, and geographic ride patterns — enabling stakeholders to monitor performance and diagnose demand/supply issues at a glance.
The project follows a full BI workflow: requirement gathering → data modeling → DAX measures → interactive report design → business insights.
Ride-hailing operations generate large volumes of transactional data, but raw data alone doesn't answer the questions leadership actually cares about:
- How many bookings are completed vs. lost, and why?
- Which vehicle types and payment methods drive the most revenue?
- Where are rides being cancelled, and is it customer- or driver-driven?
- Which locations and time slots see the most demand?
- How satisfied are riders and drivers based on ratings?
The report was built against a formal set of business requirements covering an Overview page, Vehicle page, Revenue page, Rider page, and Location page, each with defined KPIs and breakdowns (see Business Requirements).
| Attribute | Detail |
|---|---|
| Volume | 150,000 booking records |
| Time period | Jan 2025 – Dec 2025 (full year) |
| Granularity | Individual ride booking (date, time, IDs, status, location, value, ratings) |
| Key fields | Booking ID, Booking Status, Customer ID, Vehicle Type, Pickup/Drop Location, Cancellation Reasons, Booking Value, Ride Distance, Driver & Customer Ratings, Payment Method |
| Supporting tables | Vehicle-type image mapping, Booking-status icon mapping (used for dynamic visuals in-report) |
Booking status breakdown:
| Status | Count | Share |
|---|---|---|
| ✅ Completed | 93,000 | 62% |
| 🚫 Cancelled by Driver | 27,000 | 18% |
| ❌ Cancelled by Customer | 10,500 | 7% |
| 🔍 No Driver Found | 10,500 | 7% |
| 9,000 | 6% |
- Power BI Desktop — report design, data modeling, page navigation
- Power Query (M) — data cleaning, shaping, and transformation of raw booking data
- DAX — custom measures for KPIs, YoY/Monthly-Quarterly toggles, contribution %, and conditional cancellation logic
- Data Modeling — star-schema-style relationships between the fact (bookings) table and supporting lookup tables
- UX Design — dark, minimal theme with donut charts, KPI cards, and a collapsible filter panel for clean navigation
The landing page surfaces top-line KPIs and lets users drill by vehicle type:
- KPI cards: Completed Bookings, Lost Bookings, Revenue, Total Distance, Avg Distance
- Vehicle filter to slice every visual by ride type
- Monthly / Quarterly toggle for Bookings Completed & Revenue trend lines
- Revenue by Vehicle Type — ranked bar chart
- Top Pickup & Drop Locations by booking count
- Ratings — average rider and driver ratings
Deep-dive into performance by vehicle type:
- Booking count, revenue, and % contribution per vehicle
Revenue broken down by:
- Customer, Vehicle Type, Payment Method
- Monthly and Quarterly trends
Focused on cancellations and rider behavior:
- Cancelled rides by reason
- Breakdown by payment method, month, and quarter
- Detailed table view
- Rider segmentation: First-time, Returning, Regular
Spatial and time-based demand analysis:
- Monthly total distance traveled
- Total distance by vehicle type
- Busiest time slots and busiest pickup/drop areas
All pages share a collapsible filter panel for spacing efficiency, with cross-page filters for date, vehicle type, and payment method.
- 62% completion rate — of 150K bookings, 93K rides completed successfully, while 38% were lost to cancellations or "No Driver Found," pointing to a meaningful supply-side gap.
- Driver-side cancellations (18%) outweigh customer cancellations (7%) by more than 2.5x — the biggest lever for recovering lost bookings is addressing driver-side cancellation reasons, not rider behavior.
- ₹5.18 Cr+ in total booking value generated across ~2.51M km of total ride distance.
- Auto (37.4K rides) and Go Mini (29.8K rides) are the highest-demand vehicle types, together accounting for over 44% of all bookings — useful for fleet allocation priorities.
- UPI is the dominant payment method (~46K transactions), followed by Cash and Uber Wallet, reflecting a digital-first, low-card-dependency payment mix.
- Top pickup and drop hubs (e.g., high-traffic zones) highlight where demand concentration could inform driver positioning strategy.
uber-rides-dashboard/
│
├── assets/
│ └── uber_dashboard.png # Dashboard screenshot(s)
├── data/
│ └── uber.xlsx # Raw booking dataset (+ image lookup tables)
├── docs/
│ └── business_requirements.docx # Original business requirements document
├── Uber_Dashboard.pbix # Power BI report file
└── README.md
- Clone this repository
- Open
Uber_Dashboard.pbixin Power BI Desktop (2023+ recommended) - Refresh the data source if prompted (points to
data/uber.xlsx) - Explore the five report pages using the navigation panel and filter controls
The report was built to satisfy a documented requirements spec covering:
- Overview KPIs (Completed, Lost, Revenue, Distance, Avg Distance)
- Vehicle-level filtering and monthly/quarterly toggles
- Revenue breakdowns by vehicle, customer, and payment method
- Rider cancellation analysis by reason and rider type
- Location-based demand and busy time-slot analysis
- A collapsible filter panel for a clean, spacious UI
Full spec: docs/business_requirements.docx
Ashmit Srivastava Data Analyst | Power BI · SQL · Python
⭐ If you found this project useful, consider giving it a star!!!
