# Homelessness rate vs. housing cost across large US Continuums of Care
Research dataset for a FactHub fact check. Question: does Seattle/King County (WA-500) have more homelessness than its housing costs predict, compared with other large CoCs? Built 2026-10-10.

## Files
- **`coc_homelessness_rent_panel.csv`:** 67 CoCs x 2015-2025 (737 rows), one row per CoC-year.
- **`coc_geography_map.csv`:** the CoC-to-Census-geography crosswalk.
- **`regression_results.json`:** every fit (coefficients, SEs, R², RMSE, full residual rankings) by year, model and sample.
- **`scripts/xlsb_to_csv.ps1`:** exports each sheet of the HUD .xlsb to CSV through Excel, with macros force-disabled.
- **`scripts/download_acs.sh`:** downloads the ACS tables.
- **`scripts/build_and_analyze.js`:** builds the panel and runs the regressions. Run `node scripts/build_and_analyze.js .`
- **`scripts/summarize.js`:** prints the tables below. Run `node scripts/summarize.js . 2024 2019`
- **`raw/`:** unmodified downloads, plus the sheet CSVs (`raw/pit2025_csv/`) and the ACS JSON (`raw/acs/`).

Python is not installed on this machine, so the analysis is in Node.js.

### Column definitions
- **`coc_code`, `coc_name`, `short_name`, `hud_category_2025`:** `coc_name` is the CoC name HUD used that year. `hud_category_2025` is HUD's 2025 CoC category, e.g. "Major City CoC".
- **`year`:** the PIT count year (counts are taken in January).
- **`count_type`, `sheltered_only_count`:** `sheltered_only_count` = 1 when that year was a sheltered-only count. In those years HUD carries unsheltered forward from the last count, except 2021, where it records 0.
- **`total`, `sheltered`, `unsheltered`:** from HUD's Overall, Sheltered Total and Unsheltered Homeless columns.
- **`acs_year`:** the ACS vintage used. 2025 uses 2024 ACS; 2020 has no ACS data.
- **`population`:** ACS B01003.
- **`rate_per_10k`, `sheltered_rate`, `unsheltered_rate`:** per 10,000 residents.
- **`median_rent`:** ACS B25064, nominal dollars. For multi-county CoCs it is the mean of county medians weighted by renter-occupied households.
- **`vacancy`:** rental vacancy in percent = B25004_002 / (B25003_003 + B25004_002 + B25004_003). Blank where the Census Bureau suppressed it.
- **`predicted_rate`, `residual`:** from total rate ~ rent. The fit uses only that year's full-count CoCs and is then applied to every row in that year (out-of-sample for sheltered-only rows). Residual = actual − predicted.
- **`predicted_rate_rent_vac`, `residual_rent_vac`:** the same with vacancy added.
- **`predicted_unsheltered_rate`, `unsheltered_residual`:** from unsheltered rate ~ rent.

## Method
1. **PIT counts.** From HUD's "2007-2025 PIT Counts by CoC" workbook, I took Overall, Sheltered Total and Unsheltered Homeless for 2015-2025. I also downloaded the 2007-2024 edition but did not use it.
2. **CoC selection.** I picked 67 CoCs that are a large city, a large county or a set of named counties, so each boundary can be rebuilt from whole Census geographies. Balance-of-State and statewide CoCs are excluded. HUD's merger sheet shows no mergers for these CoCs in 2015-2025. Current boundaries are used for all years.
3. **Population.** I summed ACS 1-year B01003 over each CoC's counties.
   - City-only CoCs use the Census place: Chicago, Boston, Atlanta, Albuquerque, Oklahoma City, Detroit and Long Beach.
   - CA-600 (Los Angeles) is LA County minus Long Beach, Pasadena and Glendale.
   - This is a hand-built crosswalk. Small gaps: Detroit's CoC also covers Hamtramck and Highland Park; Fairfax's covers Fairfax City and Falls Church; Kansas City's covers the KC, MO parts of Clay and Platte counties.
   - HUD's CoC population figures and the Colburn & Aldern data were not used, because neither was readily available in a machine-readable form.
