Authors: Alex Chohlas-Wood and John Hall
This January, in response to widespread concerns about safety on the New York City subway, the New York City Police Department (NYPD) made a new promise: the city would add hundreds of officers to patrol the city's subways, including two officers for each of the city's 150 late-night subway trains that run between 9pm and 5am.
How can we know if the city kept its promise? You might think that we'd need to file a public records request with the NYPD, e.g., to get data on every officer that worked a late-night shift in a transit precinct. But it turns out that the NYPD already publishes the data we need to understand highly granular patrol activity. It's the city's "Calls for Service"—i.e., 911—dataset.
It might seem counterintuitive that a 911 dataset would include information on where officers are deployed. But when you dial 911, the call is typically routed to a calltaker, who takes your information and then passes it off to a dispatcher. Dispatchers have a tough job: they have to keep track of the current location for dozens of officers, so that they can find nearby officers for a new call—especially if it's urgent. To help dispatchers keep track of where they are, officers will routinely and proactively check-in with their dispatcher via their radio with their location and an update on their current status. Alongside 911 calls from the public, these check-ins are recorded as "calls" in the city's calls for service (CFS) database, and are the key to understanding and analyzing officer deployment.
CFS data is available to download from the New York City Open Data portal. The data is posted in two parts. The first is a dataset of historic CFS from 2018 to the end of last year. The second dataset contains year-to-date CFS, updated roughly every quarter. As of this blog post, the year-to-date data contains records up through the end of June 2025. Altogether, there are over 51 million records in the combined data, underscoring the potential to use these datasets for precise statistical analysis.
NYPD's CFS dataset includes a wealth of information: location information, including the precinct, borough, patrol borough, and the latitude/longitude where the call took place; timestamp information, including the time and date of the underlying incident (e.g., in the event of a call from the public), as well as timestamps for when the call was added to the database, when an officer was dispatched, when they arrived at the scene, and when they closed out the call; and information on the type of call, including the "radio code"—a 2–3 character code that officers say on the radio to indicate what they're doing, as well as a corresponding description for the radio code. Even with descriptions, these codes can be quite cryptic to an outside observer—so we found a training guide for new officers that includes detailed descriptions of the codes, and posted it on GitHub.
Assessing deployment changes on the subway
To gauge whether the city really did add officers to patrol trains overnight after January's announcement, we examined the number of calls where officers checked in between 9pm and 5am with radio code "75M". Calls with a "75M" radio code mean that the officer told the dispatcher that they were initiating a patrol of a subway train. We compared the number of late-night "75M" check-ins before and after the policy announcement in January of 2025 (Figure 1).
Figure 1. Number of 75M late-night subway train patrol check-ins, by month, from September 2019 through June 2025. The vertical dashed line indicates the city's announcement that they would ensure two police officers on every overnight train. The red horizontal line represents the average number of late-night subway train patrol check-ins per month from September 2019 through January 2025, and again from February 2025 through June 2025, with a 95% CI around the average monthly call volume in gray.
Between Feburary 2025 and June 2025, there were over 15,000 75M check-ins per month—more than twice as many 75M check-ins per month as the average from September 2019 through January 2025. This change shows that there are many more officers checking late-night subway trains this year compared to the last few years, suggesting the policy change was implemented as promised and bringing some degree of comfort to late-night subway riders.
We've barely scratched the surface of what one could analyze with CFS data. For example, researchers could make use of the detailed latitude and longitude information in CFS data to understand how police-initiated patrols differ across neighborhoods in New York City. Many major American cities, including Austin, Baltimore, Detroit, Los Angeles, Miami, New Orleans, Phoenix, Pittsburgh, San Antonio, San Diego, San Francisco, Seattle, and Tempe, AZ, make their own version of CFS data available online. These datasets provide a valuable resource for researchers, journalists, and the public to analyze police deployment patterns and better understand the behavior of their local law enforcement agency. By examining these datasets, we can gain insights into how police resources are allocated and whether public safety initiatives are being effectively implemented.