State Planner

South Dakota · November 9, 2026

Housing Units Permitted per 1,000 Residents, 2020–2025

This is a real answer State Planner produced from South Dakota’s public data.

Ask this question, or one like it, in State Planner now. Sign up to try every feature free for 7 days, no card needed, and the question will be waiting in your new chat to change or send.

Ask this in State Planner →
  1. Which South Dakota counties permitted the most new homes from 2020 to 2025, in total and per 1,000 residents?


    New homes permitted by South Dakota counties, 2020–2025

    Building permits allowed 42,392 new privately owned housing units across South Dakota from 2020 through 2025. That works out to about 45 units for every 1,000 residents. The figures are the Census Bureau's Building Permits Survey estimates, imputation included. The rate divides each county's six-year total by its July 1, 2025 population estimate.

    Housing Units Permitted per 1,000 Residents, 2020–2025Housing Units Permitted per 1,000 Residents, 2020–2025⬇ Image

    Map legend: counties are shaded by units permitted per 1,000 residents. Dark navy means 60 or more, blue 30–60, light blue 15–30, pale blue 5–15 and near-white under 5. Grey means the county has no rows in the survey. The numbers on the map are six-year unit totals for the top five counties by total. Click a county to see its totals, single-family and 5+ unit counts, and population.

    Top 10 counties by total units permitted, 2020–2025

    CountyUnitsSingle-familyIn 5+ unit buildingsPer 1,000 residents
    Minnehaha18,3476,89011,06486.3
    Pennington7,1842,7084,25061.5
    Lincoln2,9581,61982238.3
    Lawrence1,8321,39932162.2
    Custer1,5411,5310163.4
    Brookings1,14073526030.3
    Union1,04366325759.9
    Meade9368745630.5
    Codington93254229331.5
    Yankton80933841934.2

    Minnehaha County alone accounts for about 43% of the state's permitted units, and 60% of its units are in apartment buildings of five or more units. Minnehaha and Pennington together make up 60% of the statewide total.

    Top 10 counties by units permitted per 1,000 residents, 2020–2025

    CountyPer 1,000 residentsUnitsPopulation (2025 est.)
    Custer163.41,5419,431
    Minnehaha86.318,347212,691
    Lawrence62.21,83229,459
    Pennington61.57,184116,792
    Union59.91,04317,402
    Hamlin52.23606,900
    Sully46.7691,479
    Lincoln38.32,95877,145
    Lake35.338810,993
    Yankton34.280923,635
    • Custer County has by far the highest rate. Almost all of its 1,541 units were single-family homes, roughly one new unit for every six residents.
    • The Black Hills counties of Custer, Lawrence and Pennington, plus the Sioux Falls-area counties of Minnehaha, Union and Lincoln, all permitted more than the state average except Lincoln, at 38.
    • Sully County ranks high on the rate because its population is small; its total is only 69 units.

    Notes and caveats

    • Missing or zero counties: Oglala Lakota and Ziebach have no rows in the survey for 2020–2025. That means the survey has no figure for them, not that no homes were built. Perkins, Corson and Jackson reported zero units. Buffalo reported zero but has rows for only 3 of the 6 years.
    • What counts: only new privately owned housing in places that issue permits. Manufactured homes, conversions and public housing are not counted. A permit authorizes construction, and some permitted units are never built.
    • Choice of population: the rate uses the 2025 population. Dividing by each year's population and averaging would rank fast-growing counties like Lincoln and Custer slightly higher.

Layers

  • …
    • …
    • …
    • …
    • …
    • …
    • …

Click anything on the map for its details.

The transcript below the answer shows every query it ran. Shapefiles of every layer, at full detail, can be downloaded in State Planner: sign up to ask your own question and export any map.

Ask your own question about South Dakota

Send takes you to sign up (every feature free for 7 days, no card needed), or to sign in if you have an account. Your question will be waiting in your new chat.

Transcript

What follows is the transcript of this chat as State Planner generated it. It is here to show how the answer above was arrived at: every query State Planner ran, what each one returned, and where the data came from.

transcript.md

↑ Contents

State Planner chat · https://stateplanner.com

  • State: South Dakota (SD)
  • Started: November 9, 2026, 6:08 PM UTC
  • Runtime: 38 sec
  • Status: completed
Prompt

