Insider's Visual Guide to Uber

Project Info

Aug, 2015
Semester Project of the course Information Visualization

My Role

Team Work

  • Prototyping
  • Interface Design
  • Poster design
  • Video making

  • Deliverables

  • System Prototype
  • Project Overview
  • Poster
  • Project Video
  • Project Description

    Uber uses an algorithm to calculate the surge price during peak times, when the demand for drivers are high in a certain area. This might have several impacts on both customers and drivers. According to a Washington Post article, these may include: a reduction in the demand for cars (less people want a ride for a higher price), creation of new supply (providing an incentive for new drivers to hit the road), and shifts in supply (drivers) to areas of higher demand. We propose to present a visualization of these data to help users understand how surge multiplier works and how to optimize trip planning, especially when travelling to popular events or during peak times.

    Data Collection

    We collected Uber data from the Uber API. Four types of APIs are used to collect data : prices, products, promotion and times. Pickup locations, destination and time are independent variables that we input into the API. It returns the high estimate price, low estimate price, surge multiplier and estimated waiting time as the dependent variables.

    Design Ideation

    In our brainstorm session for the design poster, we decided to visualize different data attributes using various solutions to present multiple facets of the data. We list our four design alternatives below.


    Design solution 1

    Our first design alternative shows the relationship between the surge multiplier and estimated waiting time. Each data point is clearly presented in the scatterplot, and hovering over one data point creates a line chart connecting all data points for the corresponding pickup location. The pro in this design is that we are able to see how and if surge multiplier and estimated waiting time are correlated. However, it is difficult to visualize the time at which the data are collected, and data points are overlapping as a result, so it hinders our ability to explore their relationship over certain periods of time.

    Design solution 2

    In order to compare estimated price between a general weekend and an event weekend, we put two scatterplots side by side over time. By clicking on a data point, all the other data points from the same time on different days are connected in a line. Hovering over a data point shows a tooltip with information of the surge multiplier and the pickup location. Pros of this visualization include that it provides a clear comparison of the estimated price on different weekends. One of the cons is that the user cannot get a good idea of how the multiplier changes over time.

    Design solution 3

    In this visualization, we used bubble charts to present estimated price over time. For each location, the radius of the inner and outer bubbles is mapped to the low and high estimated prices. By sliding the bar below, bubbles will dynamically change based on time. It provides a rough idea of how price is changing over time, but it is hard to compare prices at two different times.

    Design solution 4

    In this view, the user chooses a pickup location first. On the left, a bubble chart shows an average of the low and high estimated price for that location. On the right, a line chart shows estimated price over time. The lighter blue line shows the estimated price for a general weekend, and the darker blue line shows that for the event weekend. A tooltip of the surge multiplier and the car type will show up when a data point is hovered over. With a drop down menu, this visualization provides a clear comparison of prices between two types of weekends, but lacks the ability to compare the surge multiplier or the estimated price differences among different locations.

    Final Implementation

    During the final implementaion, we were still iterating the design along with the development. By using JavaScript library (like D3) to build the charts and Semantic UI for the interface, we made it to the final presentation!

    Project Video

    Please enjoy this demonstration video of the system!

    < Back to Homepage Portfolio