Understanding historical trends in police-communinity interaction is crucial in developing stronger bonds between community members and police forces. The motivation for this application is to allow for exploratory data analysis on historical Stop-and-Frisk New York City records, as well as to provide information on other Neighborhood Coordinating Officers (NCOs) for each precinct. NCOs actively engage with local residents to strengthen relationships between police forces and the community. Community members are encouraged to contact NCOs regarding ongoing crime or quality-of-life issues. This application provides resources for NCOs and the community to develop a coordinated initiatives considering historical stop-and frisk data.


Stop-and-frisk is a New York City Police Department practice of temporarily detaining, questioning an searching civilians. Stop-and-frisk is often associated with "broken windows" policing- the theory that low-level crime and disorder encourages more serious crime.


The majority of the data for this project was collected and made available by NYC Open Data Portal, an initiative by the (New York City) Mayor’s Office of Data Analytics (MODA) and the Department of Information Technology and Telecommunications (DoITT) to open source data collected by government agencies. The Stop, Question and Frisk Data dataset was created on March 6th 2013 and updated through December 15, 2017. Data files are available from 2003-2017 and are available in CSV format. The NYPD 2006 Stop, Question, and Frisk database was previously released through the Inter-university Consortium for Political and Social Research’s National Archive of Criminal Justice Data (NACJD)


This application was developed using the Flask microframework[1]. Interactive graphs were developed with D3.js, DC.js, and Leaflet. The applicaiton uses a Postgres database, and is hosted on Heroku.


The interface is developed for exploratory data analysis. The user is prompted to pick one of the 4 boroughs included in the dataset. From there the user enters a page with the visualization of the data, along with a map of each datapoint that corresponds to that borough. An interactive map presents a marker for each stop. Users can zoom in and scroll the map according to area of interest. Below, six graphs present additional information on stops within the selected borough. A bubble chart present the precincts in which the suspects were frisked, along with bar and pie charts presenting the aggregate Race, whether the suspect was frisked, whether the suspect was searched, whether the suspect was arrested, and the suspected crime the suspect was committing at the time of the stop-and-frisk.