Every City in the USA

Methodology · Vintage V2025

US city population data methodology

This US city population data methodology documents how Every City in the USA builds its city dataset: which records count as a “city,” how each derived field is computed, and how the 2019 ↔ 2020 vintage seam is handled. The current dataset covers 19,483 places across 50 states plus DC using Census Vintage 2025 (U.S. Census Bureau Population Estimates Program).

01What this dataset is

A normalized, source-traceable, annually updated register of U.S. cities with current population, annual history, growth, density, land area, and centroid coordinates. Every field traces back to a specific raw Census file recorded with its sha256 in our build manifest.

The audience is someone who will scrutinize the numbers — a journalist, urban planner, real-estate analyst, researcher, or data-curious resident. The dataset is built to be defensible at that level. It is not a casual list-content product.

  • Current population (Vintage V2025, July 1, 2025 reference date).
  • Annual estimate history: 2010–2019 from V2019 and 2020–2025 from V2025.
  • Within-vintage growth fields (absolute and percent) — never crossing the seam.
  • National and state population, growth, and density rank.
  • Land area, water area, density, and centroid (lat, lon).
  • Stable Census geoid and a stable URL slug.
  • Per-row provenance flags pointing back to the source file each value came from.

02How Census produces these numbers

Census does not count residents annually. The annual numbers are estimates built from the most recent decennial census plus year-by-year changes:

  1. County estimates first. A cohort-component method on births, deaths, and domestic + international migration updates each county's population annually since the 2020 census.
  2. Subcounty distribution. For each place or MCD, Census estimates housing units, multiplies by a household-population-per-housing-unit ratio derived from the 2020 census, and produces an “uncontrolled” household-population estimate.
  3. Controlled to county totals. A rake factor rescales subcounty household-population estimates so they sum exactly to the published county household-population total. Subcounty estimates are not independent of county estimates.
  4. Group quarters added separately. Population in correctional, juvenile, nursing, college, military, and other institutional facilities is estimated separately from a Group Quarters Report and added back. A college town's apparent year-to-year change can be driven entirely by reported dorm occupancy.
  5. Final rounding uses a “greatest mantissa” method so rounded subcounty values still sum to the controlled county total.

03What counts as a “city”

The Population Estimates Program (PEP) only produces annual subcounty estimates for “areas of general-purpose government.” That means incorporated places (cities, towns, villages, boroughs, municipalities) plus minor civil divisions in 20 strong-MCD states. PEP does not publish annual estimates for Census-Designated Places (CDPs).

The V1 cities table includes 19,483 records:

Source recordsFUNCSTATCountTreatment
SUB-EST2025 SUMLEV=162A (active)19,469INCLUDE — standard incorporated place
SUB-EST2025 SUMLEV=162B (active, partially consolidated)2INCLUDE — flagged is_partially_consolidated
SUB-EST2025 SUMLEV=162N (nonfunctioning legal entity)3INCLUDE — DC, Houma LA, Tribune KS
SUB-EST2025 SUMLEV=162S (statistical entity / CDP)1INCLUDE — Urban Honolulu CDP
SUB-EST2025 SUMLEV=162F (fictitious balance)8EXCLUDE — replaced by SUMLEV=170 records below
SUB-EST2025 SUMLEV=170A8INCLUDE — consolidated cities
Total19,483cities published

What V1 explicitly does not include

  • Minor civil divisions (SUMLEV=061). A real coverage gap. Edison Township NJ (~107k), Hempstead town NY (~800k), Brookhaven town NY (~487k), Cherry Hill NJ, and many other major Northeast population centers are missing. Tracked as the highest-priority V2 expansion.
  • CDPs other than Urban Honolulu. PEP doesn't estimate them annually. For unincorporated communities like Silver Spring MD, Arlington VA, and East Los Angeles CA, use the decennial census or ACS directly.
  • Place-portions and county-balance partition records (SUMLEV=071, 157, 172). These overlap with the place records — including them would double-count.
  • U.S. territories. Puerto Rico, USVI, Guam, American Samoa, and the Northern Mariana Islands are published in separate releases and are not in V1. The 51 jurisdictions covered are 50 states + DC.

04Consolidated cities & special cases

Eight cities have consolidated their government with their county or surrounding territory. Census represents them at SUMLEV=170 (the legally meaningful unit) plus a SUMLEV=162 “balance” record. We use the SUMLEV=170 population and borrow the SUMLEV=162 balance's gazetteer geometry, since the gazetteer doesn't publish a separate row for the consolidated entity. This slightly understates land area — and overstates density — for these eight cities by the area of separately-incorporated enclaves.

  • Milford CT · Athens-Clarke County GA · Augusta-Richmond County GA · Indianapolis IN · Greeley County KS · Louisville/Jefferson County KY · Butte-Silver Bow MT · Nashville-Davidson TN.

Three additional legal-status edge cases must be included explicitly:

Urban Honolulu CDP, HI
Pop 341,868. Honolulu has no separate municipal government from Honolulu County (consolidated since 1907); Census represents the city as a CDP. A strict “active legal city” rule would remove the largest city in Hawaii. Included with place_type='cdp_in_estimates'.
Washington city, DC
Pop 693,645. DC has no separate city government from the federal district itself; the place record is “nonfunctioning” because the government function is at the state-equivalent level. Included.
Houma city, LA
Pop 114,156. Houma is a former parish seat in Terrebonne Parish where the municipal government was consolidated into the parish in 2003; the Census place record is "nonfunctioning" (FUNCSTAT='N') but continues to report population. Included for completeness.
Tribune city, KS
Pop 711. Tribune is the county seat of Greeley County; Greeley County is one of Kansas's consolidated city–county governments. The Census place record has FUNCSTAT='N'. Included for completeness.

05Geographic enrichment

SUB-EST does not contain land area or coordinates. Land area, water area, and centroids come from the 2025 Census Gazetteer (cutoff January 1, 2025). Density is computed as pop_current / land_area_sqmi, NULL when land_area_sqmi is 0 or missing.

The join key is built from the SUB-EST STATE + PLACE (or CONCIT for SUMLEV=170) zero-padded into a 7-character GEOID. 19,483 of the 19,483 total cities match the 2025 Gazetteer cleanly. Geometry fields are NULL only when a future release has no matching gazetteer row.

06The 2019 ↔ 2020 vintage seam

The most important caveat for any growth statistic that crosses 2019/2020. The chained 2010–2025 series is not a single continuous series.

Vintage 2019 estimated July 1, 2019 by extrapolating from the 2010 Census base. Vintage 2025 re-based to the 2020 Census on April 1, 2020 (ESTIMATESBASE2020) and produced July 1, 2020 from there. The two series are independent estimates of two different reference dates, produced by different methodology generations.

CityV2019 pop2019V2025 pop2020Seam deltaReading
New York city, NY8,336,8178,751,188+414,3712020 census found NYC larger than V2019 had estimated.
Chicago city, IL2,693,9762,741,640+47,664Same direction, smaller magnitude.
San Francisco city, CA881,549875,139−6,4102020 census found SF slightly smaller than V2019 had estimated.
Detroit city, MI670,031638,419−31,612Mix of true population loss April 2019 → April 2020 plus 2020-census re-basing.

These deltas are a mixture of three distinct things: (1) real population change between April 2019 and April 2020; (2) methodology-rebase from V2019’s 2010-based extrapolation to V2025’s 2020-Census anchor; and (3) noise from the 2020 Census Disclosure Avoidance system, which is embedded in the blended base that PEP used as its 2020 starting point. None of these components can be cleanly separated after the fact. They are not a clean signal of any single thing.

07Derived field recipes

Every field in the public dataset is either copied directly from a Census source or computed by an exact formula. The build script implements exactly these recipes and nothing else.

Population fields (raw)

pop_current
Alias of pop_2025. SUB-EST2025 POPESTIMATE2025 · July 1, 2025
pop_2020 … pop_2025
SUB-EST2025 POPESTIMATE{year} · July 1 of each year
pop_base_2020
SUB-EST2025 ESTIMATESBASE2020 · April 1, 2020 base
pop_2010 … pop_2019
SUB-EST2019 POPESTIMATE{year} · NULL if no V2019 record
pop_census_2010
SUB-EST2019 CENSUS2010POP parsed as int. NULL if value is "A" (place incorporated after 2010 census, 78 such places).

Within-vintage growth (never crosses the seam)

growth_2020_current_abs
pop_current − pop_base_2020 · cumulative change from 2020-census base to mid-2025 estimate
growth_2020_current_pct
100 × (pop_current − pop_base_2020) / pop_base_2020 · NULL when pop_base_2020 = 0
growth_prev_current_abs / _pct
One-year change. Within V2025.
growth_2010_2019_abs / _pct
Within V2019. NULL if either endpoint is NULL.

Geometry fields

land_area_sqmi / water_area_sqmi
Gazetteer ALAND_SQMI / AWATER_SQMI. NULL if no gazetteer match.
density_per_sqmi
pop_current / land_area_sqmi · NULL if land_area_sqmi is 0 or NULL
lat / lon
Gazetteer INTPTLAT / INTPTLONG.

Rank fields

Numerical ranks use standard competition ranking (“1224”): equal published point values share the lower rank and the next rank is skipped. Open-ended ACS income medians instead appear in unranked groups, described in the ACS section below. Percent-growth rankings require pop_base_2020 ≥ 5,000 to keep tiny denominator artifacts off the leaderboards. A village that grows from 12 residents to 200 is not a fastest-growing city in any product sense.

08Update cadence

Annual. Vintage YYYY of SUB-EST is typically released in May of YYYY+1. When V2026 ships we re-fetch the source, re-run the build, and republish.

Mid-cycle. No mid-year revisions are expected. If Census issues a special revision (Population Estimates Challenge Program acceptance, special census), it is recorded in the build manifest with a reason.

2030 census. A new vintage family will eventually replace V2025. At that point V2025's 2020–2025 series may itself be revised in a re-base. This page will be updated to match.

09What this is NOT for