Which South Dakota counties permitted the most new homes from 2020 to 2025, in total and per 1,000 residents?

Model: Anthropic: Claude Opus 5.5 (anthropic/claude-opus-5.5, via openrouter)

Response

New homes permitted by South Dakota counties, 2020–2025

Building permits allowed 42,392 new privately owned housing units across South Dakota from 2020 through 2025. That works out to about 45 units for every 1,000 residents. The figures are the Census Bureau's Building Permits Survey estimates, imputation included. The rate divides each county's six-year total by its July 1, 2025 population estimate.

Housing Units Permitted per 1,000 Residents, 2020–2025

Map legend: counties are shaded by units permitted per 1,000 residents. Dark navy means 60 or more, blue 30–60, light blue 15–30, pale blue 5–15 and near-white under 5. Grey means the county has no rows in the survey. The numbers on the map are six-year unit totals for the top five counties by total. Click a county to see its totals, single-family and 5+ unit counts, and population.

Top 10 counties by total units permitted, 2020–2025

CountyUnitsSingle-familyIn 5+ unit buildingsPer 1,000 residents
Minnehaha18,3476,89011,06486.3
Pennington7,1842,7084,25061.5
Lincoln2,9581,61982238.3
Lawrence1,8321,39932162.2
Custer1,5411,5310163.4
Brookings1,14073526030.3
Union1,04366325759.9
Meade9368745630.5
Codington93254229331.5
Yankton80933841934.2

Minnehaha County alone accounts for about 43% of the state's permitted units, and 60% of its units are in apartment buildings of five or more units. Minnehaha and Pennington together make up 60% of the statewide total.

Top 10 counties by units permitted per 1,000 residents, 2020–2025

CountyPer 1,000 residentsUnitsPopulation (2025 est.)
Custer163.41,5419,431
Minnehaha86.318,347212,691
Lawrence62.21,83229,459
Pennington61.57,184116,792
Union59.91,04317,402
Hamlin52.23606,900
Sully46.7691,479
Lincoln38.32,95877,145
Lake35.338810,993
Yankton34.280923,635
  • Custer County has by far the highest rate. Almost all of its 1,541 units were single-family homes, roughly one new unit for every six residents.
  • The Black Hills counties of Custer, Lawrence and Pennington, plus the Sioux Falls-area counties of Minnehaha, Union and Lincoln, all permitted more than the state average except Lincoln, at 38.
  • Sully County ranks high on the rate because its population is small; its total is only 69 units.

Notes and caveats

  • Missing or zero counties: Oglala Lakota and Ziebach have no rows in the survey for 2020–2025. That means the survey has no figure for them, not that no homes were built. Perkins, Corson and Jackson reported zero units. Buffalo reported zero but has rows for only 3 of the 6 years.
  • What counts: only new privately owned housing in places that issue permits. Manufactured homes, conversions and public housing are not counted. A permit authorizes construction, and some permitted units are never built.
  • Choice of population: the rate uses the 2025 population. Dividing by each year's population and averaging would rank fast-growing counties like Lincoln and Custer slightly higher.
Exploratory Queries
Query 1 — Check which permit and population years are available.
   SELECT (
             SELECT max(YEAR)
               FROM sd_bps_county_permits
          ) bps_max,
          (
             SELECT count(DISTINCT geoid)
               FROM sd_bps_county_permits
              WHERE YEAR BETWEEN 2020 AND 2025
          ) n_cty,
          (
             SELECT string_agg(DISTINCT YEAR::text, ',')
               FROM sd_bps_county_permits
              WHERE YEAR >= 2020
          ) yrs,
          (
             SELECT max(YEAR)
               FROM sd_census_county_pop_est
          ) pop_max
bps_maxn_ctyyrspop_max
2025642020,2021,2022,2023,2024,20252025

data/turn-1-query-1.csv

Query 2 — Total 2020–2025 permitted units per county and per 1,000 residents (2025 population).
     WITH p AS (
             SELECT geoid,
                    sum(units_total) units,
                    sum(units_1) sf,
                    sum(units_5plus) mf5,
                    count(*) yrs
               FROM sd_bps_county_permits
              WHERE YEAR BETWEEN 2020 AND 2025
           GROUP BY geoid
          )
   SELECT c.name,
          c.geoid,
          coalesce(p.units, 0) units,
          p.sf,
          p.mf5,
          p.yrs,
          e.pop_estimate pop2025,
          round(1000.0 * coalesce(p.units, 0) / e.pop_estimate, 1) per1k
     FROM sd_census_counties c
     JOIN sd_census_county_pop_est e ON e.geoid = c.geoid
      AND e.year = 2025
