Skip to main content

Practice: Ride-sharing Platform

Premium

Scenario: You're designing a data model for Uber to analyze ride performance, driver efficiency, and market dynamics.

Requirements:

  • Track ride metrics (distance, duration, fare) by city and time
  • Analyze driver performance and earnings
  • Monitor supply-demand balance in real-time
  • Measure the effectiveness of surge pricing
  • Analyze user retention and frequency of use

Task: Create a high-level dimensional model to support these requirements.

Identify the core business process. What is the central event that generates most of the required metrics? Think about what happens when a ride is completed.

Consider the granularity of your fact table. At what level of detail do you need to store ride data to support all required analyses?

Identify dimensions. What contextual information is needed to analyze rides? Consider the "who, what, where, when" of the ride process.

Think about slowly changing dimensions. Which entities might have attributes that change over time, and how should these changes be tracked?

Consider additional fact tables. Are there any metrics that might require a different grain or update frequency? Think about real-time monitoring requirements.