The trustworthiness of this site depends on saying “no” honestly when a use case is outside scope.

  • Not a legal boundary source. Use TIGER/Line shapefiles for boundary geometry. Our centroids are points, not polygons.
  • Not a demographic source. Race, age, income, housing, commuting, and language come from the American Community Survey (ACS) — a separate Census product not in V1.
  • Not a metro-area source. “New York metropolitan area” (~19.5M) is a different geography from “New York city” (~8.5M). Our pop_current is city-proper.
  • Not a county-level browser. County–place relationships are not in V1 because places can span counties (cf. Indianapolis SUMLEV=071 partition records).
  • Not a CDP browser (except Urban Honolulu). For Silver Spring MD, Arlington VA, East Los Angeles CA, use the decennial census or ACS directly.
  • Not a Northeast-MCD browser. Edison NJ, Hempstead NY, and Brookhaven NY are not in V1. Documented gap; planned for V2.
  • Not a 2010–2025 growth source. See §06. Use 2010–2019 (V2019) or 2020–2025 (V2025), but not both.
  • Not a margin-of-error source. PEP estimates do not carry published MOEs the way ACS does. Treat them as administrative best-estimates with implicit uncertainty.
  • Not a U.S. territories source. Puerto Rico, USVI, Guam, American Samoa, and the Northern Mariana Islands are not in V1.
  • Not a daytime or commuter population source. All figures are resident population (people who live there), not workplace or daytime population. For commuter-adjusted figures, use Census LEHD or ACS journey-to-work tables.
  • Not appropriate for legislative apportionment. Use decennial census counts, not PEP estimates, for any purpose that requires legally authoritative population figures (redistricting, apportionment, grant formulas that specify decennial counts).
  • Not a tract, block, or block-group source. PEP only produces subcounty estimates for general-purpose government units (places, MCDs). For sub-city geographies, use the decennial census or ACS.
  • Not an immigrant, citizenship, or nativity breakdown. Race, Hispanic origin, nativity, and citizenship status at the city level come from ACS, not PEP.
  • Not a source for places revised in subsequent vintages. Each new vintage revises all years back to 2020. A number published today may differ from the same city’s figure in next year’s vintage. Always cite the vintage year alongside any figure. (Example: Washington, DC’s 2024 estimate was revised when the site moved from Vintage 2024 to Vintage 2025.)

10Attribution & reuse

U.S. Census Bureau publications are works of the United States Government and are in the public domain (17 U.S.C. § 105). No license fee, no required attribution. We attribute anyway because credibility flows from sourcing.

Recommended attribution language for any republished extract:

Source: U.S. Census Bureau, Population Division. Vintage V2025 Subcounty Resident Population Estimates. Geographic enrichment from the 2025 Census Gazetteer. Compiled and processed by Every City in the USA on 2026-09-23.

The linked project credit is our suggested format, not a condition on reuse of public-domain federal data. Publishers may edit it or qualify the link to match their publishing policy.

This site does not imply Census endorsement and must not. Census does not review or approve third-party uses of its data.

Every build is fully reproducible from the raw files recorded in MANIFEST.json (sha256, source URL, retrieval timestamp). The methodology PDF downloaded from Census at build time is also archived with its sha256 so any reader can verify that our description of the Census methodology matches the actual document we used.

11Known limitations

  • MCDs (V2). The most consequential V1 gap. Tracked.
  • Geometry for the 8 consolidated cities. Borrowed from the SUMLEV=162 balance entry; understates land area by the area of included enclaves.
  • Gazetteer misses. The current V2025 build has no city rows without a 2025 Gazetteer match. Re-checked per release.
  • CDP coverage (other than Urban Honolulu) is by design. Not a gap, but worth restating.
  • Slug uniqueness may need to be re-evaluated when MCDs are added in V2.
  • Disclosure Avoidance noise sensitivity for small places. The 2020 Census TopDown algorithm injects differential-privacy noise into place-level counts. For places over 50,000 the mean absolute error is on the order of 10 people; for places under 1,000 it is roughly 2 people in absolute terms but proportionally much larger. This noise is embedded in the blended base that PEP uses. Treat very small city figures as directionally correct, not precise.
  • Estimates are revised in subsequent vintages. Each annual release revises all years back to the base year. The city-level figure for a given year may shift meaningfully between Vintage 2025 and future vintages. This site will always use the most recent vintage available, but archived pages or cached data may carry earlier figures. Always check the “Last built” date at the top of this page.
  • “City proper” vs. metro-area trap. A city rank by pop_current is a rank of the city-proper population. San Antonio (~1.5M) is a single large incorporated city; the San Antonio metro area (CBSA) adds surrounding counties. Readers who want metro-level comparisons need CBSA/OMB data, not this dataset.

For the full source list with file sizes, sha256s, and retrieval timestamps, see /sources/.

12Demographics & income (ACS 5-Year)

City profile pages surface demographics, income, poverty, housing, and broadband adoption from the U.S. Census Bureau's American Community Survey 5-Year estimates, 2020–2024 window (released January 29, 2026). ACS is the canonical source for these fields at the place grain — the Population Estimates Program does not publish them.

Source & access path

We fetch the bulk Summary File from www2.census.gov/programs-surveys/acs/summary_file/2024/table-based-SF/, one pipe-delimited file per detailed table. The detailed layer includes 30 tables. Direct S1901 mean household income and median-annotation evidence come from the Census API, whose exact responses are archived before normalization. Source hashes, estimate/MOE field definitions, missingness reasons and censoring bounds travel with the processed data.

Sentinel values

Census uses special codes for values it cannot publish. We retain their exact meanings beside every missing value. An estimate may be uncomputable, withheld for insufficient sample, or not applicable or unavailable. A missing margin of error does not necessarily mean the estimate is missing: a controlled population or housing total has no sampling error, while an open-ended median has a published bound but no conventional margin of error. Census annotation definitions.

Open-ended medians appear as bounds, such as “at least $250,000.” They do not enter exact ratios, national deltas or chart coordinates. National ACS benchmarks are built from the same release's U.S. rows, with their margins of error and source hashes. Rent-burden percentages exclude households for which Census did not compute a rent-to-income ratio. Derived shares carry approximate 90% margins of error using Census's proportion formula, with its prescribed general-ratio fallback; these approximations do not recover unpublished covariance. National comparisons describe estimates and do not by themselves establish statistical significance.

Income rankings retain population-qualified places whose medians are censored. The $250,000+ rows form an unranked top group, sorted alphabetically, not a tie. Any bottom-coded rows form an unranked bottom group. Numerical ranks for point estimates count all preceding places, including the top group. CSV downloads keep point estimates, bounds and bound directions in separate columns. A rank difference does not establish statistical significance.

Income, home-value and rent distribution scales count censored rows. A percentile is available only when its position identifies an uncensored point value regardless of where the censored observations fall within their intervals. Otherwise the percentile, and any rail that needs it, is withheld. Scale positions are descriptive, not significance tests.

Margin of error display rule

Every estimate (B19013_001E) has a margin of error (B19013_001M) at the 90% confidence level. We render both on every cell. When MOE > 0.5 × estimate, the cell is flagged “low precision.” This is most relevant for places under 1,000 population — for example, a tiny town might report median household income $170,154 with MOE ±$162,129. The estimate is technically published but should not be read as a precise dollar figure. The MVP 50k–150k population band has 100% fill and effectively zero low-precision flags.

Vintage seams (two of them)

  • The PEP V2019↔V2025 population seam documented in §06 still applies. ACS uses a different production methodology and the seam is irrelevant for ACS-only fields, but cross-referencing ACS to V2019 PEP population is unsafe.
  • ACS change over time. Census permits comparisons between non-overlapping five-year periods such as 2015–2019 and 2020–2024. Geography, definitions, and universes must remain comparable; dollar values need a common inflation basis; changes require a significance test using both margins of error. Overlapping periods share survey observations and cannot be treated as independent samples. We do not currently publish an ACS change series. Census comparison guidance.

What this is NOT for

  • Not a single-year income figure. ACS five-year estimates pool observations over the entire period. They are not the arithmetic mean of annual estimates. ACS one-year data covers qualifying places with at least 65,000 people and is not currently our small-area comparison source.
  • No change series is published here. A future comparison of non-overlapping periods requires the checks and significance testing described above.
  • Not a precise dollar figure for tiny places. MOE can exceed the estimate; we surface the “low precision” flag honestly.

Refresh cadence: annual, each February, two weeks after the December/January Census release window.

13Local economy (SAIPE + LAUS)

City profile pages surface county-attached poverty (Census SAIPE) and labor-market data (BLS LAUS) alongside place-grain unemployment for the ~1,745 cities where BLS publishes sub-state LAUS. All values are labeled at their native grain — there is no manufactured city-level rate for fields that BLS or Census publish only at the county level.

Sources & vintage

SAIPE 2024
Census Small Area Income and Poverty Estimates, reference year 2024, released 07 Jan 2026. County-grain. poverty_rate_all, poverty_rate_under18, median_household_income plus 90% CI bounds. Model-based, not a direct count — always labeled as such.
BLS LAUS 2025 annual
Bureau of Labor Statistics Local Area Unemployment Statistics, 2025 annual averages. County file and sub-state city series. Refresh annually after BLS publishes final prior-year annual averages.
Census Place→County crosswalk
Official Census file. In the current economic layer, 99.80% of the city rows available at build time matched cleanly; 38 places did not (newer incorporations) and ship without an economic block with a "county attribution unavailable" footnote.

The multi-county rule

1,128 of 19,483 cities span 2+ counties. County membership and resident shares come from official 2025 Census place-county-part population estimates, reconciled to each place total. We list all linked counties on city pages. The largest resident-share county is the representative county for contextual layers; its value is not a measured city value. We do not average county unemployment or poverty rates with resident shares: those rates have different denominators and county-wide populations are not the same as the city's county parts. Multi-county cities are excluded from sortable county-grain rankings.

Place-grain LAUS coverage

