Policy question: How did the volume and geographic distribution of executed residential evictions in New York City change around the early implementation of the 2017 Right to Counsel law, the COVID-era eviction disruption, and the post-moratorium period?
This is a descriptive policy question, not a causal estimate. The NYC Open Data eviction file records executed evictions from 2017 onward, so the data cannot provide a long pre-policy baseline. It also does not contain tenant representation status, court filings, income eligibility, or the rollout status of each ZIP code. The analysis therefore asks whether the observed pattern of executed evictions is consistent with policy-relevant changes, not whether Right to Counsel alone caused those changes.
Component question 1: Did executed residential evictions decline after 2017, especially in the early Right to Counsel rollout period from 2018 to 2019, compared with the 2017 baseline?
Component question 2: Were changes in executed residential evictions geographically uneven across boroughs and Neighborhood Tabulation Areas (NTAs)?
Component question 3: How different is the post-moratorium pattern from the pre-pandemic pattern, and which boroughs appear to account for the largest observed rebound?
# Data source and scope
The dataset is the NYC Open Data Evictions file,
downloaded as Evictions_20260430.csv. The public
documentation describes the file as executed evictions within the five
boroughs from 2017 to the present, compiled from New York City Marshals.
Because the assignment focuses on housing policy, the analysis is
restricted to residential records.
Right to Counsel was created in 2017 to provide free legal representation to eligible low-income tenants facing eviction. The program was initially designed as a phased rollout in high-eviction ZIP codes and was expanded citywide in March 2020, which overlaps with pandemic-era court disruption and the statewide eviction moratorium. That overlap is why the analysis separates 2018-2019 from 2020-2022.
| Raw records | Exact duplicate records removed | Residential records after cleaning | First executed date | Last executed date |
|---|---|---|---|---|
| 127,013 | 185 | 115,603 | 2017-01-03 | 2026-04-24 |
| Variable | Missing records | Total records | Missing share |
|---|---|---|---|
| Eviction Apartment Number | 18,533 | 126,828 | 14.6% |
| Bin | 11,756 | 126,828 | 9.3% |
| Bbl | 11,756 | 126,828 | 9.3% |
| Latitude | 11,316 | 126,828 | 8.9% |
| Longitude | 11,316 | 126,828 | 8.9% |
| Community Board | 11,316 | 126,828 | 8.9% |
| Council District | 11,316 | 126,828 | 8.9% |
| Census Tract | 11,316 | 126,828 | 8.9% |
| Nta | 11,316 | 126,828 | 8.9% |
| Ejectment | 1,617 | 126,828 | 1.3% |
| Court Index Number | 0 | 126,828 | 0.0% |
| Docket Number | 0 | 126,828 | 0.0% |
Decision: Missing apartment numbers are not corrected because the field is not necessary for the citywide, borough, or NTA-level analysis. Missing latitude, longitude, and NTA values are not imputed because assigning geography from partial address strings could introduce false precision. These rows are retained for time and borough analysis but excluded from NTA and map-based analysis.
| issue | affected_rows | action |
|---|---|---|
| Exact duplicate rows in standardized raw data | 185 | Removed with distinct() before analysis |
Decision: Exact duplicate rows are removed. This is a conservative correction because rows that match across every field do not appear to represent separate executed evictions.
| invalid_or_unparsed_dates | min_date | max_date | rows_before_2017 | rows_in_partial_2026 |
|---|---|---|---|---|
| 0 | 2017-01-03 | 2026-04-24 | 0 | 5587 |
Decision: The 2026 records are kept in the cleaned data but excluded from annual trend comparisons because 2026 is only a partial year in this download. The analysis uses 2017-2025 for annual charts and uses monthly charts when showing data through 2026.
| Variable | Value | Records |
|---|---|---|
| Borough | BRONX | 39,976 |
| Borough | BROOKLYN | 35,650 |
| Borough | QUEENS | 25,779 |
| Borough | MANHATTAN | 21,010 |
| Borough | STATEN ISLAND | 4,598 |
| Ejectment | Not an Ejectment | 125,302 |
| Ejectment | Missing | 1,617 |
| Ejectment | Ejectment | 94 |
| Eviction Legal Possession | Possession | 125,226 |
| Eviction Legal Possession | Eviction | 1,786 |
| Eviction Legal Possession | Unspecified | 1 |
| Residential Commercial | Residential | 115,748 |
| Residential Commercial | Commercial | 11,265 |
Decision: Abbreviated values were recoded into the
full categories where the meaning was clear: R to
Residential, C to Commercial,
P to Possession, E to
Eviction, and Y to Ejectment.
Borough aliases were also standardized. Unspecified values were not
dropped because they may represent real records with incomplete
classification rather than invalid records.
| missing_latitude_or_longitude | pct_missing_latitude_or_longitude | outside_nyc_bounding_box | missing_nta | pct_missing_nta |
|---|---|---|---|---|
| 11316 | 8.9% | 0 | 11316 | 8.9% |
Decision: Rows with missing or invalid coordinates are excluded only from spatial/NTA visualizations. They remain in non-spatial analyses because removing them from time-series totals would undercount executed evictions.
The univariate analysis focuses on variables directly tied to the policy question: execution date, borough, NTA, and execution type. These variables matter because Right to Counsel is intended to reduce the number of tenants who ultimately lose possession, and because the policy was rolled out geographically before becoming citywide.
The pandemic years are excluded from the core RTC comparison because
2020-2022 reflect an extraordinary legal and administrative disruption
rather than ordinary eviction enforcement. I keep those years visible
elsewhere in the report, but I do not use them to assess the pre/post
RTC pattern.
Interpretation: The annual distribution is relevant because it shows whether executed evictions fell after the law was passed and how sharply the pandemic period disrupted the series. A large drop in 2020-2022 should not be interpreted as Right to Counsel alone because it overlaps with court disruption and eviction moratorium policy.
| borough | evictions |
|---|---|
| BRONX | 36317 |
| BROOKLYN | 31351 |
| QUEENS | 22019 |
| MANHATTAN | 16625 |
| STATEN ISLAND | 4106 |
| Borough | Executed residential evictions |
|---|---|
| Bronx | 36,317 |
| Brooklyn | 31,351 |
| Queens | 22,019 |
| Manhattan | 16,625 |
| Staten Island | 4,106 |
Interpretation: Borough is relevant because a citywide decline can hide uneven local effects. This chart is a count distribution, not a rate. A borough with more evictions may also have more renters, more housing court activity, or more concentrated rental distress.
| Execution type | Records | Share of records |
|---|---|---|
| Possession | 108,735 | 98.5% |
| Eviction | 1,682 | 1.5% |
| Unspecified | 1 | 0.0% |
Interpretation: This variable matters because the dataset includes both eviction and legal possession records. The policy question is about tenant displacement, but the administrative category can distinguish different kinds of executed warrants.
| nta | evictions |
|---|---|
| Central Harlem North-Polo Grounds | 2288 |
| East New York | 2267 |
| Crown Heights North | 2192 |
| East Concourse-Concourse Village | 2021 |
| Bedford Park-Fordham North | 2010 |
| Williamsbridge-Olinville | 1936 |
| Mount Hope | 1803 |
| University Heights-Morris Heights | 1738 |
| Flatbush | 1729 |
| East Tremont | 1516 |
| Morrisania-Melrose | 1501 |
| Prospect Lefferts Gardens-Wingate | 1459 |
| Brownsville | 1444 |
| Washington Heights South | 1394 |
| Mott Haven-Port Morris | 1252 |
Interpretation: NTA is relevant because Right to Counsel initially used geographic rollout logic. Concentration in specific NTAs suggests where housing instability was most visible in executed eviction records.
The multivariate analysis examines how eviction counts vary jointly by time, borough, NTA, and policy period.
Interpretation: This relationship is expected to show a major drop during 2020-2022 because legal and administrative conditions changed sharply during the pandemic. A more policy-relevant question is whether boroughs returned to their earlier pattern after the moratorium period or whether the post-moratorium recovery was uneven.
| Borough | Period | Average annual evictions |
|---|---|---|
| Bronx | 2017 baseline / law passed | 7,392 |
| Bronx | Early RTC rollout / pre-COVID | 6,355 |
| Bronx | COVID/moratorium disruption | 679 |
| Bronx | Post-moratorium | 4,726 |
| Brooklyn | 2017 baseline / law passed | 5,895 |
| Brooklyn | Early RTC rollout / pre-COVID | 5,294 |
| Brooklyn | COVID/moratorium disruption | 832 |
| Brooklyn | Post-moratorium | 4,124 |
| Manhattan | 2017 baseline / law passed | 2,844 |
| Manhattan | Early RTC rollout / pre-COVID | 2,502 |
| Manhattan | COVID/moratorium disruption | 355 |
| Manhattan | Post-moratorium | 2,571 |
| Queens | 2017 baseline / law passed | 3,966 |
| Queens | Early RTC rollout / pre-COVID | 3,702 |
| Queens | COVID/moratorium disruption | 426 |
| Queens | Post-moratorium | 3,124 |
| Staten Island | 2017 baseline / law passed | 693 |
| Staten Island | Early RTC rollout / pre-COVID | 628 |
| Staten Island | COVID/moratorium disruption | 125 |
| Staten Island | Post-moratorium | 593 |
Interpretation: This plot helps separate the 2018-2019 early rollout period from the 2020-2022 pandemic/moratorium period. If the early rollout average is lower than the 2017 baseline in multiple boroughs, that is consistent with a decline after Right to Counsel began. It still should not be treated as causal proof because other housing policies and economic conditions also changed.
| nta | baseline_2017 | early_rtc_2018_2019 | absolute_change | pct_change |
|---|---|---|---|---|
| College Point | 55 | 22.5 | -32.5 | -59.1% |
| Stuyvesant Town-Cooper Village | 20 | 8.5 | -11.5 | -57.5% |
| Ridgewood | 134 | 73.0 | -61.0 | -45.5% |
| Middle Village | 40 | 22.5 | -17.5 | -43.8% |
| Starrett City | 76 | 43.0 | -33.0 | -43.4% |
| Glendale | 50 | 29.0 | -21.0 | -42.0% |
| Kingsbridge Heights | 197 | 115.5 | -81.5 | -41.4% |
| Prospect Heights | 23 | 13.5 | -9.5 | -41.3% |
| Erasmus | 181 | 112.0 | -69.0 | -38.1% |
| North Riverdale-Fieldston-Riverdale | 48 | 31.0 | -17.0 | -35.4% |
Interpretation: This relationship is useful because the early Right to Counsel period should matter most geographically if rollout intensity differed across places. NTAs below the dashed line had fewer average annual executed evictions in 2018-2019 than in 2017. That pattern is expected if access to counsel, tenant protections, or related housing policy reduced final executed evictions. It could also reflect broader citywide trends, landlord behavior, rent regulation changes, or other non-RTC factors.
| Borough | 2019 evictions | 2023 evictions | 2024 evictions | 2025 evictions | Average, 2023-2025 | Difference from 2019 | Percent difference from 2019 |
|---|---|---|---|---|---|---|---|
| Bronx | 5,850 | 4,033 | 4,476 | 5,668 | 4,726 | -1,124 | -19.2% |
| Brooklyn | 4,886 | 3,544 | 4,168 | 4,661 | 4,124 | -762 | -15.6% |
| Queens | 3,350 | 1,733 | 3,475 | 4,163 | 3,124 | -226 | -6.8% |
| Manhattan | 2,292 | 2,236 | 2,748 | 2,728 | 2,571 | 279 | 12.2% |
| Staten Island | 597 | 522 | 658 | 600 | 593 | -4 | -0.6% |
Interpretation: This table addresses whether the post-moratorium period returned to the pre-pandemic pattern. If some boroughs are near or above 2019 levels while others remain below, that would suggest the post-moratorium eviction landscape is geographically uneven rather than simply returning to the earlier citywide baseline.
The table below allows users to search and filter the cleaned eviction records by year, period, borough, NTA, execution type, and location.