NYC Rideshare Operations: Analysis & Dashboard
This project looks at how rideshare demand shifts across New York City and where supply appears to lag behind it. Using 62.4 million TLC trip records, I analyzed pickup patterns, wait times, and seasonal spikes, then built a dashboard that simulates fleet movement and flags zones where operators may be losing trips and revenue.
Overview
The Problem
Rideshare demand in New York is not centered only in Manhattan, but wait times are still shortest there. Brooklyn alone accounts for more than a quarter of pickups, yet riders often wait longer. I wanted to see whether the data could show where supply was falling behind demand and where that pattern was most consistent.
The Approach
I started with 62.4 million NYC TLC trip records across January, June, and December 2025, looking at pickup patterns, wait times, and how they changed by zone and hour. Because the data only captures completed trips, I paired the historical analysis with a driver simulation and built a dashboard that highlights likely supply gaps and where fleets might want to reposition drivers.
Key Findings
Brooklyn showed the clearest signs of undersupply
Brooklyn accounts for 27% of pickups but the median wait is 3.4 minutes versus 3.0 in Manhattan. Crown Heights North, East New York, Bushwick South, and Bedford show up as undersupplied across every cut of the data.
New Year's Eve demand was concentrated in residential Brooklyn
Citywide demand at 9 PM on New Year's Eve was 75% above a typical December 9 PM, and almost all of that surge came from residential Brooklyn: Stuyvesant Heights +209%, Bushwick South +183%, Bedford +150%, Crown Heights North +141%. Manhattan event destinations were not the story.
Airports need to be treated differently
JFK and LaGuardia together pulled more than 2 million trips with a 5.8 minute average wait, the longest in the system. They need their own operational playbook, not the same logic used for neighborhood demand.
The highest wait times happened overnight
Citywide median wait peaks at 4.37 minutes around 4 AM, when demand is at its lowest. Wait time is only a proxy for supply, but the timing points to fewer drivers on shift rather than volume pressure, exactly the kind of pattern an ops team would want to monitor.
How I Worked Through It
What I Focused On
The Dashboard
The analysis ends in a live dashboard. It shows a citywide map of all 39 zones, highlights where supply appears tight, and surfaces repositioning suggestions based on the simulation. There's also a playback mode that lets you step through a full day and watch how those patterns change hour by hour.
Open the Live Dashboard ↗