BLS publishes LAUS for ~1,745 cities natively (effectively places ≥25,000 pop, 99.9% coverage at that threshold). For these cities the page shows a place-grain unemployment line above the county block. For smaller places (most of the long tail), only the county-grain LAUS is shown, labeled with the county name. CDPs have no place-grain LAUS by design.

What this is NOT for

  • Not a city-level poverty rate for multi-county cities. Per-county listings only.
  • Not a measure of city-level unemployment for places under 25k pop. County-grain fallback only.
  • Not a basis for comparing SAIPE to PEP population numbers. Different production methodologies; they will not reconcile exactly.

Refresh cadence: annual, each May, alongside the existing Census PEP refresh.

14Cost of living (BEA RPP)

City profile pages surface a cost-of-living index from the U.S. Bureau of Economic Analysis Regional Price Parities (RPP) program. RPPs are spatial price indexes — they measure how much more or less a fixed basket of goods and services costs in a given metropolitan area or state relative to the U.S. average (= 100) in a given year. BEA constructs them from BLS Consumer Price Index price data, BLS Consumer Expenditure Survey expenditure weights, and Census ACS rent data.

Because BEA publishes RPPs at the metropolitan statistical area (MSA) and state grain — not at the city grain — we attach the figure to each city via a three-tier hierarchy:

  • msa — the city's primary county sits in a CBSA that BEA covers at the MSA level. The MSA's RPP is used. This applies to the vast majority of cities in populated areas.
  • state_nonmetro — the city's primary county is not in any MSA (or is in a micropolitan-only CBSA, which BEA rolls into the state non-metro figure). The state non-metropolitan portion RPP is used.
  • state_total — defensive fallback if neither of the above resolves. Should be zero or near-zero rows in practice.

The grain tier is shown explicitly on every city page so readers know whether the figure applies to a named metro area or to a broader state portion. The city-to-CBSA join uses the OMB July 2023 CBSA delineation file (list1_2023.xlsx) bridged through the Census Place→County crosswalk already maintained for the economic section (§13). The build also asserts that every current-city row whose primary county is in a Metro CBSA resolves to a BEA MARPP row; if that ever fails, the data build stops instead of substituting a state-grain proxy.

Source: BEA Regional Price Parities · 2024 · released Feb 19, 2026 · U.S. Bureau of Economic Analysis

Source: OMB CBSA Delineation · July 2023 · U.S. Office of Management and Budget (hosted on Census.gov)

The four RPP categories

All Items
The composite index. 100 = U.S. average. Most cities use this as the headline number.
Goods
Tradeable consumer goods (food at home, apparel, vehicles, etc.). Tends to converge across areas; less variable than Rents.
Rents
Actual and imputed rental prices. The single largest source of geographic variation in U.S. cost of living. Constructed from Census ACS rent data.
Utilities
Electricity, natural gas, water, sewer, and other utility services consumed by households. Published by BEA as a separate line code (4); surfaced in our table as its own row. Highly geographically variable — Hawaii routinely runs ~50% above the U.S. average; cheap-electricity states like Louisiana run well below.
Other Services
Non-rent, non-utility services: healthcare, personal care, education, entertainment, food away from home, and financial services. BEA publishes utilities as a separate line code (4); we surface utilities as a fifth row above and exclude utilities from Other Services.

What this is NOT for

  • Not an inflation measure. RPPs are cross-sectional — they compare areas in a single year, not the same area over time. A 2024 RPP of 112 means that area's prices are 12% above the U.S. average in 2024; it does not tell you how fast prices rose.
  • Not a place-level number. BEA does not publish RPPs at the city grain. We do not synthesize a city-level index. The figure shown applies to the named MSA or state portion, not the city in isolation.
  • Not a salary calculator. RPP tells you relative price levels, not whether a given salary is adequate. Income data comes from the ACS and SAIPE sections; combining them requires judgment this page cannot supply.
  • Not a budget tool. Individual spending patterns differ; households with unusually high or low rent shares will experience a different effective COL than the RPP composite implies.
  • Not precise for non-metro areas. BEA's non-metropolitan RPPs are based on thinner CPI samples and carry wider confidence intervals than metro-area figures.

Refresh cadence: annual. The current 2024 RPP release date is February 19, 2026; BEA lists the next release for December 10, 2026. Run python workflows/col/download_col.py --force && python workflows/col/build_col.py --verify and bump the year constant in both scripts. Full methodology: research/methodology-cost-of-living-2026-05-15.md.

15School districts (NCES EDGE)

City profile pages list the public school districts that serve each city, sourced from the National Center for Education Statistics' Education Demographic and Geographic Estimates (EDGE) Geographic Relationship Files. We ship the LEA-to-place crosswalk only in V1 — district names and outbound links to NCES. Enrollment, demographics, locale codes, and finance figures require the NCES Common Core of Data (CCD) and are deferred to a future workstream.

Source & vintage

GRF25 (LEA ↔ Place)
https://nces.ed.gov/programs/edge/data/GRF25.zip · TIGER 2025 boundaries / 2024–25 school year names · release pattern GRF[YY] each summer
GRF25 (LEA ↔ County)
Same zip, used as fallback for 8 consolidated city-county governments whose place GEOIDs don't appear in the LEA-place file (Indianapolis, Nashville-Davidson, Louisville/Jefferson, Athens-Clarke, Augusta-Richmond, Butte-Silver Bow, Greeley County KS, Milford CT)

The m:n join

One city can be served by many districts (Chicago: 11 districts in V1). One district can serve many cities (a county-wide district). This is not a defect — it reflects real geographic overlap. We sort districts within each city by landarea_in_place descending so the primary district is first, and we flag “edge overlap” slivers (intersections < 0.5 sq mi) so the UI can collapse them.

Coverage

19,476 of the 19,479 city rows available when the schools layer was built (99.98%) have at least one district mapping after applying place lookup, the consolidated-city county fallback, and the Milford CT special case. Three small incorporated places (Wheatland borough PA, Gann village OH, Glen Echo Park village MO — all under 600 pop) have no district intersection in TIGER 2025 and render without a schools panel.

What this is NOT for

  • Not enrollment data. The GRF contains geographic intersection areas only. Enrollment, demographics, locale, and finance require NCES CCD and are deferred.
  • Not a definitive enrollment-zone source. TIGER district boundaries differ from the within-district attendance zones a child is actually assigned to. Link out to NCES for authoritative information.
  • Not a quality rating. No school-quality, performance, or funding judgment is implied or intended.
  • Not BIE coverage. Bureau of Indian Education schools are federal and not represented in the GRF as state LEAs.

Refresh cadence: annual, each August, when NCES releases the new GRF (filename GRF[YY]).

16Climate (NOAA 1991–2020 normals)

Climate values on city profile pages come from the U.S. National Oceanic and Atmospheric Administration's 1991–2020 U.S. Climate Normals — the current canonical 30-year reference normals product. NOAA updates climate normals on a decadal cycle; the next release (2001–2030) is expected around 2031.

Hybrid product choice

We use a hybrid source path. For the contiguous 48 states + DC (~97.4% of cities), we sample NOAA's nClimGrid Monthly Gridded Normals v1.0 — a 4 km grid published by NCEI — at each city's Census Gazetteer internal point. For Alaska, Hawaii, Puerto Rico, U.S. Virgin Islands, and Pacific territories (and a small number of CONUS coastal-masked cells), we use the nearest GHCN station with 30-year normals from the v1.0.1 station product. Each city's row carries an explicit source_path (grid, station, station_far, or no_centroid) and a source_label string the page renders verbatim.

Honesty rule for Alaska

What we do not do

  • No bilinear interpolation across grid cells. The grid is already an interpolated product; we sample at the nearest cell and cite the cell.
  • No elevation correction. Places at unusual elevations relative to the grid cell representative inherit the grid's value as-is.
  • No snowfall surfaced yet for CONUS. Snowfall is station-only in the source product and is not yet rendered on CONUS city pages. Cross-joining the nearest station is deferred to a future update.
  • No anomaly vs. normal display. The 1991–2020 window ends 6 years ago and undercounts recent warming. We do not show "current year vs. normal" comparisons in V1 — only the official 30-year normal.

Unit conventions

Source product is in °C and millimeters; we store both metric and imperial columns so the public CSV is unambiguous. Display defaults to °F and inches, rounded to 1 decimal per NOAA's least_significant_digit attribute.

Refresh cadence: roughly static for the next 4–5 years. We re-pull annually to catch any v1.0.x point-release station corrections; the next major rebuild lands when NOAA publishes 2001–2030 normals (~2031).

17Internet broadband (FCC BDC)

City profile pages surface fixed broadband availability from the U.S. Federal Communications Commission's Broadband Data Collection (BDC). The current BDC layer contains all 19,483 cities in the canonical universe. For each row, we publish the number of providers (excluding satellite), the number of fiber providers, the share of broadband-serviceable units with ≥100/20 Mbps and ≥1 Gbps fixed service, the total broadband-serviceable units (BSL), a "+ satellite available" badge when satellite reports coverage, and the vintage stamp (bdc_as_of_date). The December 31, 2025 snapshot reports BDC coverage for 19,430 cities; 53 cities have no matched fixed-service record and render without the panel. This layer refreshes on its own cadence.

Source & vintage

FCC BDC Census Place summary (per-state)
55 zips, one per state + DC + territories + US-wide. Field set: area_data_type × biz_res × technology rollup; total_units and speed_* share columns. We read the Total / R / Any Technology row for headline metrics. No provider_id in this file.
BDC Provider Summary by Geography (nationwide)
515,731 rows of (geography_type, geography_id, provider_id). We filter to geography_type='Census Place' and count distinct non-satellite providers per place.
BDC Fixed Broadband Provider Summary (nationwide)
3,821 rows of (provider_id, technology_code). We use this to identify satellite-only providers (every tech code they report ∈ 61) for exclusion, and fiber-capable providers (any tech code = 50) for the fiber count.
Current vintage
as-of June 30, 2025 (last revised 2026-04-29). Next expected publication: as-of December 31, 2025, ~June 2026.

The satellite-exclusion rule