4. **Rent and vacancy.** ACS 1-year B25064, B25004 and B25003, for the same geographies and the same year as the PIT count.
   - ACS 1-year 2025 is not yet available through the API, so 2025 rows use 2024 ACS.
   - There was no standard ACS 1-year release for 2020.
   - Los Angeles uses whole-county rent and vacancy.
5. **Regressions.** Ordinary least squares within each year, with rent in $100s.
   - Models: total ~ rent; total ~ rent + vacancy; unsheltered ~ rent; unsheltered ~ rent + vacancy. A log(rate) version is in the JSON.
   - Samples:
     - **full_counts** (main): CoCs that did a full count that year.
     - **full_counts_excl_NYC**: the main sample without New York City.
     - **full_counts_major_city**: only CoCs HUD classes as "Major City CoC" in 2025.
     - **all_rows** (in the JSON): also includes sheltered-only years.

## Results
### King County, main sample (rates per 10k; rank 1 = largest positive residual)

| Year | n | Slope per $100 (SE) | R² tot | R² tot+vac | R² unsh | R² unsh+vac | King total actual / predicted (rank) | King unsheltered actual / predicted (rank) |
|---|---|---|---|---|---|---|---|---|
| 2015 | 67 | 1.54 (0.89) | .04 | .08 | .15 | .19 | 47.8 / 30.0 (10) | 18.0 / 10.1 (7) |
| 2016 | 55 | 1.83 (1.13) | .05 | .04 | .07 | .08 | 49.9 / 30.3 (6) | 21.0 / 7.7 (2) |
| 2017 | 67 | 1.52 (0.75) | .06 | .08 | .20 | .22 | 53.2 / 30.5 (9) | 25.1 / 12.2 (5) |
| 2018 | 56 | 2.12 (0.91) | .09 | .10 | .12 | .12 | 54.2 / 32.6 (6) | 28.3 / 10.3 (2) |
| 2019 | 67 | 1.93 (0.65) | .12 | .14 | .26 | .29 | 49.7 / 34.0 (10) | 23.2 / 15.9 (11) |
| 2021 | 33 | 1.66 (1.07) | .07 | .10 | .01 | .01 | 23.0* / 29.0 (not in fit) | 0* / 4.0 |
| 2022 | 64 | 1.89 (0.59) | .14 | .17 | .22 | .23 | 59.0 / 33.8 (10) | 33.9 / 16.9 (7) |
| 2023 | 59 | 1.37 (0.74) | .06 | .09 | .10 | .12 | 62.3* / 32.7 (not in fit) | 33.8* / 14.4 |
| 2024 | 60 | 1.81 (0.87) | .07 | .09 | .16 | .17 | 72.1 / 39.1 (8) | 41.9 / 16.7 (5) |
| 2025 | 57 | 0.96 (0.97) | .02 | .03 | .04 | .04 | 72.4* / 33.9 (not in fit) | 41.9* / 13.7 |

\* A sheltered-only year for King. In 2023 and 2025 unsheltered is carried forward from the prior count; in 2021 it is 0.

Typical miss (RMSE) for the total rate is 20-29 per 10k; for the unsheltered rate it is 6-15 per 10k.

### Sensitivity to the comparison set
Each cell is King's total rate, actual / predicted, with its rank.

| Year | All full-count CoCs | Excluding NYC | Major City only (n, R²) |
|---|---|---|---|
| 2015 | 47.8 / 30.0 (10/67) | 47.8 / 28.6 (9/66) | 47.8 / 46.0 (15/43; R² .25) |
| 2017 | 53.2 / 30.5 (9/67) | not run | 53.2 / 47.4 (13/43; .29) |
| 2019 | 49.7 / 34.0 (10/67) | 49.7 / 32.5 (9/66) | 49.7 / 52.2 (23/43; .40) |
| 2022 | 59.0 / 33.8 (10/64) | 59.0 / 32.9 (8/63) | 59.0 / 50.1 (12/40; .45) |
| 2024 | 72.1 / 39.1 (8/60) | 72.1 / 36.2 (7/59) | 72.1 / 58.8 (10/38; .25) |

