Analyzing the Impact of Ordinance § 8-04-016 in Chicago

This site contains an analysis of the the 2001 to 2023 Chicago Data Portal Data filtered for Illinois Uniform Crime Reporting or IUCR codes related to “PROSTITUTION” and a dataset of arrests related to sex work from the Chicago Police Department obtained thgrough the Freedom of Information Act on December 19, 2023.

Any functions used are read in a code chunk with the echo set to false for readability.

This site is an in-progress work, additional functionality will be added.

Introduction to Loitering for the Purpose of Prostitution Laws

Commonly called “Waking While Trans Laws” and “Gendered Stop and Frisk” due to their disproportionate effect on transgender women of color, Loitering for the Purpose of Prostitution (LPP) Laws authorize police to criminalize individuals based on their gender expression, clothing, or simply existing on the street.

In 2018, Chicago passed Ordinance 8-4-016, which empowered the Chicago Police Department Officers to designate areas of the city in which sex workers must disperse or face fines, jail, and thier car being impounded. Journalists, Activists, and Anti-Trafficking Organizations have discussed the the racial and gender-based profiling that similar loitering ordinances promoted.

Similar LPP Laws have been repealed in:

Status of LPP Laws in the United States

Where is Sex Work Decriminalized in the United States?



Chicago Data Portal

Read in the Chicago Data Portal 2001-2023 Crime Dataset

Note: Data was obtained in November 2023

Exploratory Data Analysis

cdp_data = read_cdp_crime_data() 

Before filtering the dataset has almost 70,000 entries coded as “PROSTITUTION”

cdp_data.shape
print(f"There are {cdp_data.shape[0]} rows and {cdp_data.shape[1]} columns in the Chicago Data Portal 2001 to 2023 Crime dataset ")
There are 69947 rows and 31 columns in the Chicago Data Portal 2001 to 2023 Crime dataset 

Filter the descriptions not related to consensual sex work i.e. juvenile related, pimping, solicitation of sex work

filtered_cdp_data = remove_based_on_description(cdp_data)

filtered_cdp_data.shape
print(f"There are {filtered_cdp_data.shape[0]} rows and {filtered_cdp_data.shape[1]} columns in the filtered 2001-2023 Chicago Arrest Data. Upon filtering there were {cdp_data.shape[0] - filtered_cdp_data.shape[0]} rows removed.")
There are 66807 rows and 31 columns in the filtered 2001-2023 Chicago Arrest Data. Upon filtering there were 3140 rows removed.
There were 5843 entries coded as 'PROSTITUTION' in 2001, and 5840 arrests
There were 6166 entries coded as 'PROSTITUTION' in 2002, and 6166 arrests
There were 6045 entries coded as 'PROSTITUTION' in 2003, and 6045 arrests
There were 7291 entries coded as 'PROSTITUTION' in 2004, and 7289 arrests
There were 5976 entries coded as 'PROSTITUTION' in 2005, and 5971 arrests
There were 6878 entries coded as 'PROSTITUTION' in 2006, and 6828 arrests
There were 5948 entries coded as 'PROSTITUTION' in 2007, and 5863 arrests
There were 4994 entries coded as 'PROSTITUTION' in 2008, and 4937 arrests
There were 3844 entries coded as 'PROSTITUTION' in 2009, and 3830 arrests
There were 2242 entries coded as 'PROSTITUTION' in 2010, and 2238 arrests
There were 1991 entries coded as 'PROSTITUTION' in 2011, and 1987 arrests
There were 1802 entries coded as 'PROSTITUTION' in 2012, and 1789 arrests
There were 1389 entries coded as 'PROSTITUTION' in 2013, and 1385 arrests
There were 1514 entries coded as 'PROSTITUTION' in 2014, and 1502 arrests
There were 1223 entries coded as 'PROSTITUTION' in 2015, and 1221 arrests
There were 773 entries coded as 'PROSTITUTION' in 2016, and 773 arrests
There were 712 entries coded as 'PROSTITUTION' in 2017, and 712 arrests
There were 688 entries coded as 'PROSTITUTION' in 2018, and 688 arrests
There were 651 entries coded as 'PROSTITUTION' in 2019, and 651 arrests
There were 270 entries coded as 'PROSTITUTION' in 2020, and 269 arrests
There were 93 entries coded as 'PROSTITUTION' in 2021, and 92 arrests
There were 281 entries coded as 'PROSTITUTION' in 2022, and 278 arrests
There were 193 entries coded as 'PROSTITUTION' in 2023, and 184 arrests