The consolidated-city representation seam

The 8 consolidated city-county governments in our universe (Indianapolis, Nashville-Davidson, Louisville/Jefferson, Athens-Clarke, Augusta-Richmond, Butte-Silver Bow, Greeley County KS, Milford CT) use a SUMLEV=170 GEOID built from STATE + CONCIT. BDC publishes these cities under the SUMLEV=162 "balance" GEOID instead — for example, Indianapolis is 1836000 in our dataset but 1836003 in BDC. The build script uses geometry_source_geoid from cities.csv (already maintained for gazetteer geometry lookup) to bridge the seam. Every consolidated city resolves to a BDC row; this is asserted in the verifier.

The advertised-vs-measured speed disclosure

Coverage suppression

53 places have no matched fixed-service BDC record. For those we set coverage_status="no_bdc_record" and the city page suppresses the broadband panel entirely rather than misleadingly displaying "0 providers." This is the same suppression discipline as ACS sentinel-to-NULL mapping (§12) and the SAIPE "county attribution unavailable" footnote (§13).

What this is NOT for

  • Not a measurement of actual delivered broadband speeds. Every speed in BDC is the ISP's advertised maximum.
  • Not a quality rating. No customer satisfaction, reliability, latency, or outage data is implied.
  • Not a real-time source. Each snapshot is from ~3-6 months prior to our build. New fiber buildouts and ISP withdrawals can shift between filings.
  • Not a household count. "Broadband-serviceable units" are physical locations (parcels, MDU units, business sites), not occupied households or population.
  • Not a price comparator. BDC has no pricing data.
  • Not a basis for comparing speed shares across as-of dates. Speed thresholds and reporting rules have changed across BDC filings.

Refresh cadence: biannual. Monthly cron polls listAsOfDates, no-ops until a newer as-of date appears, then rebuilds. Next expected: as-of December 31, 2025, publishing ~June 2026.

18Natural risk (FEMA NRI)

City profile pages surface natural-hazard exposure from the U.S. Federal Emergency Management Agency's National Risk Index (NRI). NRI is the federal government's authoritative natural-hazard composite assessment — an expected-annual-loss model spanning 18 hazards, calibrated on 1996–2019 historical loss data, and published at the U.S. county grain.

Source & vintage

FEMA NRI Counties
NRI December 2025 v1.20.0 (the current published version). County-grain composite risk score (0–100), risk rating bucket, expected annual loss, social vulnerability, community resilience, plus 18 per-hazard score / rating pairs.
Join key
5-character county GEOID (state_fips + county_fips), bridged from city to county via the SAIPE-derived place_county_xwalk already maintained for the Economic section (§13). 5.7% of cities span 2+ counties; the city page renders one row per linked county.

The 18 hazards covered

Hurricane, Coastal Flooding, Riverine Flooding, Wildfire, Earthquake, Tornado, Hail, Heat Wave, Cold Wave, Drought, Tsunami, Volcanic Activity, Avalanche, Landslide, Ice Storm, Lightning, Strong Wind, and Winter Weather. Each hazard carries an independent score 0–100 and a rating bucket (Very Low / Relatively Low / Relatively Moderate / Relatively High / Very High), plus three no-rating sentinels (No Rating, Insufficient Data, Not Applicable) for hazards that do not occur at all in a county (e.g. Tsunami in Kansas).

The composite score

FEMA's composite "Risk Index" combines all 18 hazards using an expected-annual-loss methodology that multiplies historical loss frequency, exposure value of population + buildings + agriculture, social vulnerability, and community resilience. It is a relative ranking across U.S. counties, not an absolute property-level forecast. A "Relatively Moderate" county can still see a single catastrophic event in any given year.

The multi-county rule

Just like SAIPE and LAUS (§13), we never compute a single averaged risk score for cities that span multiple counties. New York City lists Bronx, Kings, New York, Queens, and Richmond counties separately. Manufacturing a population-weighted average would violate the same "no fabricated aggregates" rule that governs the V2019↔V2025 vintage seam (§6) — risk varies by hazard and a coastal county within a multi-county city can have very different hurricane exposure than an inland one.

Coastal-prominence rule

Cities with any linked county scoring HRCN_RISKS ≥ 40 get the Hurricane signal surfaced prominently above the per-county hazard table. This threshold matches the build pipeline's cities_with_hurricane_signal stat and corresponds to roughly the Atlantic + Gulf coastlines. Wave 5 ICP feedback (Tampa user) flagged the missing hurricane signal as the biggest gap on a coastal city's page.

What this is NOT for

  • Not property-level. County grain only. Two adjacent properties on the same block can have very different parcel-level flood, fire, or wind risk; NRI does not resolve that.
  • Not a forecast. NRI is calibrated on 1996–2019 historical loss data. It is a backward-looking expected-annual-loss model, not a forward-looking projection. Climate change, urban growth, and infrastructure investment shift forward-looking risk in ways the model does not capture.
  • Not insurance pricing. Insurance carriers use proprietary catastrophe models with property-level inputs (construction type, elevation, distance to shore). NRI is a public-policy planning tool, not an underwriting tool.
  • Not a city-grain product. FEMA does not publish NRI at the place grain. The per-county listing on city pages reflects that boundary honestly.
  • Not an Alaska / Hawaii / territories comparator. NRI covers the 50 states + DC; coverage in Alaska is materially thinner than CONUS, mirroring the climate-data §15 honesty boundary.

Attribution

FEMA National Risk Index data is a work of the United States Government and is in the public domain (17 U.S.C. § 105). Recommended citation:

Source: U.S. Federal Emergency Management Agency, National Risk Index, December 2025 v1.20.0. County-grain risk values surfaced via the Census Place→County crosswalk maintained by Every City in the USA.

Refresh cadence: occasional. FEMA does not publish NRI on a fixed schedule. We re-poll the FEMA NRI data resources page on each annual data refresh and rebuild only when a newer release ships.

19Locator maps (Census TIGER/Line CB)

Each profiled city page carries a small state-outline thumbnail with a dot at the city's approximate location. The thumbnail is a pre-rendered SVG — there is no client-side mapping library, no tile server, and no zoom interaction. Its job is to anchor sense-of-place, not to support navigation.

Source & vintage

Census TIGER/Line Cartographic Boundary file
cb_2024_us_state_20m (2024 release, 1:20,000,000 scale, 187 KB zipped). Fetched from www2.census.gov/geo/tiger/GENZ2024; sha256 recorded in data/raw/tiger-cb-states/MANIFEST.json.
City coordinates
Reused from the 2025 Gazetteer centroid stored in cities.csv as (lat, lon). See §5 (Geographic enrichment) for the gazetteer join rule.

Projection & scale

Each state is drawn standalone in its own 480 × 360 px frame using a per-state equirectangular projection with cosine-corrected longitude. The longitude scale is multiplied by cos(centroid_lat) so the state's true east–west aspect ratio is preserved at that latitude (cosine correction is exact at the centroid and visually indistinguishable at the small scale of the thumbnail). No global projection is used, which sidesteps the Alaska/Hawaii inset problem entirely — every state is rendered on its own terms.

The state's bounding box is scaled to fit the frame with a 20 px inset and centered with letterboxing. The same projection used to draw the state outline is used to project the city's (lat, lon) into the same frame, so the dot lands on the state.

Inclusion rules

  • 50 states + DC (51 outlines). U.S. territories (Puerto Rico, USVI, Guam, MP, American Samoa) are deferred in V1 — the cartographic boundary file ships them, but no profiled city is in a territory.
  • Alaska Aleutian wrap-around dropped. The Aleutian island chain crosses the antimeridian, which would otherwise stretch Alaska's bounding box across ~360° of longitude and collapse the mainland to a sliver. We drop polygon rings whose mean longitude is east of –129° (well east of any mainland point) before projecting; the panhandle and full coast are preserved.
  • Dot clamped to the frame. Census Gazetteer centroids occasionally land a hair outside the CB 1:20M outline (the boundary file is smoothed). We clamp the dot to the visible frame so it always renders on the state shape rather than on the white margin.

Reusable state city maps

The US cities map collection uses the same Census boundary and Gazetteer inputs to provide one builder and three downloadable map layers for each state. For 49 states, place populations come from Census Vintage 2025 PEP. Hawaii is the exception: its page uses all 163 Census places from the 2025 Gazetteer with ACS 2020–2024 5-year B01003 population, because annual PEP contains only Urban Honolulu. Those Hawaii rows are map-only and do not change the canonical city dataset.

Builder filters cover cities, towns, and other legal place types; every bucket is visible by default. The satellite layer uses the public-domain USGS National Map, while elevation tinting and shaded relief use public-domain USGS 3DEP. Dots mark Census internal points rather than municipal boundaries. Every original map published by Every City in the USA is licensed under CC BY 4.0, including builder output, downloadable state and national maps, Growth Atlas maps, the homepage coverage map, and city locator maps.

Attribution should identify Every City in the USA, include the canonical source-page URL and CC BY 4.0 license URL when practical, and note material modifications. Our suggested online attribution links the source by default. Publishers may edit it or add rel="nofollow" or another rel value to match their policy. A link that passes ranking credit is not required.

What these maps are NOT for

  • Not for navigation. No streets, no neighborhoods, no labels — just state outline + dot. Use Google Maps for directions.
  • Not for property identification. The dot is the city's gazetteer centroid, smoothed onto the 1:20M state boundary. It is positionally accurate at ± tens of miles, not parcel-level.
  • Not for boundary disputes. The 1:20M cartographic boundary file is smoothed for thematic mapping. Use the 1:500k or full TIGER/Line edges if you need accurate state lines at zoom.
  • Not at-scale across states. Each state is rendered standalone — Rhode Island fills its frame at the same visual size as Texas does. The maps answer "where in the state?", not "how big?".

Attribution

Census TIGER/Line cartographic boundary files are works of the United States Government and are in the public domain (17 U.S.C. § 105). Recommended citation:

Source: U.S. Census Bureau, Geography Division, 2024 Cartographic Boundary File cb_2024_us_state_20m (1:20,000,000 scale).

