Skip to content

Bamboo Weekly #152: Congestion pricing

Get better at: Working with CSV files, plotting with Plotly, cleaning data, grouping, pivot tables, window functions, and datetime values.

Bamboo Weekly #152: Congestion pricing

New York City, and particularly midtown Manhattan, is almost always crowded. That's part of the fun, seeing the huge number of people walking around, and the huge number of cars, buses, and taxis driving around. Of course, the people driving and riding in those vehicles are less enthralled and more annoyed by the slow pace of traffic.

One way to increase traffic speed would be to reduce the number of cars in the city. And so, after years of planning and discussion, New York implemented congestion pricing in January 2025, almost exactly one year ago. Cars entering Manhattan south of 60th Street from 5 a.m. to 9 p.m. on weekdays, and from 9 a.m. to 9 p.m. on weekends, have to pay a toll.

This was a politically contentious issue, with everyone from New York State Governor Kathy Hochul and President Donald Trump getting involved. But despite delays and arguments, the plan went into effect.

Has it succeeded? The Metropolitan Transport Authority (MTA), which runs public transportation in New York, released a report indicating that yes, it has succeeded (https://congestionreliefzone.mta.info), increasing vehicle speeds, reducing accidents, and increasing ridership of subways and buses. The New York Times published a story earlier this week summarizing and analyzing the report, giving a similarly positive review (https://www.nytimes.com/interactive/2026/01/05/upshot/congestion-pricing-one-year.html?unlocked_article_code=1.ClA.50uZ.ekmVzT3rbTo2&smid=url-share).

This week, we'll look at some of the data regarding congestion pricing in New York, and see if we can spot similarly positive trends.

Data and five questions

This week, we'll look at four different data sets, all published by New York City, that can help us to understand different facets of congestion pricing:

With all four files, I was able to download the data by using Chrome (not Firefox, for some reason) to open each URL. I clicked on "export" in the top right, which opened a dialog box. I chose CSV as the download format, and clicked on "download." In the case of the vehicle-entry file, which was more than 600 MB in size, it took some time before the download even occured, so some patience will be useful.

Paid subscribers to Bamboo Weekly, or to my LernerPython membership program (at https://LernerPython.com), can download the data files from the end of this message. You also get access to all questions and answers, downloadable notebooks, and an invitation to monthly office hours.

Learning goals for this week include: CSV files, dates and times, grouping, pivot tables, data cleaning, and plotting with Plotly.

Here are my five questions and tasks for this week: