Uber/Lyft Maximization: More Money for The Time

Posted on Mar 12, 2019


Uber and Lyft who are the main ridesharing companies can make more money at a faster rate by filling their cars with passengers at a higher peak time when they are on the road. The typical Uber/Lyft driver normally have full-time jobs, full-time students, or in between jobs. Being an Uber/Lyft driver to make some extra cash on the side is ideal, however, you would want to optimize your time. With this being in mind and using the data that's freely available to the public at sfcta.org, I created a Shiny app for rideshare drivers that suggests where they will most likely find passengers in an area for pick up to drop off quicker. The Shiny app is based on the area zone in the Bay area, time, and day of the week.

The Data

The San Francisco Transportation Authority released some data of Uber and Lyft usage within the city by the Bay area. The two rideshare companies combined logged more than 150,000 daily rides on typical Fridays in the fall of 2016 which only included pick-ups and drop-offs within the city limits. With the "TNCs" official report and data, I used pick-ups and drop-offs from the Fall of 2016 in which the data also provided the GPS coordinates and were also in the form of shape files. I also used data from the Transportation Authority for the block level summaries "taz" zones (traffic analysis zones) in which divided the city up into different area zones.

The App: Visualization and Suggestion

Once I cleaned and merged the data, I transformed the given shape files of the GPS coordinates into a heatmap using Leaflet maps, longitude and latitude points. I added filters so the user can manually select the days of the week and times for pick-ups or drop-offs. To give drivers a better idea for times ahead, I added a histogram on the sidebar to show the number of pick-ups and drop-offs overtime on the users filter criteria.

This Shiny app offers both basic exploratory data analysis and a tool to visualize Uber/Lyft pick-ups and drop-offs. Open the app in the hyperlink above and test out the scenarios below.

R Shiny app for pick-ups and drop-offs according to day of week and direction

Above, you have the options for the day of the week and pick-ups or drop-offs with the leaflet heat map to the left. The "taz" information in the data set are the colored areas that you see in the heatmap. Once your criteria are selected, you will see the different taz areas change color showing the user how many pick-ups or drop-offs are being made in that specific area. This gives drivers a better understanding of what area of the city would be best to be in for picking up passengers on a given day at a given time.

Uber/Lyft pick-ups and drop-offs according to time of day on given day of week

You also have the time of day option to the right with an option play button which shows the transformation of the number of pick-ups and drop-offs throughout the selected day which appears in the leaflet heat map. The bottom right of the heat map has a legend designating the colors specific value. The bottom of the time slider, you may select the play button which shows the driver how the heatmap changes through the selected day. Therefore, the driver knows what area to be in later on in the day if need be. The histogram above the time slider also shows the user the peak times for that day for optimizing use.

Monday evening pick-ups

This is an example for typical Monday evening pick-ups. Not too much activity, however, you have the peak times in the morning commute hours and more so in the evening commute hours.

Saturday night pick-ups

Now, this is a Saturday evening and as you can see there is a lot more activity compared to the earlier example. By looking at the legend, you can see the values changed to a higher value. The histogram also shows the steady increase in pick-ups throughout the day and evening as supposed to Monday.

Suppose a full-time college student is working on the side as a driver for Uber/Lyft for some extra cash. Due to the intensity of his/her studies and the limited free time he/she wants to optimize their time on the road. With limited time or only being able to work a couple of days a week, they would want to be on the road working at the best possible times and day of the week to earn as much as they can. Makes sense right? Using this app that type of user can calculate the best day, time and area to be available to optimize their earnings. As you can see below, the user who decides they want to work on a Saturday night can select that day, choose pick-up, then use the slider bar to watch what areas on the map appear the most red. Therefore, the "college student" can plan accordingly for their work time.

Selecting day of week and pick-up/drop-off
Select time of day
See areas with the most pick-ups according to the legend

Future Work

This investigation didn't take into account the Uber/Lyft waiting time for particular pick-ups. With drivers being able to identify times and locations for better optimizing their time, this could cause some problems for passengers having to wait an unreasonable amount of time. Therefore, a lot more work to be done to investigate other choices of transportation such as community bike or scooters. San Fransisco only had data available for the fall season where having data year- round would give users a better understanding of how different seasons affect the passengers. Considering events occurring in the city that demand drive rideshare would be ideal. Then, I believe it would be good to implement predictive analytics and suggestions for drivers, such as route and time optimization using machine learning.

The Code

All of the code and data used for this Shiny app can be found on my GitHub page here.

About Author

Lauren Taylor

A Sam Houston State graduate in Business Administration. Looking to change career paths into more of an IT industry involving machine learning and algorithms. Love to continue learning python, SQL, and R code language.
View all posts by Lauren Taylor >

Related Articles

Leave a Comment

Gurkan Gezgin March 13, 2019
Very useful! Even though I feel pretty confident with patterns at 25k rides, I appreciate how you highlighted the hotzones.

View Posts by Categories

Our Recent Popular Posts

View Posts by Tags

#python #trainwithnycdsa 2019 airbnb Alex Baransky alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus API Application artist aws beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Best Data Science Bootcamp 2020 Best Ranked Big Data Book Launch Book-Signing bootcamp Bootcamp Alumni Bootcamp Prep Bundles California Cancer Research capstone Career Career Day citibike clustering Coding Course Demo Course Report D3.js data Data Analyst data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization Deep Learning Demo Day Discount dplyr employer networking feature engineering Finance Financial Data Science Flask gbm Get Hired ggplot2 googleVis Hadoop higgs boson Hiring hiring partner events Hiring Partners Industry Experts Instructor Blog Instructor Interview Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter lasso regression Lead Data Scienctist Lead Data Scientist leaflet linear regression Logistic Regression machine learning Maps matplotlib Medical Research Meet the team meetup Networking neural network Neural networks New Courses nlp NYC NYC Data Science nyc data science academy NYC Open Data NYCDSA NYCDSA Alumni Online Online Bootcamp Online Training Open Data painter pandas Part-time Portfolio Development prediction Prework Programming PwC python Python Data Analysis python machine learning python scrapy python web scraping python webscraping Python Workshop R R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest Ranking recommendation recommendation system regression Remote remote data science bootcamp Scrapy scrapy visualization seaborn Selenium sentiment analysis Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau team TensorFlow Testimonial tf-idf Top Data Science Bootcamp twitter visualization web scraping Weekend Course What to expect word cloud word2vec XGBoost yelp