Refresh cadence: decadal. Census re-publishes the CB files infrequently, typically alongside the decennial census. Re-run workflows/maps/download_tiger_states.py --force followed by build_state_outlines.mjs after a new release.

20State energy prices (EIA)

City profile pages surface a small state-grain energy panel beneath the BEA cost-of-living section: average residential electricity rate, average residential natural-gas rate, and average retail gasoline price. The figures come from the U.S. Energy Information Administration's open data API and complement BEA's RPP Utilities component by exposing the underlying state-level price levels that drive utility-cost differences.

Grain & vintage labeling

Every energy figure is explicitly state-grain (electricity, natural gas) or PADD-region-grain (retail gasoline). EIA publishes residential electricity and natural-gas prices monthly at the state level and retail gasoline weekly at the PADD region level. The page surfaces the single most-recent observation per series with its observation date — month for electricity and natural gas, week-ending for gasoline. We do not interpolate to a place grain; the city's state (and corresponding PADD for gasoline) determines which row is shown.

Source: EIA State Energy Prices · Most-recent observation · monthly (electricity, natural gas) · weekly (gasoline) · U.S. Energy Information Administration

What this is NOT for

  • Not a per-household rate. Residential averages are statewide and pooled across providers; individual utility tariffs vary by provider, plan, tier, and time-of-use.
  • Not a place-level number. EIA publishes at state and PADD grain; we do not synthesize a city-level energy price even where one would be intuitive.
  • Not an inflation tracker. V1 ships single most-recent observations only. Comparing two different-vintage observations as "year-over-year" is not supported by this layer — use BEA RPP component changes with grain caveats for that purpose.
  • Not the same as a utility bill. The retail electricity price is a marginal rate per kWh; a household's actual monthly bill depends on consumption, fixed customer charges, riders, taxes, and climate-driven seasonality.

Refresh cadence: monthly via daily-runner cron. Full methodology: research/methodology-energy-2026-05-18.md.

21Fair Market Rents (HUD)

City profile pages surface a row for HUD Fair Market Rent (2-bedroom) next to the ACS median gross rent in the Housing section. FMR is the 40th-percentile gross rent (rent + utilities) used by the U.S. Department of Housing and Urban Development to administer the Section 8 Housing Choice Voucher program. HUD publishes FMRs annually at the metropolitan area / non-metropolitan county level, typically each October for the next federal fiscal year.

Grain & join

HUD publishes FMR at the HUD FMR Area level — usually a Metropolitan Statistical Area for metro areas, a single non-metropolitan county otherwise. We join each city to its FMR area through the same Census 2020 Place→County crosswalk used for the COL pipeline (§14). Multi-county cities use the primary-county rule — the page surfaces a one-line caveat when a city spans more than one FMR area, identical to the multi-CBSA-disagreement caveat used by the BEA RPP layer.

Source: HUD Fair Market Rents + Small Area Fair Market Rents · FY2026 · annual · U.S. Department of Housing and Urban Development

FMR vs ACS median gross rent

FMR and the ACS median gross rent are different measurements of different things. FMR is a 40th-percentile gross rent (rent plus tenant-paid utilities) constructed by HUD to ground voucher policy; it updates annually and reflects more recent rental-market conditions than the ACS 5-Year window. ACS median gross rent reflects the actual rents paid by survey respondents over a five-year window, lagging current-market conditions by 2–3 years on the trailing edge. We surface both side-by-side; FMR is not "the right" rent number and ACS is not wrong — they answer different questions on different timelines, and the gap between them is itself information.

SAFMR ZIP-grain coverage

HUD publishes Small Area Fair Market Rents (SAFMRs) for metro areas only. SAFMR ZIP-grain rents are available for approximately 11,279 cities (58% of the city universe); the remaining 8,204 cities (42%) fall back to county-grain HUD FMR. The housing budget row in the F1 single-adult and F2 family-of-four panels uses SAFMR ZIP-grain when available, county-grain FMR otherwise. Cities with SAFMR coverage show the ZIP-code-weighted rent; cities without show the HUD FMR Area rate. Coverage grain is labeled on every page where the figure appears.

What this is NOT for

  • Not a market rent. FMR is a statutory benchmark, not what an individual unit lists for on Zillow today.
  • Not a place-level number. FMR is FMR-area-grain; we never synthesize a city-level FMR even when a city is the dominant population center of its FMR area.
  • Not a forecast. FY values are set in advance for the next HUD fiscal year (published each October), not a real-time market signal.
  • Not a voucher eligibility tool. Eligibility for the Section 8 program depends on income limits, household size, and local PHA waitlist policy. FMR alone does not determine voucher amount or eligibility.

Refresh cadence: annual, each October, when HUD publishes FMRs for the next federal fiscal year. Re-run python workflows/housing/download_hud_fmr.py followed by python workflows/housing/build_hud_fmr.py --verify, bumping the FY year constant in both scripts beforehand. Full methodology: research/methodology-fmr-2026-05-18.md.

22State and local tax collections per resident

Cost-of-living pages show Census collections for total taxes, property, sales and gross receipts, individual income, and corporate income. Collections include payments by businesses and nonresidents. Dividing revenue by resident population does not measure who ultimately bears the tax.

Grain & join

This product uses state totals including local governments, one record per state and DC. Every city displays its state's record. Collections in thousands of dollars are multiplied by 1,000 and divided by the matched-year Census PEP population. The U.S. comparison uses the separately published national collections and national population, rather than an average that gives every state equal weight.

Sampling uncertainty

Every source tax item's published coefficient of variation is retained. CV is the sampling standard error divided by the estimate, expressed as a percentage. Property, individual-income, and corporate-income categories use single published items. Total and sales categories combine items whose covariance is unavailable, so their joint CV and standard error remain blank. A separately labeled sum of component standard errors is retained as an upper bound, not a published standard error or confidence interval. Comparisons are descriptive and make no significance claims. Published zero CVs may reflect rounding. Nonsampling error and population-denominator uncertainty are outside these measures.

Tennessee & New Hampshire

The Census Annual Survey records realized revenue, not whether a broad-based wage tax is structurally on the books. Tennessee and New Hampshire can retain residual or narrow-tax collections, while Census classifies Washington capital-gains excise revenue as individual income tax. The income-tax brackets layer (§23) describes current tax structure; these figures describe collected revenue.

Source: Census Annual Survey of State and Local Government Finances · FY2024 · annual · U.S. Census Bureau, Economic Programs Directorate

What this is NOT for

  • Not a household tax calculator. Per-capita revenue is total dollars divided by total residents, not the slice an individual household pays.
  • Not a marginal-rate indicator. For state income tax brackets see §25 (Income tax). For combined sales tax rates see §26 (Sales tax).
  • Not normalized for tax exporting. Severance taxes (AK, WY) and tourism taxes (NV, HI) are partially paid by non-residents; the per-capita figure attributes all revenue to in-state residents.
  • Not combined into a composite affordability score. Every figure is a single sourced number with its own grain label.

Refresh cadence: annual, after the full release. FY2024 is the latest full state-grain release as of 2026-09-22. We use Census's published level-1 state-and-local estimates, after Census weighting and imputation, rather than summing sampled unit records ourselves. The site performs no additional imputation. State estimates are reconciled to Census's published U.S. controls before acceptance. Full methodology: research/methodology-gov-finances-2026-05-21.md.

23State income tax (state DOR)

City profile pages surface two state income tax rows inside the tax context panel: the top marginal rate for a single filer, and a modeled rate at $75,000 after the stated standard deduction. The 2026 national reconciliation uses Tax Foundation's February 11 table, which cites state statutes, forms, and instructions. Each record retains its state tax-agency URL and an evidence-status field. We do not describe a compilation-only check as primary verification.

Grain & data shape

State-grain only. The committed reference at workflows/tax/income_tax_brackets.json carries one entry per state + DC with the full single-filer bracket schedule, standard deduction, and primary source URL. Manually-maintained as a manual_overlay source per DATA_PIPELINE.md §3 — tax brackets change legislatively and often retroactively, so we do NOT scrape state DOR pages. Operator updates the JSON each January after states finalize their TY rate schedules.

The nine no-income-tax states

Seven states have never had a broad-based individual income tax: AK, FL, NV, SD, TX, WA, WY. Two more recently joined: Tennessee (Hall Income Tax on interest & dividends repealed effective January 1, 2021) and New Hampshire (Interest & Dividends Tax repealed effective January 1, 2025). All nine show "no state wage income tax" on the page. (Washington has a 7% capital-gains tax above ~$262k that is excluded from this dataset, which covers wage income tax only.)

Local income taxes are a separate, partial layer

Local income taxes are modeled only where the local-tax pipeline has a current, jurisdiction-specific value. Maryland and Indiana use Census-derived place-to-county joins; verified municipal schedules cover additional cities in Ohio, Kentucky, Michigan, Oregon, and several other states. Multi-county ambiguity and unsupported schedules remain null. NYC, Philadelphia, Birmingham, and Grand Rapids are currently suppressed because their filing-status, midyear, or combined-jurisdiction rules are not represented defensibly. The state rows never silently include a local tax.

Modeled rate at $75k single filer

The build divides modeled bracket liability by $75,000 after applying the stated single-filer standard deduction. It excludes personal exemptions, credits, deduction phase-outs, recapture, federal-tax deductions, retirement-income exclusions, and alternative minimum taxes. It is a bracket comparison, not a tax-return estimate.

Source: State Departments of Revenue — Individual Income Tax Rate Schedules · TY2026 · annual · State Departments of Revenue (50 states + DC), with Tax Foundation cross-check

What this is NOT for

  • Not a household tax calculator. The modeled rate omits rules that can materially change liability.
  • Not a measure of total state+local tax burden. For combined per-capita state+local revenue see §22 (Tax collections). For sales tax see §24 (Sales tax).
  • Not inclusive of local income taxes. Supported local values appear in their own labeled section and remain separate from the state rate.
  • Not inclusive of investment-income-only taxes. Washington's 7% capital-gains tax is excluded.
  • Not combined into a composite affordability score.

