housing_vacancy_county_year
County-year grain. Vacancy rates by type. Loaded from ACS B25002 + B25004 (2024).
tier asample_estimate
overview
overview
All 3,222 counties. Loaded from ACS B25002/B25004 (2024).
current vintage — 2020-2024 ACS 5-Year (planned)
history — ACS B25002: 2009-present
provenance
source & licensing
authority
U.S. Census Bureau (ACS 5-year)
dataset
American Community Survey 5-Year Estimates
source url
license
Public domain (U.S. Federal Government work)
citation
U.S. Census Bureau. ACS 5-Year Estimates, Table B25002 (occupancy status), 2020-2024.
schema
fields
| name | type | definition |
|---|---|---|
| country_idkey | string | ISO alpha-2 country code (always 'US' for domestic tables). |
| county_idkey | string | 5-character FIPS code identifying the county.Joins dim.counties on county_id. |
| county_name | string | Human-readable county name corresponding to county_id. |
| occupied_units | int64 · count | Number of housing units that are currently occupied by residents. Higher values indicate greater housing utilization. |
| state_idkey | string | 2-character FIPS code identifying the state.Joins dim.states on state_id. |
| total_housing_units | int64 · count | Total number of housing units in the county, including both occupied and vacant units. Serves as the denominator for vacancy rate calculations. |
| vacancy_rate | float64 · percent (0–100) | Share of total housing units that are vacant, expressed as a percentage. Calculated as vacant_units divided by total_housing_units times 100. Higher values indicate a looser housing market. |
| vacant_for_rent | int64 · count | Number of vacant units available for rent at the time of enumeration. Higher values may indicate softening rental demand or excess rental supply. |
| vacant_for_sale | int64 · count | Number of vacant units listed for sale at the time of enumeration. Higher values may indicate softening home-purchase demand or excess for-sale inventory. |
| vacant_migrant_worker | int64 · count | Number of vacant units set aside for occupancy by migratory agricultural workers during the harvest season. |
| vacant_other | int64 · count | Number of vacant units that do not fall into any of the specific vacancy categories (for rent, for sale, seasonal, or migrant worker). Includes units held off-market, undergoing repair, or otherwise unavailable. |
| vacant_rented_not_occupied | int64 · count | Number of units that have been rented but not yet occupied by the new tenant at the time of enumeration. |
| vacant_seasonal | int64 · count | Number of vacant units intended for seasonal, recreational, or occasional use (e.g., vacation homes). These units are not available for year-round occupancy. |
| vacant_sold_not_occupied | int64 · count | Number of units that have been sold but not yet occupied by the new owner at the time of enumeration. |
| vacant_units | int64 · count | Total number of housing units not currently occupied, regardless of vacancy reason. Equal to total_housing_units minus occupied_units. |
| yearkey | int64 | Reference year of the observation. |
relationships
joins
primary key
county_id, state_id, country_id, year
common joins
dim.geographies on county_id
housing_supply_county_year on (county_id, year)
housing_tenure_county_year on (county_id, year)
usage
how to use this table
method
ACS B25002 reports occupied vs vacant. Vacancy rate = vacant / total housing units. Vacancy-reason detail (vacant_for_rent, vacant_for_sale, vacant_seasonal, etc.) from B25004.
do not use for
Investor-held / second-home vs primary-vacancy decomposition (use B25004 for reasons); rental vacancy rate specifically (use B25004 type breakdown).
known issues
Occupancy status from B25002; vacancy-reason breakdown from B25004.
last updated · Jul 7, 2026