NYC Ridership Recovery

(In Development)
An unofficial overview of the post-pandemic recovery of New York City's transit services with MTA's Day-by-Day Ridership Numbers.


A Work in Progress

This visualization is a work in progress with the aim of providing easily available visuals from the raw data available, useful to discussions about the recovery and future of New York City's transit systems. It also explores how to improve design around transit data and information.


This visualization displays the Day-by-Day Ridership Numbers that the New York Metropolitan Transportation Authority (MTA) began publishing in March 2020. The dataset shows daily ridership by transit mode (or traffic for bridges and tunnels) along with the difference compared to an equivalent day or average from 2019. Additional information on how MTA collects the data and calculates the pre-pandemic comparative day is available on their website. The data is loaded directly from New York's Open Data Portal to always show latest ridership values available. If there are any connection issue a recent copy of the data will be loaded instead.

The 7-day moving averages are not part of the original dataset and calculated using a javascript method by Mike Bostock.

A simple interactive timeline of events is included to help proviced context for changes in ridership. It references information from Investopedia's early pandemic timeline, MTA Press Releases, NYC's public school calendar and significant weather events.


This project is developed primarily in sveltekit (still in public beta) and d3.js building on a previously published observable notebook and also serving as an exploration of what can be done with the tools. The overview of services references the scrollytelling svelte components of Connor Rothschild and Russell Goldenberg. Type is set in Source Sans 3 Variable and DM Serif Display.

Design and Development by Ben Oldenburg.

Version: 1.1.0