Refresh cadence: annual, each January, after state legislatures finalize TY rates and state DORs publish updated forms. Operator updates workflows/tax/income_tax_brackets.json by hand, then runs python workflows/tax/download_income_tax.py --force && python workflows/tax/build_income_tax.py --verify. The auto_update_policy: warning_hold in the registry forces a manual review pause on every change. Full methodology: research/methodology-income-tax-2026-05-21.md.

24State & local sales tax (Tax Foundation)

City profile pages surface three sales tax rows inside the tax context panel: the statutory state sales tax rate, Tax Foundation's population-weighted average local sales tax rate within the state, and their combined total. The state-level statutory rate comes from each state's published sales tax page; the population-weighted local average is from Tax Foundation's annual "State and Local Sales Tax Rates" study — no federal agency publishes this aggregation, so Tax Foundation is the canonical source for the local component.

Grain & data shape

The combined rate is the "how much sales tax does the average resident of this state pay" answer — a state-grain figure. Not the rate at any specific point of sale. Birmingham AL's actual combined rate (~10%) is higher than Alabama's population-weighted state-average (9.29%); a reader at a city page should not interpret the figure as the rate they would pay at any specific store. The page caveat below the table makes this explicit.

The five no-state-sales-tax states

Five states have no statutory state sales tax: OR, MT, NH, DE, AK. Of these, only Alaska allows local sales taxes statewide (Juneau, Kodiak, etc.) — so AK has state_rate = 0 but avg_local_rate > 0. Montana has a small "resort tax" in a few resort areas (Whitefish, Big Sky) which is excluded from V1 because it applies only in narrow geographies. New Hampshire has meals & rooms and other excise taxes, not a general sales tax. Delaware has a gross-receipts tax on businesses, not a register-visible sales tax.

Special-case rates

Hawaii's 4% General Excise Tax (GET) is technically a gross-receipts tax on businesses, but Tax Foundation reports it as the state's effective sales tax for cross-state comparison purposes. New Mexico's 4.875% Gross Receipts Tax is similarly treated. Louisiana mid-year hiked its state rate effective January 2025; we use the year-end rate. New Jersey has a slightly negative population-weighted local average because Urban Enterprise Zones charge 50% of the state rate, dragging the state-wide pop-weighted average below zero.

Source: Tax Foundation — State and Local Sales Tax Rates (annual) · January 1, 2026 · annual · Tax Foundation (population-weighted local averages) + state statute (state rate)

What this is NOT for

  • Not a point-of-sale calculator. Combined rate is a population-weighted state average; specific local rates vary.
  • Not comprehensive. Excludes excise taxes (gasoline, tobacco, alcohol), selective sales taxes (hotels, meals, car rentals), use tax, and special district taxes.
  • Not a measure of total state+local tax burden. See §22 (Tax collections) and §23 (Income tax).
  • Not combined into a composite affordability score.

Refresh cadence: annual, each January, when Tax Foundation publishes its updated "State and Local Sales Tax Rates" annual study. Operator updates workflows/tax/sales_tax_rates.json with new entries, bumps tax_year + last_verified_date, then runs python workflows/tax/download_sales_tax.py --force && python workflows/tax/build_sales_tax.py --verify. Full methodology: research/methodology-sales-tax-2026-05-21.md.

25Occupational wages (BLS OEWS)

City profile pages surface an Occupational wages sub-panel inside the Local economy section showing what workers earn in the city's metropolitan area. Top 10 occupations by employment plus six curated benchmark occupations: registered nurse, software developer, elementary school teacher, general and operations manager, retail salesperson, and heavy/tractor-trailer truck driver. Data comes from the U.S. Bureau of Labor Statistics' Occupational Employment and Wage Statistics (OEWS), May 2025 reference period.

Grain & join

OEWS publishes at the metropolitan area level (CBSA or NECTA), not place-grain. Each city joins to its metro through the same Census 2020 Place→County crosswalk and OMB CBSA delineation used by the BEA RPP cost-of-living layer (§16) and HUD FMR (§21). Multi-county cities use the primary-county rule; an oews_cbsa_disagreement flag fires when a city spans 2+ different CBSAs and the renderer shows a caveat. The MSA file covers ~9,500 metro-assigned cities; the remaining ~10,000 non-metro cities show "not available" because BLS does not publish per-occupation wage data at the non-metro grain in this file.

Suppressed wages

BLS suppresses wage cells when the underlying sample is too small to report reliably (typically employment below ~50). Suppressed cells stay NULL in the processed CSV — never zero, never imputed. The renderer shows "—" for suppressed wage cells so the user sees an honest gap rather than a fabricated number. In small metros, some benchmark occupations may be suppressed; the page renders 3-5 benchmarks instead of all 6.

The 3-year rolling-panel design

OEWS surveys ~1.1 million establishments over a 3-year cycle in 6 panels. The published May 2025 estimate is the rolling 3-year average of panels covering May 2023 through May 2025. This means year-over-year wage changes are unreliable (the underlying data overlaps), so we never compute or display them. We cite the reference period explicitly on every figure.

Source: BLS Occupational Employment and Wage Statistics (OEWS) · May 2025 · annual · U.S. Bureau of Labor Statistics

What this is NOT for

  • Not a salary negotiation tool. Wages are metro-area medians; individual employers' pay scales differ.
  • Not a measure of total compensation. Excludes benefits, bonuses, profit-sharing, equity, and self-employment income.
  • Not a cost-of-living adjustment factor. For metro-grain price parities see §16 (BEA RPP).
  • Not a non-metro source. ~10,000 cities show "not available."
  • Not a forecast. May reference period published ~10 months later; cannot be projected forward.
  • Not combined into a "purchasing power" composite.

Refresh cadence: annual, each March/April, when BLS publishes the next May vintage. Bump the OEWS_VINTAGE_YEAR + OEWS_REFERENCE_PERIOD constants in workflows/wages/build_oews.py and the YY-keyed URL in workflows/wages/download_oews.py, then run python workflows/wages/download_oews.py --force && python workflows/wages/build_oews.py --verify. Full methodology: research/methodology-oews-2026-05-21.md.

26Food costs & access (USDA)

City profile pages surface a Food & grocery access sub-panel inside the Cost of living section combining two USDA sources: the Cost of Food Plans (national reference budgets, published monthly by USDA Center for Nutrition Policy and Promotion) and the Food Environment Atlas (county-grain food access indicators, published irregularly by USDA Economic Research Service). The Thrifty Food Plan is the basis for SNAP benefit calculations and carries federal authority.

National food plans vs county food access

The four USDA Food Plans (Thrifty, Low-Cost, Moderate-Cost, Liberal) are national reference budgets — what USDA's market basket models suggest a healthy diet costs at each tier. We surface the family-of-4 monthly figure for Thrifty, Moderate-Cost, and Liberal plans (USDA's reference family is: Male 19-50 or 20-50, Female 19-50 or 20-50, Child 6-8, Child 9-11; we sum the separately published monthly costs, not converted rounded weekly prices). The values are identical for every city — we do not apply BEA Regional Price Parities or any other regional adjustment to manufacture local food prices. Alaska and Hawaii shoppers will see substantially higher actual prices than the national reference; that caveat appears on every food panel.

The Food Atlas provides three county-grain indicators: grocery stores per 1,000 population (STORES.GROCPTH20, 2020), low food-access population share (ACCESS.PCT_LACCESS_POP19, 2019), and SNAP participation rate (ASSISTANCE.PCT_SNAP22, 2022). USDA's "low access" follows the ERS definition — 1 mile urban / 10 miles rural to the nearest supermarket. Suppressed cells (USDA encodes them as -9999) stay NULL and render as "—" on the page; the renderer never coerces NULL to zero.

Atlas join

County context uses the county containing the largest share of a place's residents in Census PEP 2025. All county parts and population shares remain available. Single-county and multi-county memberships reconcile to official same-vintage place totals. Food Atlas values keep their original county grain and year.

Source: USDA Cost of Food Plans (Thrifty, Low-Cost, Moderate-Cost, Liberal) · Monthly · latest 2025 · USDA Center for Nutrition Policy and Promotion

Source: USDA Food Environment Atlas · Variables span 2019-2022 · USDA Economic Research Service

What this is NOT for

  • Not a local grocery-price index. USDA's plans are national reference budgets, not actual prices in local stores. We surface them as the federal cost reference, not as a local food price.
  • Not a recommended household budget. Plan levels describe what USDA's models suggest is achievable at each cost tier, not what any specific household should spend.
  • Not an actual-spending measure. For actual food spending see BLS Consumer Expenditure Survey (not in V1).
  • Not inclusive of Alaska / Hawaii premiums in V1. Mainland U.S. values are used for all cities; AK and HI premium tables exist and are a Tier 3 expansion.
  • Not a nutrition quality measure. Plans are cost references for a healthy market basket; the Atlas is access/density. Neither measures what residents actually eat.
  • Not combined into a composite "food cost" score.

Refresh cadence: quarterly for food plans (USDA publishes a new month each month; quarterly pull is sufficient); annually check for new Food Atlas release (releases are ~every 2-3 years). Re-run python workflows/food/download_food_plans.py --force && python workflows/food/download_food_atlas.py --force && python workflows/food/build_food.py --verify. Full methodology: research/methodology-food-2026-05-21.md.

27Monthly household budget

Household spending scenarios combine BLS CE 2024 household-size spending means, HUD rental benchmarks, USDA food plans, BEA regional price assumptions and a TY2026 tax solver. One-person and four-person CE inputs are separate and retain their published standard errors. These scenarios do not establish minimum adequate income or an exact household budget.

What modeled gross income means

Modeled gross income solves the stated spending scenario after modeled net taxes and credits. It is a conditional calculation. Survey expenditure means are not a minimum-needs standard, and a converged solver does not establish that a household can live adequately on the result.