LEFT JOIN p ON p.geoid = c.geoid
 ORDER BY units DESC
namegeoidunitssfmf5yrspop2025per1k
Minnehaha County4609918347689011064621269186.3
Pennington County46103718427084250611679261.5
Lincoln County460832958161982267714538.3
Lawrence County460811832139932162945962.2
Custer County4603315411531069431163.4
Brookings County46011114073526063763530.3
Union County46127104366325761740259.9
Meade County460939368745663071130.5
Codington County4602993254229362956231.5
Yankton County4613580933841962363534.2
Brown County4601375442228063756120.1
Lake County460793882786961099335.3
Butte County46019361348061085633.3
Hamlin County46057360292486690052.2
Davison County460353522402162006917.5
Hughes County4606527914811561757015.9
Beadle County460052431507561962412.4
Clay County460272131387161503114.2
Day County4603718318306548433.4
Roberts County46109163163061025515.9
Charles Mix County46023152135176930316.3
Turner County4612515011206931416.1
Moody County46101147124156663222.2
Kingsbury County46077142127156528426.9
Marshall County46091127105226442628.7

25 out of 66 are listed here.

data/turn-1-query-2.csv

Query 3 — Statewide total permitted units and per-1,000 rate for context.
   SELECT sum(units_total) units,
          round(
          1000.0 * sum(units_total) / (
             SELECT pop_estimate
               FROM sd_census_county_pop_est
              WHERE geoid = '46000'
                AND YEAR = 2025
          ),
          1
          ) per1k,
          (
             SELECT sum(pop_estimate)
               FROM sd_census_county_pop_est
              WHERE YEAR = 2025
                AND geoid <> '46000'
          ) pop
     FROM sd_bps_county_permits
    WHERE YEAR BETWEEN 2020 AND 2025
unitsper1kpop
42392935094

data/turn-1-query-3.csv