King's unsheltered rate in the Major City sample, actual / predicted (rank):
- 2015: 18.0 / 15.6 (8)
- 2019: 23.2 / 24.0 (23)
- 2022: 33.9 / 25.2 (9)
- 2024: 41.9 / 23.6 (5)

The rent + vacancy model predicts 38.8 for King in 2024 in the full sample (rank 8/56) and 61.0 in the Major City sample (rank 9/34).

### Outliers, 2024, main sample (n=60)
Values are residuals in rate per 10k.

**Total rate:**
- Above prediction: NYC +130 (165 vs 35), SF +55, Boston +47, DC +44, LA +42, Chicago +41, Long Beach +38, King County +33 (8th), Albuquerque +26.
- Denver: +7 (15th).
- Below prediction: San Diego −11 (36th), Houston −23 (4.9 vs 27.8), Miami-Dade −25, Nassau/Suffolk −28, Montgomery County MD −28, Fairfax −32.

**Unsheltered rate:**
- Above prediction: LA +40, Long Beach +40, SF +32, Stockton +30, King County +25 (5th), Oakland +19, Albuquerque +17.
- Below prediction: San Diego −1, Denver −6, Houston −7, NYC −8.5, Boston −16, Fairfax −19.

**Not in the 2024 fit:** Portland, San Jose and Austin did sheltered-only counts. In 2025, Portland's full count gave 132 per 10k total and 87 unsheltered, the highest unsheltered rate in the set.

**2019, total rate:**
- Above prediction: NYC +64, DC +61, Boston +56, SF +53, Atlanta +39, LA +30, Portland +24, King County +16 (10th).
- Below prediction: San Mateo, Montgomery MD, Fairfax, Prince George's, Nassau/Suffolk (−22 to −29), Houston −16, Denver −11, San Diego −10.

**2019, unsheltered rate:** the top 10 residuals are all West Coast or Hawaii CoCs. King is 11th (+7). Denver (−9) and NYC (−8.5) are below prediction.

**Major City sample:**
- 2024 total rate, largest positive: NYC, Chicago, Albuquerque, DC, SF, LA. Largest negative: Miami-Dade, San Diego, Tampa, Raleigh, Dallas.
- 2019 total rate, largest negative: San Jose, San Diego, Miami-Dade, Denver, Houston.