Savings, home internet, health insurance premiums and several tax deductions and credits are excluded. Broad food and healthcare price adjustments are assumptions. A separate sensitivity output removes those two adjustments and recomputes tax; the difference is not a statistical prediction interval.

What this dataset is NOT

  • Not a wage figure. We never divide the total by 2,080 working hours or recommend a salary. For a wage-framed calculation see the MIT Living Wage Calculator; this product computes a monthly budget, not an hourly or annual wage.
  • Not a recommended salary. The figure follows selected spending assumptions and averages; it is not a basic-needs standard, financial advice, or a salary recommendation.
  • Not a poverty threshold. The U.S. Census Supplemental Poverty Measure and HHS Federal Poverty Guidelines are the canonical federal poverty references.
  • Not a composite cost-of-living index. Components are surfaced individually with grain labels; we never publish a weighted single-number index.
  • Not adjusted for individual circumstances. Single filing status, no dependents, no homeowner deductions, no employer-subsidized healthcare beyond what BLS CEX captures as the household-paid portion.
  • Not tax advice. The tax line is a deterministic estimate for the modeled household; consult a tax professional for actual liability.

Component vintages

ComponentSourceVintageRefreshed
HousingHUD Fair Market RentsFY2026 (effective October 2025)Annually, October
FoodUSDA Cost of Food Plans, Low-CostMay 2026 (captured observation)Quarterly check
Transportation, healthcare OOP, internet+cellular, other necessities, civicBLS Consumer Expenditure Survey2024 reference year (released ~September 2025)Annually, September
Geographic deflatorBEA Regional Price Parities2024 (released February 2026)Annually, February
State income taxState DOR rate schedulesTY2026 (compilation-reconciled; per-state evidence status recorded)Annually, January
Federal income taxIRS Rev. Proc. 2025-32TY2026Annually, when IRS publishes next rev. proc.
FICASSA / IRSTY2026Annually

Component formulas (summary)

All formulas operate on monthly figures. The composite total is the sum of seven non-tax monthly components plus an iteratively-solved tax line.

RowFormula (summary)RPP deflator
HousingHUD FMR 1-BR monthly (already locality-priced)None — FMR is directly local
FoodUSDA Low-Cost Plan blended Male+Female age 19-50 × (state RPP All Items / 100)BEA RPP LineCode 1
TransportationBLS CEX transportation total (annual ÷ 12) × (state RPP Goods / 100)BEA RPP LineCode 2
Healthcare — out-of-pocketSum of BLS CEX medical services + drugs + medical supplies (annual ÷ 12) × (state RPP All Items / 100)BEA RPP LineCode 1
Cellular & telephoneBLS CEX telephone services (annual ÷ 12); no RPP adjustment. Residential internet/ISP is not included — BLS publishes no information-services rollup at this table grainBLS CEX 2024 (national); no federal sub-state source
Other necessitiesApparel × RPP Goods + (personal care + household ops + housekeeping supplies) × RPP Other ServicesBEA RPP LineCode 2 & LineCode 5
Civic engagementBLS CEX entertainment + reading (annual ÷ 12) × (state RPP Other Services / 100)BEA RPP LineCode 5
TaxesIterative solver (see below)None

Tax solver

The tax line is computed by an iterative fixed-point solver. Federal brackets follow IRS Rev. Proc. 2025-32 (TY2026, single filer, $16,100 standard deduction). FICA uses the 2026 Social Security wage base of $184,500 plus 1.45% Medicare on all gross income. State schedules are TY2026. Local values are used only where a current source and supported rate structure are available. Unresolved schedules are excluded and labeled as coverage gaps. The solver omits itemized deductions, ACA premium subsidies, and special income classes. Convergence tolerance is $1 per year.

Limitations

  1. Single composition only in V1. Family-of-4 is scoped to a future expansion.
  2. Childcare not modeled in V1. Single adult has no childcare line.
  3. Employer healthcare premiums not separately modeled in V1. Out-of-pocket BLS CEX components only; employer-sponsored premiums are a future expansion.
  4. Transportation uses CEX national average × state RPP, not county-level vehicle miles traveled. A future expansion will replace this with a derived ACS + BTS LATCH + IRS mileage rate model.
  5. Residential internet/ISP is not in the budget. The “Cellular & telephone” line covers BLS CEX telephone services (residential and cellular phone) only. BLS does not publish an information-services (internet) rollup at this table grain, and no federal sub-state ISP price source exists, so a home-internet line is omitted rather than estimated.
  6. Auto insurance has no federal sub-state source. Embedded inside CEX “Other vehicle expenses” at national grain.
  7. Local income taxes are modeled for approximately 3,100+ jurisdictions across 16 states (Tier A automated pulls plus Tier B hand-verified cities including New York City and Philadelphia; see §28). Remaining Tier C local-income-tax jurisdictions are labeled “not modeled” on the tax row itself rather than silently excluded.
  8. EITC and ACA premium subsidies not modeled. Under-states the tax burden reduction available at low income.
  9. CEX rows are per-consumer-unit average, not per-single-adult. The 2024 average consumer unit contains 2.4 people and 1.9 vehicles. CEX-derived rows are used as published, producing an over-estimate for single-adult compositions in categories that scale with household size. This decision is binding for V1; it matches the approach used by MIT and EPI for the same compositions.
  10. No geographic interpolation. State-grain stays state-grain. County-grain stays county-grain. National-grain CEX adjusted by state BEA RPP is labeled “national, state price-adjusted” — never “city cost of X.”

Methodology informed by: MIT Living Wage Calculator (Glasmeier / MIT URPS; informational citation only — we do not reproduce MIT’s computed figures) · EPI Family Budget Calculator (informational citation only — we do not reproduce EPI’s computed figures)

Full methodology: research/methodology-household-budget-2026-05-22.md

28Local income tax

The Monthly Household Budget Benchmark extends the federal + FICA + state income tax solver with per-city resident local income tax. Maryland, Indiana, and Ohio CCA have current bulk inputs. RITA's official 2026 PDF is retained but not yet parsed, and Pennsylvania's statewide export is not available in the build. Nine municipal overlays have current primary evidence. NYC, Philadelphia, Birmingham, and Grand Rapids are explicitly unavailable instead of carrying unsupported values. Cities without a supported rate receive a “not modeled” label (Tier C).

What this dataset is NOT

  • Not tax advice. This is a deterministic benchmark estimate using published statutory rates for a modeled single-filer scenario. Consult a tax professional for actual liability.
  • Not nonresident-rate modeling. The benchmark assumes the modeled adult lives and works in the same city. Nonresident rates (for example, a New Jersey resident commuting to Philadelphia) are documented in source data but not applied.
  • Not credit-for-tax-paid modeling. Some states allow a credit for tax paid to another jurisdiction. The solver does not model this; it assumes work jurisdiction equals residence jurisdiction.
  • Not comprehensive coverage of Tier C jurisdictions. Kentucky (most counties beyond Louisville/Lexington), Alabama (most cities beyond Birmingham), West Virginia (flat-fee cities), Colorado (flat-dollar occupational privilege taxes), and several other states are documented gaps in V1.
  • Not modeling West Virginia flat-fee taxes. Charleston, Huntington, Wheeling, and other WV cities levy weekly fixed-dollar fees (typically $2–$5/week), not percentage rates. These are documented but not applied in the solver.
  • Not modeling the Newark NJ employer payroll tax. Newark’s 1% levy is an employer-side payroll tax, not a personal income tax on residents. It is out of scope for the household budget benchmark.

Three-tier architecture

TierMechanismSources & coverage
A — AutomatedAnnual state-government bulk downloads re-pulled each JanuaryPA DCED (~2,560 jurisdictions) · MD DLS (24 counties + Baltimore City) · IN DOR (92 counties) · OH RITA (~390 municipalities) · OH CCA (~50 municipalities) — approximately 3,100+ jurisdictions total
B — ManualHand-verified JSON, reviewed each January against official city/metro tax authority pages13 high-population cities: New York City, Yonkers, Philadelphia, Detroit, Kansas City MO, St. Louis MO, Louisville Metro, Lexington-Fayette, Birmingham, Wilmington DE, Portland Metro (SHS), Grand Rapids, Lansing
C — GapDocumented; displayed as “not modeled” with a state DOR linkKY (most counties beyond Louisville/Lexington) · AL (most cities beyond Birmingham) · CO (flat-dollar OPTs) · IA (school-district surtaxes) · KS (narrow) · WV (flat-fee cities) · OR (beyond the modeled Portland Metro SHS jurisdiction) · MI (smaller cities) · OH (~150 small self-administered cities)

Both MIT Living Wage Calculator and EPI Family Budget Calculator confirm in their published FAQs that they do not model local income taxes. This dataset models the meaningful majority of local-income-tax-impacted U.S. residents using only federal and state government public-domain publications.

Methodology informed by: MIT Living Wage Calculator (Glasmeier / MIT URPS; informational citation only — we do not reproduce MIT’s computed figures) · EPI Family Budget Calculator (informational citation only — we do not reproduce EPI’s computed figures)

Full methodology: research/methodology-local-income-tax-2026-05-22.md

29Family-of-four composition

City profile pages show a second Monthly Household Budget Benchmark panel alongside the single-adult panel (§27): a family of four, two adults working, two children (ages 4 and 8), 3-bedroom rental. This is the same flagship pair published by MIT and EPI — but computed independently from federal public-domain sources only, with no commercial or nonprofit-proprietary data.

The family-of-four panel uses Married Filing Jointly federal TY2026 parameters and models the federal Earned Income Tax Credit and Child Tax Credit. All 42 taxing jurisdictions now carry a separate TY2026 MFJ schedule; the nine no-wage-tax jurisdictions correctly have no bracket schedule. State EITC supplements, state child credits, exemptions, recapture rules, and deduction phase-outs remain omitted. Family tax comparisons are bracket models, not filing-return estimates.