Numer of missing values from each row before filtering the data


Column Name Nulls Missing Percentage
11 District 1 0.001430
12 Ward 8016 11.460106
13 Community Area 8016 11.460106
15 X Coordinate 669 0.956438
16 Y Coordinate 669 0.956438
19 Latitude 669 0.956438
20 Longitude 669 0.956438
21 Location 669 0.956438
22 Historical Wards 2003-2015 782 1.117989
23 Zip Codes 669 0.956438
24 Community Areas 782 1.117989
25 Census Tracts 772 1.103693
26 Wards 782 1.117989
27 Boundaries - ZIP Codes 782 1.117989
28 Police Districts 784 1.120849
29 Police Beats 784 1.120849
30 Wards 2023- 796 1.138004

Number of missing values from each row after filtering the data

Column Name Nulls Missing Percentage
11 District 1 0.001497
12 Ward 7764 11.621537
13 Community Area 7764 11.621537
15 X Coordinate 642 0.960977
16 Y Coordinate 642 0.960977
19 Latitude 642 0.960977
20 Longitude 642 0.960977
21 Location 642 0.960977
22 Historical Wards 2003-2015 746 1.116649
23 Zip Codes 642 0.960977
24 Community Areas 746 1.116649
25 Census Tracts 740 1.107668
26 Wards 746 1.116649
27 Boundaries - ZIP Codes 746 1.116649
28 Police Districts 748 1.119643
29 Police Beats 748 1.119643
30 Wards 2023- 760 1.137605

Mapping Arrest Locations

Read in the KML data of historical sex worker work spaces and convert to GeoJson

fiona.drvsupport.supported_drivers["KML"] = "rw"
gdf = gpd.read_file("data/chicago_workspaces.kml", driver='KML')
workspace_geojson_data = gdf.to_crs(epsg='4326').to_json()

Below is base map of Chicago in Folium with the overlay of the Red Maps Team map of historic sex worker work spaces in Chicago.

Make this Notebook Trusted to load map: File -> Trust Notebook

2018 vs. 2023 Arrest Rates

Make this Notebook Trusted to load map: File -> Trust Notebook

CPD Data Analysis

Chicago Police Department Arrest Data January 2001 - December 2023

Obtained through the Freedom of Information Act on December 19, 2023


Exploratory Data Analysis

arrest_data = read_arrest_data()

Before filtering the dataset has 60468 entries

arrest_data.shape
print(f"There are {arrest_data.shape[0]} rows and {arrest_data.shape[1]} columns in the Chicago Police Department 2001 to 2023 Arrest dataset.")
There are 60468 rows and 26 columns in the Chicago Police Department 2001 to 2023 Arrest dataset.

Filter the dataset for the following excluded words not related to consensual sex work



filtered_ar_df.shape

print(f"There are {filtered_ar_df.shape[0]} rows and {filtered_ar_df.shape[1]} columns in the filtered Chicago Police Department Arrest Dataset. Upon filtering there were {arrest_data.shape[0] - filtered_ar_df.shape[0]} rows removed.")
There are 47403 rows and 27 columns in the filtered Chicago Police Department Arrest Dataset. Upon filtering there were 13065 rows removed.

Data Visualizations

Contact

Get in Touch

If you’re interested in sex worker’s rights and research, whether you’re a current or former sex worker, advocate, or scholar, please reach out and share your experiences and insight.

To contact the developer please email: aicha [AT] aichacamara.me , for other means of communication ask for Signal.