Map Layer Queries
Units permitted per 1,000 residents, 2020–2025 — colored by "cls": 60 or more (#08306b), 30–60 (#2171b5), 15–30 (#6baed6), 5–15 (#c6dbef), Under 5 (#f7fbff), No permit data in the survey (#bdbdbd)
     WITH p AS (
             SELECT geoid,
                    sum(units_total) units,
                    sum(units_1) sf,
                    sum(units_5plus) mf5
               FROM sd_bps_county_permits
              WHERE YEAR BETWEEN 2020 AND 2025
           GROUP BY geoid
          )
   SELECT c.geom,
          c.name AS "County",
          p.units AS "Units permitted 2020–2025",
          p.sf AS "Single-family units",
          p.mf5 AS "Units in 5+ unit buildings",
          e.pop_estimate AS "Population(July 2025 est.)",
          round(1000.0 * p.units / e.pop_estimate, 1) AS "Units per 1,000 residents",
          CASE
                    WHEN p.geoid IS NULL THEN 'none'
                    WHEN 1000.0 * p.units / e.pop_estimate >= 60 THEN 'a'
                    WHEN 1000.0 * p.units / e.pop_estimate >= 30 THEN 'b'
                    WHEN 1000.0 * p.units / e.pop_estimate >= 15 THEN 'c'
                    WHEN 1000.0 * p.units / e.pop_estimate >= 5 THEN 'd'
                    ELSE 'e'
          END AS cls
     FROM sd_census_counties c
     JOIN sd_census_county_pop_est e ON e.geoid = c.geoid
      AND e.year = 2025
LEFT JOIN p ON p.geoid = c.geoid

Picture: maps/turn-1-permits-per-1000.png

Used Data Sets

data/turn-1-query-1.csv

↑ Contents
bps_maxn_ctyyrspop_max
2025642020,2021,2022,2023,2024,20252025

1 row.

data/turn-1-query-2.csv

↑ Contents
namegeoidunitssfmf5yrspop2025per1k
Minnehaha County4609918347689011064621269186.3
Pennington County46103718427084250611679261.5
Lincoln County460832958161982267714538.3
Lawrence County460811832139932162945962.2
Custer County4603315411531069431163.4
Brookings County46011114073526063763530.3
Union County46127104366325761740259.9
Meade County460939368745663071130.5
Codington County4602993254229362956231.5
Yankton County4613580933841962363534.2
Brown County4601375442228063756120.1
Lake County460793882786961099335.3
Butte County46019361348061085633.3
Hamlin County46057360292486690052.2
Davison County460353522402162006917.5
Hughes County4606527914811561757015.9
Beadle County460052431507561962412.4
Clay County460272131387161503114.2
Day County4603718318306548433.4
Roberts County46109163163061025515.9
Charles Mix County46023152135176930316.3
Turner County4612515011206931416.1
Moody County46101147124156663222.2
Kingsbury County46077142127156528426.9
Marshall County46091127105226442628.7
McCook County4608711911906596420.0
Grant County4605111710506753415.5
Hutchinson County4606711210606741315.1
Bon Homme County4600910710706724414.8
Spink County461151008006615516.2
Deuel County460399377166440821.1
Brule County460159278106527817.4
Gregory County46053919106403722.5
Stanley County46117757506301824.9
Sully County46119696906147946.7
Fall River County4604762620674678.3
Hanson County46061595506345617.1
Sanborn County46111555506238823.0
Clark County46025545206403113.4
Faulk County46049414106217818.8
McPherson County46089373306234715.8
Aurora County46003352906280112.5
Walworth County4612934230652176.5
Douglas County46043333306288811.4
Miner County46097313106228113.6
Hand County4605931310631219.9
Potter County46107313106237713.0
Lyman County4608530260636948.1
Tripp County4612329920657085.1
Edmunds County4604521210640225.2
Jerauld County46073211706165412.7
Jones County460751830691319.7
Dewey County460411570654192.8
Mellette County4609512120621375.6
Harding County4606311110613318.3
Haakon County46055640618023.3
Bennett County46007660633071.8
Campbell County46021440613772.9
Hyde County46069330611912.5
Todd County46121220688630.2
Ziebach County46137023890.0
Oglala Lakota County461020133380.0
Perkins County46105000628530.0
Corson County46031000637810.0
Buffalo County46017000318020.0
Jackson County46071000626660.0

66 rows.

data/turn-1-query-3.csv

↑ Contents
unitsper1kpop
42392935094

1 row.

provenance/sd_bps_county_permits.md

↑ Contents

Provenance: sd_bps_county_permits

This file describes how the rows in PostgreSQL table sd_bps_county_permits were obtained from an external source: where they were fetched and how fields were renamed and typed. Field meanings are in the mapping table below.

Identity
  • Table: sd_bps_county_permits
  • Family: BPS
  • Display name: Building Permits by County
  • Source URL: https://www2.census.gov/econ/bps/County/ (co<year>a.txt, 1990 on)
  • Geometry (source / stored): none / none
  • Update cycle: Yearly (each May)
Pipeline

The Building Permits Survey publishes one national county file per year, the annual summary (a), comma-delimited text with a two-row header. Every year from 1990 is loaded; the newest year is the one before the current, once the Bureau has published it. Each year's file is downloaded whole and kept; the sync keeps South Dakota's rows (FIPS State 46) and checks each file's survey date names its year (2024, or 9099 in the 1990s files).

A county listed twice in one year (the 2014 and 2015 files repeat four Alaska boroughs and one Maryland county under a second name with the same estimates) keeps the row with more reported units; two rows with different estimates fail the sync. The monthly and year-to-date files are not loaded.

Changed from the source: cut to South Dakota; reshaped to one row per county per year; the three totals added; the region, division and survey-date columns dropped.

No licence terms: a work of the U.S. Government, credited to the U.S. Census Bureau.

Field → column mapping
Source fieldColumnTypeDescription
FIPS State, FIPS CountygeoidtextTwo digits and three, joined
County NamenametextTrailing spaces trimmed
Survey Dateyeartext → integerChecked against the file's year
1-unit Bldgs, Units, Valuebldgs_1, units_1, value_1integerEstimates with imputation
2-units Bldgs, Units, Valuebldgs_2, units_2, value_2integer
3-4 units Bldgs, Units, Valuebldgs_3_4, units_3_4, value_3_4integer
5+ units Bldgs, Units, Valuebldgs_5plus, units_5plus, value_5plusinteger
1-unit rep … 5+ units reprep_bldgs_1 … rep_value_5plusintegerReported only
(computed)bldgs_total, units_total, value_totalThe four estimate sizes added
Region Code, Division Code(dropped)

provenance/sd_census_counties.md

↑ Contents

Provenance: sd_census_counties

This file describes how the rows in PostgreSQL table sd_census_counties were obtained from an external source: where they were fetched and how fields were renamed and typed. Field meanings are in the mapping table below.

Identity
Pipeline

Two Census Bureau sources, joined on the county's 5-digit FIPS code:

  • Boundaries: TIGERweb tigerWMS_Current layer 82 ("Counties"), where=STATE='46', GeoJSON, outSR=4326, keyset-paged on GEOID.
  • CFS areas: sheet CFSAreas of the 2022 Commodity Flow Survey county list, the South Dakota rows (ST = 46). Only the 2022 columns are kept.

The two must name the same counties, or the sync fails. FAF's sd_faf_county_xwalk is built from this table: each county's cfs_geoid is the CFS22_ID of one FAF6 zone.

Field → column mapping
Source fieldColumnTypeDescription
TIGER GEOIDgeoidvarchar(5)state + county FIPS
TIGER GEOID, last 3county_fipsvarchar(3)county FIPS
TIGER NAMEnamevarchar(60)e.g. Minnehaha County
CFS CFS22_AREAcfs_areavarchar(5)CSA/MSA code, or 99999
CFS CFS22_TYPEcfs_area_typevarchar(1)C, M or R
CFS CFS22_NAME, whitespace collapsedcfs_area_namevarchar(120)the workbook pads some names with doubled and trailing spaces
CFS CFS22_GEOIDcfs_geoidvarchar(19)e.g. E330000US4699999999
TIGER AREALANDaland_m2bigintsquare meters
TIGER AREAWATERawater_m2bigintsquare meters
TIGER INTPTLATintptlatdouble precisioninternal point
TIGER INTPTLONintptlondouble precisioninternal point
geometrygeomgeometry(MultiPolygon, 4326)ST_Multi(ST_GeomFromGeoJSON)
Geometry
  • SRID 4326 (WGS84). GIST index on geom.
Change detection

The Census sync's check compares the layer's vintage ("January 1, 2026 vintage") and South Dakota's row count, and the county list's Last-Modified and length. A change to either marks Census stale, and the next Census sync rebuilds this table, then FAF's crosswalk.

Attribution

US Census Bureau. TIGER products are free to use with acknowledgement of the U.S. Census Bureau as the source; the CFS county list states no terms.

provenance/sd_census_county_pop_est.md

↑ Contents

Provenance: sd_census_county_pop_est

This file describes how the rows in PostgreSQL table sd_census_county_pop_est were obtained from an external source: where they were fetched and how fields were renamed and typed. Field meanings are in the mapping table below.

Identity
  • Table: sd_census_county_pop_est
  • Family: Census
  • Display name: Annual Population Estimates by County
  • Source URL: https://www2.census.gov/programs-surveys/popest/datasets/2020-2025/counties/totals/co-est2025-alldata.csv (vintage 2025; each vintage <V> is 2020-<V>/counties/totals/co-est<V>-alldata.csv), for 2020 on
  • History (2000–2019): under the same datasets/ directory, 2000-2010/intercensal/county/co-est00int-tot.csv and 2010-2020/intercensal/county/asrh/cc-est2020int-agesex-all.csv (the revised population), 2010/2010-eval-estimates/co-est2010-alldata.csv and 2010-2020/counties/totals/co-est2020-alldata.csv (the components of change of the releases they revised)
  • History (1970–1999): under https://www2.census.gov/programs-surveys/popest/tables/, 1900-1980/counties/asrh/co-asr-7079.csv, 1980-1990/counties/asrh/pe-02-<year>.csv and 1990-2000/intercensal/st-co/stch-icen<year>.txt (the county age, sex and race estimates), and 1900-1980/counties/totals/e7079co.txt and 1980-1990/counties/totals/e8089co.txt (the decades' county totals tables, for their census counts)
  • Geometry (source / stored): none / none
  • Update cycle: Yearly (each March)
Pipeline

The Population Estimates Program's national county file, CSV, one row per county with a column per year for each figure. The sync keeps South Dakota's county rows (SUMLEV 050, STATE 46), dropping the state's own total (040), and turns each into one row per year, the years read off the file's POPESTIMATE<year> columns. Every county the file names must be one the county layer of TIGERweb draws, or the sync fails. A file that is not valid UTF-8 is read as Latin-1. These rows are series postcensal.

The years before 2020 are series intercensal, from four further national files that never change:

  • Population, 2000–2009: co-est00int-tot.csv, one row per county, codes written without leading zeros (SUMLEV "50", STATE "1"), which the sync pads. ESTIMATESBASE2000 and POPESTIMATE2000–2009; its POPESTIMATE2010 and CENSUS2010POP are not loaded. vintage 2010.
  • Population, 2010–2019: the Bureau's table of revised county totals for the decade is a spreadsheet that names counties without codes, so the sync reads the same figures from cc-est2020int-agesex-all.csv, one row per county and YEAR code, its POPESTIMATE the whole population: YEAR 1 is the April 1, 2010 base, 2–11 July 1, 2010–2019, and 12 (the April 1, 2020 census) is not loaded. vintage 2020. 2010 is taken from this file, not the 2000s one, which has its own figure for it.
  • Components: the original releases' files, as published, matched by county code: co-est2010-alldata.csv for 2000–2010 (2000 is April to June) and co-est2020-alldata.csv for 2011–2019. Their natural change column is NATURALINC<year>. A county with no row in the 2000s release (one coded anew in the 2010s) has empty 2010 components; any other missing county fails the sync.
  • pop_change is computed, not read: pop_estimate less the row before's (2010's less the 2000s file's 2009, 2000's less 1999's, or ESTIMATESBASE2000 for a county with no 1999 row). The releases' NPOPCHG_<year> describes their own population, not the revised one, and is not loaded.
  • 1970–1999: each county's July 1 population is the sum of its age, sex and race estimates, which sd_census_county_pop_char loads from the same files (its provenance has their layouts): vintage 1980, 1990 and 2000 for the three decades. The Bureau's county totals tables for the 1970s and 1980s, e7079co.txt and e8089co.txt, are fixed-width text in blocks of five years, a long name wrapping onto a line of its own; only their first column, the decade's April 1 census, is loaded, into estimates_base on the 1970 and 1980 rows. Their July figures are not loaded: the 1970s table rounds counties to hundreds, and both are on the geography of their day as the age files are, but not always the same day's. No component of change is loaded before 2000. pop_change is computed as for the later decades, 1970's from the April 1970 count, and the 2000 row's is from July 1999.
  • A history row's county need not be one TIGER draws today (Connecticut's eight old counties, the 1970s' Alaskan census divisions and Virginia's Nansemond, and a handful elsewhere); the sync logs them.