## Caveats
- **Rent explains little.** Rent alone explains 2-14% of the variation in the total rate across large urban CoCs (25-45% in the Major City subset), so "predicted" is a weak benchmark.
- **CoC geography dominates.** City-only CoCs (Boston, Chicago, Atlanta, St. Louis, Albuquerque) have small denominators, so their rates run high. High-rent, low-homelessness suburban county CoCs (Fairfax, Montgomery MD, Prince George's, Nassau/Suffolk, San Mateo, Contra Costa) pull the prediction down for every high-rent CoC. King is a whole county containing a big city, so it sits between the two groups. Its 2024 residual is +33 in the full sample but +13 in the Major City sample, and it was about 0 in the Major City sample in 2015 and 2019.
- **King County's method changed between 2019 and 2022.**
  - 2015-2019: volunteer street count with survey adjustments.
  - 2022 and later: respondent-driven sampling (RDS), approved by HUD. KCRHA describes 2024 as its second RDS count.
  - The preliminary 2024 total of 16,385 was revised to 16,868 (the number in HUD's file). The whole revision was in the sheltered count (6,575 to 7,058); unsheltered was 9,810 in both FAQ versions. (Corrected 2026-10-10; see research/count-method.md.)
  - Size of the method effect: see research/count-method.md. UW's Almquist et al. (Am J Epidemiol 2024) found 2022 RDS (7,685) and a forecast of the old visual method (6,819) "not statistically distinguishable." Our estimated method share of the 2019→2024 rise is 0 to about 3,600 people (0–64%), with about 1,100 as the central estimate. That shrinks King's Major City residual from +13 to about +9 (about 0 at the high end). The full-sample residual stays at +17 or more.
  - So King's 2022+ rates are not directly comparable with its own earlier counts or with CoCs that use visual counts. RDS is designed to catch people visual counts miss. How large that effect is cannot be measured here.
- **King's 2025 HUD figure is sheltered-only.** Unsheltered (9,810) is carried forward from 2024. In 2023, 7,685 was carried forward from 2022.
- **Right to shelter.** NYC is bound by the Callahan v. Carey consent decree (1981). Massachusetts has a family right to shelter, and DC has seasonal shelter rights. These places show high total and low unsheltered rates. NYC's sheltered count went from 58,385 (2022) to 135,737 (2024) with asylum seekers, so its 2023-2025 rates mostly reflect migrant sheltering. Dropping NYC barely changes King's prediction (36 vs 39).
- **Sheltered-only years are excluded from fits.** The 2021 fit (n=33) is not meaningful for unsheltered rates.
- **Data quality.** PIT counts are single-night January counts, and methods vary by CoC. ACS sampling error is largest for vacancy, and some vacancy values are suppressed (e.g., Long Beach 2024). Multi-county "median" rent is a renter-weighted average of county medians, not a true median.
- **Boundaries are fixed** at their current definitions for all years (e.g., Jacksonville = Duval + Clay).
- **Omitted factors.** The model leaves out incomes, rent-to-income ratios, the lower-quartile rent distribution, climate, shelter capacity, and drug or mental-health factors.
- **Comparison with Colburn & Aldern.** Their 2022 book used all CoCs, including rural ones, and found much stronger rent and vacancy effects. Restricting to large urban CoCs here compresses the rent range and lowers R².

## What this does and does not show
**It does show:**
- On HUD PIT counts and ACS rents, King County's total rate has been above the rent-only line in every full-count year since 2015, in all three comparison sets. Among Major City CoCs, though, the gap was small before 2022.
- King's unsheltered rate is consistently among the largest residuals: 2nd-11th in the full sample and 5th of 38 among Major Cities in 2024. That places it with coastal California and Portland.
- In 2024, King's total rate was about 1.8x the full-sample prediction and about 1.2x the Major City prediction.

**It does not show:**
- A precise "more homelessness than housing costs explain." The model fit is weak, the result depends on the comparison set, and in 2019 King was on the Major City line.
- What causes the gap. The analysis cannot separate real differences from counting-method differences (RDS since 2022), from CoC geography, or from omitted factors.
- Any causal relationship. These are within-year cross-sectional associations across about 60 CoCs.

## Sources
- HUD, 2007-2025 PIT Counts by CoC (AHAR Part 1 data). Live URL: https://www.huduser.gov/portal/sites/default/files/xls/2007-2025-PIT-Counts-by-CoC.xlsb — it returned an HTTP 202 bot challenge to scripts. The copy used is https://web.archive.org/web/20260530191417/https://www.huduser.gov/portal/sites/default/files/xls/2007-2025-PIT-Counts-by-CoC.xlsb
- HUD, 2007-2024 edition (downloaded, not used): https://web.archive.org/web/20250524173920/https://www.huduser.gov/portal/sites/default/files/xls/2007-2024-PIT-Counts-by-CoC.xlsb
- U.S. Census Bureau, ACS 1-year 2015-2019 and 2021-2024, tables B01003, B25064, B25004 and B25003, for all counties and places: https://data.census.gov/api/access/data/table?id=ACSDT1Y{year}.{table}&g=010XX00US$0500000 (places: $1600000). Example: https://data.census.gov/table/ACSDT1Y2024.B25064
- KCRHA, 2024 PIT Count FAQ v2 (RDS method): https://kcrha.org/wp-content/uploads/2025/04/KCRHA-2024-PIT-Count-FAQ-v2.pdf
- Queen Anne & Magnolia News, 2025-06-24, "King County's homeless count revised up to 16,868": https://queenannenews.com/news/2025/jun/24/king-countys-homeless-count-revised-up-to-16868-due-to-improved-survey-method/
- Background: G. Colburn & C. P. Aldern, *Homelessness Is a Housing Problem* (UC Press, 2022). Their data was not used.
