Why 311 Doesn’t Work

Identifying and Solving Glaring Chicago 311 Service Issues with Data Science

Preston Lam
The Startup
5 min readSep 23, 2020

--

Did you know that if you call 311, the City of Chicago can help you trim your trees and get rid of your rat infestation? Sounds great, but you might be waiting a very long time for anyone to show up.

Out of interest in civic engagement and love for the city of Chicago, I wanted to do a data science project on a key aspect of Chicago itself. One of the reasons why Chicago is great is that they’ve posted data from multiple departments online — data about their divvy bikes, crime rates, transportation, and more — so that data scientists such as myself can help identify issues and propose solutions to hopefully make life better for Chicago citizens. For this particular project, I decided to work with Chicago 311 service data.

What is 311?

311 is a special telephone number supported by many communities in the United States with the purpose of solving your non-emergency issues. In Chicago, the most common requests are for graffiti removal, weed removal, fixing streetlights, and fixing potholes.

Since 2018, Chicago has begun uploading all of their 311 request data online, including the type of request, the location, the responsible department, and dates requested and fulfilled. As of September 1st 2020, the City has amassed over 4 million points of data.

The Key Issues

While exploring the data, I came across 2 glaring issues that render the program nearly ineffective and undoubtedly leave Chicago citizens unhappy.

  1. Chicago takes far too long to address 311 service complaints. After removing complaints that there was no way for the address like “311 information calls” and “Aircraft noise complaint”, I found that the average service completion time was 26.1 days — nearly 4 weeks! The median wasn’t looking too much better at 24.9 days. I can’t imagine people who need to remove a dead animal in their yard are happy waiting this long.
  2. The average service time varies widely across neighborhoods. Some neighborhoods have an average service time of 30–40 days, whereas some only take 10–20 days. This variance is not fair for those who have to wait nearly 6 weeks to have their problems taken care of. As you can see from the heat map below, areas along the west and south side tend to have the longest wait times.

Exploring Key Correlations

I hypothesized that socioeconomic factors could play a key role in the variance of service times across neighborhoods, so I joined socioeconomic indicators from census data with my completion time data set and aggregated cross neighborhoods so I could these statistics-per-neighborhood. I also added in the number of requests since this variable seemed relevant to completion time.

I then looked at the correlations between all of these features and completion time.

From this graph I came away with 3 takeaways:

  1. Socioeconomic indicators had a positive but negligible correlation with completion time. There’s not much of a pattern here.
  2. Request count had the strongest correlation with completion time but still quite small, suggesting not much of a pattern here as well. Interestingly, the correlation was negative, suggesting that cities with less requests actually take longer to complete them (note: I’m not implying any causation here!). A possible explanation for this correlation is that neighborhoods that have less requests may not prioritize 311 departments and are thus even less prepared to deal with them.
  3. From the variables we looked at, it’s tough to discern any pattern that can guide an understanding of why completion times take so long and vary so much across neighborhoods.

Potential Solution: A Forecasting Engine for 311 Service Calls

Regardless of what potential causes / correlators may influence variance of completion time, Chicago as a whole is likely underprepared in terms of either resources, staff, or training to address these 311 service calls, which is why the average completion time is so high.

In this case, Chicago needs to better understand when calls take place.

As we can see, request volume peaks in the summer, specifically in July and August. Maybe this is the time where people are doing the most repair work on their homes or out causing trouble (mainly graffiti) for citizens.

But what if we want to look more granularly at certain departments or neighborhoods?

A solution is a forecasting engine that will allow specific 311 departments to pick up on seasonal trends and forecast requests for specific neighborhoods in a specified time period. Though it sounds sophisticated, this engine can actually be created using only the data Chicago is already collecting and a few free python packages.

I built out such a forecasting engine using the time series package “Facebook Prophet” and an app-publishing package called “Streamlit.”

You select the neighborhood, department, and days to forecast, and the app returns a predicted number of requests per day. Note that the variance is quite high, which means the tool is not precise enough yet. However, either the predicted number of requests or the upper bound still provides a decent target for the city to plan for, and you can still discern seasonality from the app. As the city collects more data and each neighborhood begins to collect tens of thousands of data points, the forecasting should become more precise.

I’m not sure whether the city has these forecasting capabilities yet, but if not they should certainly implement them. The investment could be little to no cost. The payoff could be huge: turning the broken but essential 311 service into a competent one that helps Chicago citizens.

--

--