What this dataset is NOT

  • Not an adequacy estimate. The total combines selected spending assumptions and source averages. It does not establish what a particular family needs, a recommended salary, an hourly wage, or a “family-supporting wage.” Unverified local income tax is explicitly excluded, never treated as a verified zero.
  • Not a recommended salary. The figure is an illustrative spending scenario, not a basic-needs benchmark or financial advice.
  • Not inclusive of childcare subsidies. CCDF, Head Start, state pre-K subsidies, employer childcare benefits, and the Child and Dependent Care Tax Credit are all excluded. Childcare cost is gross, pre-subsidy.
  • Not modeling a single-earner variant. Both adults are modeled as working. A non-working-spouse variant (with no childcare line) is deferred to F5+.
  • Not modeling state EITC or state CTC supplements. California, New York, Maryland, and other states have state-level credits. Federal EITC + CTC only.
  • Not a real-time childcare price. NDCP 2022 data is 3–4 years old; the national CPI adjustment is a national multiplier — counties where childcare rose faster or slower than the national average are misstated.
  • Not applicable to home-based or nanny care. Center-based care anchor only, matching the MIT and EPI methodology.

Composition anchors

ParameterValueSource / notes
Adults2 (both working)MFJ filing status; same residence = work jurisdiction
Adult age bandAges 19–50Matches USDA “Moderate-Cost Plan” reference age
Children2: ages 4 and 8Preschool + school-age; matches MIT composition 7
Housing bedroom3BRHUD FMR 3BR; HUD SAFMR ZIP-grain when available
Food planUSDA Low-Cost Plan, family-of-4 blended total× state BEA RPP All Items deflator
ChildcareCenter-based, preschool + school-ageDOL NDCP 2022 county-grain, CPI-inflated (see below)
Filing statusMarried Filing JointlyTY2026; federal EITC + CTC modeled

Childcare line

The childcare scenario uses DOL NDCP 2022 county preschool and school-age center-based prices, converted from weekly to monthly with 4.33 weeks. National BLS childcare CPI adjusts the captured source values from January 2022 to August 2026; the exact factor and observations are retained in the build manifest and row fields. The multiplier is not a local price survey.

The current build records CT, IN, PA, and VT as jurisdictions with no matched preschool county inputs. Connecticut's gap arises from incompatible county vintages: NDCP 2022 has legacy counties, while current Census population uses planning regions. We do not allocate county medians across the changed boundaries. A missing county or required age-band input withholds the entire family total and tax-dependent amounts; available component values remain downloadable with typed reasons.

Unverified local income tax is a separate exclusion. A blank-source no-tax record is unknown, not verified zero. Its local-tax amount remains null; any retained spending scenario is explicitly labeled as excluding unverified local income tax and cannot enter the complete-input benchmark. Verified zero requires primary-source support.

Food and childcare age alignment

The four-person scenario sums USDA published monthly costs for adults aged 19-50 and children in the 4-5 and 6-8 bands, matching childcare ages 4 and 8. Four-person food costs need no household-size multiplier. The one-person scenario applies USDA's documented 20 percent household-size adjustment. Separate USDA reference-family fields retain their original older-child composition.

Tax solver — MFJ extension

The family solver uses TY2026 MFJ brackets and two qualifying children. Net income equals gross minus federal, FICA, state and supported local taxes plus applicable EITC and CTC. Combined refundable and nonrefundable CTC is capped at $4,400 for two children; the refundable portion is not added a second time. Negative net taxes indicate credits exceed liabilities. A missing state MFJ schedule withholds the complete total rather than substituting single-filer brackets.

F1 reproducibility guarantee

Each family build hashes the one-person CSV before and after execution and must leave that file unchanged. Both scenarios are independently rebuilt when their upstream sources change. The check prevents accidental cross-workflow writes; it does not freeze obsolete data.

Full methodology: research/methodology-childcare-2026-05-28.md · research/methodology-household-budget-2026-05-22.md

See also: §27 Monthly household budget (single adult)

30Cost-of-living URL split

The cost-of-living data layer is rendered on a dedicated sub-page per city (/cities/<slug>/cost-of-living/) rather than inline on the main city profile. This section documents the split decision, the criteria used, and the methodology pointers that remain valid across both URLs.

Criteria for the split

The COL layer passes a four-criteria threshold: (a) its own search demand (<city> cost of living queries, 2,000–7,000/mo per top city), (b) three or more distinct federal data sources (BEA, HUD, EIA, USDA, IRS, state DOR, Tax Foundation, DOL NDCP, BLS CEX, Census Gov Finances), (c) eight or more data rows (30+), and (d) a distinct relocation-intent user who is not the same as the population/Census user. No other data layer on the city profile passes all four criteria; this is a conservative, single-topic split.

What moved to the sub-page

BEA RPP all-items + categories (§14), ACS owner costs — B25088 and B25103 (§12), EIA state energy prices (§20), Census Gov Finances state tax collections (§22), state income tax brackets (§23), state + local sales tax (§24), local income tax for F3-modeled jurisdictions (§28), USDA food plans + Food Atlas (§26), single-adult household budget (§27), family-of-four household budget (§29), and cross-cutting methodology footnotes.

What stayed on the hub city profile

Population (PEP V2025 + V2019), demographics (ACS), income & poverty summary (ACS B19013/B19301/B17001), housing market (ACS B25077/B25064/B25003/B25070 + HUD FMR + HUD SAFMR), local economy (SAIPE + LAUS + QCEW + OEWS), schools (NCES), climate (NOAA), risk (FEMA), broadband (FCC), travel (USGS + OurAirports), and a 6-row Cost of living summary card with a CTA to the sub-page.

Scope

The sub-page is pilot-scoped to the ~50 currently-built city profiles. Smaller cities continue to render cost-of-living data inline on the city profile until Search Console evidence justifies broader expansion.

Methodology pointer continuity

All existing anchor IDs on this page — #cost-of-living, #fmr, #energy, #food, #tax-burden, #income-tax, #sales-tax, #household-budget, #family-of-four-budget, #local-income-tax — remain valid and continue to receive deep-link traffic from both the hub city profile and the cost-of-living sub-page footnotes. Nothing on this methodology page was renamed or removed.

See also: §14 BEA Regional Price Parities · §27 Monthly household budget · §29 Family-of-four composition

31Reported crime (FBI UCR)

Profiled city pages carry a "reported crime" panel drawn from the U.S. Federal Bureau of Investigation's Uniform Crime Reporting (UCR) Program, published through the Crime Data Explorer (CDE). The panel shows the FBI's own published counts of violent and property offenses known to law enforcement, the FBI's own jurisdiction population, and a rate per 100,000 — for the latest complete year plus a short multi-year trend. It is a per-city panel with a national reference line, never a ranking.

Source & vintage

CIUS Table 8
Crime in the United States (CIUS) Table 8, "Offenses Known to Law Enforcement by State by City", data years 2022, 2023, and 2024 (2024 released Aug 5, 2025). One row per city law-enforcement agency: the agency's jurisdiction population and its violent-crime and property-crime offense counts as reported. Fetched keyless from the CDE downloads; sha256 recorded in data/raw/fbi-cius/MANIFEST.json.
National reference line
FBI national estimated violent- and property-crime rates per 100,000 from estimated_crimes_1979_2024.csv. The national figure is an estimate (it imputes non-reporting agencies); the per-city figures are reported-only. The panel labels the difference.
2021 excluded
2021 was a NIBRS-only transition year with ~65% population coverage (NYPD and LAPD absent). It is excluded at city grain by rule.

The rate rule (source-literal)

The rate per 100,000 is count ÷ FBI jurisdiction population × 100,000, using the FBI's own published population for that agency — the same denominator the FBI and CDE use. We never divide FBI counts by our Census place population; doing so would manufacture a rate that exists in no source. The Census place population is shown separately so the two are never conflated.

Grain & the mapping

UCR data is keyed by law-enforcement agency, not by Census place. A city can be policed by a municipal department, a county sheriff, or a consolidated metro agency whose jurisdiction differs from the incorporated place. We match each profiled city to its Table 8 agency by state and name, with a committed override file (workflows/crime/city_agency_overrides.json) covering every non-exact match and every trap. Where the FBI agency's jurisdiction population differs from the Census place by more than 25% (for example Honolulu PD, which polices the whole island, or the Las Vegas Metropolitan Police Department, which polices the city plus unincorporated Clark County), the city is excluded rather than shown with a misleading grain. Cities whose agency did not report a full year of complete data (which includes most of Florida for these years) are also excluded. A city that is excluded renders no crime panel at all.

Completeness & suppression

Table 8 is the FBI's own list of agencies that submitted a complete year of data, so a city's presence in a given year's Table 8 is the FBI's own 12-month completeness gate. We show a year only when the city is present in that year's table, and we show the panel only when the latest complete year (2024) is present. Arson is published by the FBI only when 12 months of arson data were received; missing arson stays blank rather than being set to zero.

What this is NOT for

  • Not a ranking. The FBI expressly cautions against ranking or comparing agencies using UCR data. This site shows a per-city panel with a national reference line only — no "safest" or "most dangerous" lists, no sortable cross-city crime tables, no crime columns on ranking pages, and no composite safety score or letter grade.
  • Not measured crime. These are reported crimes under voluntary agency participation. Reporting rates vary by offense and by community trust, and the NIBRS transition mechanically shifts some counts. Reported crime is not the same as total or victimization crime.
  • Not neighborhood-level. The data is agency-jurisdiction grain. We do not model or extrapolate sub-city or address-level "crime rates".
  • Not year-over-year comparable in every case. When the FBI footnotes an agency for a change in reporting practices, its figures are not strictly comparable across years.

Attribution

FBI UCR data is a work of the United States Government and is in the public domain (17 U.S.C. § 105). Recommended citation:

Source: U.S. Federal Bureau of Investigation, Uniform Crime Reporting Program, Crime in the United States, Table 8 (Offenses Known to Law Enforcement by State by City), data years 2022–2024, via the Crime Data Explorer.

Refresh cadence: annual (August). The FBI publishes the prior year's CIUS around August. Re-run workflows/crime/download_crime.py then build_crime.py --verify, review the mapping and any new ratio flags, and rebuild.