Data & Methods

How this map was made

Every number on this site comes from public data, pulled by scripts/fetch_data.py. Nothing is typed in by hand.

Sources

  • U.S. Census Bureau, American Community Survey (Census Data API). Neighborhood numbers are 2020–2024 5-year estimates for NYC's 55 Public Use Microdata Areas (PUMAs). Borough and citywide numbers come from the same survey for the 5 counties and New York City (place 51000). Trend lines use 1-year estimates (2011–2024, with no 2020 release).
  • PUMA boundaries: NYC Open Data: 2020 Public Use Microdata Areas (PUMAs) (pikk-p9nv). They are simplified for the web with Douglas–Peucker.
  • NYC Open Data, Affordable Housing Production by Building (HPD, dataset hg8x-zxpr): 9,551 buildings and 320,946 units with start dates from 2014-01-03 to 2026-06-30. Each building is matched to a PUMA by its coordinates (point-in-polygon).
  • BLS CPI-U (U.S. city average, annual) puts dollar trend lines into constant 2024 dollars.

Why PUMAs?

A PUMA is the smallest area with at least 100,000 people that the Census publishes. In NYC, each PUMA matches a community district, or two combined, so it works as a stand-in for a "neighborhood". A PUMA is big enough for reliable 5-year estimates and small enough to show real differences.

Measures

MeasureDefinitionSource table
Born outside the U.S.Share of residents born outside the United States and its territories.ACS B05012
Median gross rentMonthly contract rent plus utilities for renter-occupied units, median.ACS B25064
Rent-burdened householdsRenter households paying 30% or more of income on gross rent.ACS B25070
Severely rent-burdenedRenter households paying 50% or more of income on gross rent.ACS B25070
Households that rentShare of occupied housing units that are renter-occupied.ACS B25003
Median household incomeHousehold income in the past 12 months, median, in survey-year dollars.ACS B19013
Below the poverty lineShare of people whose income is below the federal poverty threshold.ACS B17001
Unemployment rateUnemployed people as a share of the civilian labor force (16+).ACS B23025
Take the subway to workWorkers 16+ whose main way to work is subway or elevated rail.ACS B08301
Affordable units per 1,000 renter householdsUnits counted under NYC's Housing New York / Housing Our Neighbors plans (new + preserved), per 1,000 renter households.NYC Open Data hg8x-zxpr + ACS B25003

Uncertainty

ACS numbers are survey estimates, so each one has a 90% margin of error (shown as ± on the station cards). For percentages built from two estimates, the margin of error uses the Census Bureau's formula for proportions. For sums like 30–34.9% + 35–39.9% + …, it uses the square root of the summed squared MOEs. When two neighborhoods' ranges overlap, the gap between them may not be real. Rents and incomes above the Census top-code are shown with a "+".

Statistics in the findings

Correlations are Pearson's r across all neighborhoods, and the scatterplot fit lines are ordinary least squares. They describe patterns across places, not individual households (beware the ecological fallacy), and they don't show cause and effect.

About the subway lines

Every stop is a real station, and the route bullets borrow MTA colors. But the lines are a storytelling device. The Q, 4 and 7 here don't follow their real routes exactly; the 7, for example, "transfers" to the Bronx, Brooklyn and the Staten Island Ferry. A stop shows the numbers for the PUMA it sits in.

Rebuild the data

export CENSUS_API_KEY=your_key
npm run data

Last generated 2026-10-16.