Field → column mapping
Source fieldColumnTypeDescription
STATE + COUNTYgeoidvarchar(5)county FIPS
the <year> suffixyearsmallint
the newest <year>vintagesmallint1980, 1990, 2000, 2010 or 2020 on history rows
seriesvarchar(12)postcensal, or intercensal on history rows
POPESTIMATE<year>pop_estimateinteger
ESTIMATESBASE2020estimates_baseinteger2020 row only (ESTIMATESBASE2000, YEAR 1 on the 2000 and 2010 rows; the decade tables' census column on the 1970 and 1980 rows)
NPOPCHG<year>pop_changeintegercomputed on history rows
BIRTHS<year>birthsinteger
DEATHS<year>deathsinteger
NATURALCHG<year>natural_changeintegerNATURALINC<year> on history rows
INTERNATIONALMIG<year>international_miginteger
DOMESTICMIG<year>domestic_miginteger
NETMIG<year>net_miginteger
RESIDUAL<year>residualinteger
GQESTIMATES<year>gq_estimateinteger

The file's per-1,000 rate columns (R…) and GQESTIMATESBASE2020 are not loaded.

Geometry
  • No geometry column.
Change detection

The Census sync's check asks for the next vintage's file each time and moves to it once it is published; otherwise it compares the current file's Last-Modified and length, and each history file's. Any of them marks this table stale, and the next Census sync rebuilds it whole, every year from 2020 replaced by the new release.

Attribution

US Census Bureau, Population Estimates Program.

© 2026 State Planner