Methodology

The premise of this site is that you should never have to trust a number — you should be able to check it. Here is exactly how each figure is produced.

The core adjustment

The main comparison converts a nominal income into its value at national prices, using the BEA all-items Regional Price Parity (RPP) for each state. RPP is an index where 100 equals the US national price level.

adjusted_income = nominal_income ÷ (RPP_all_items ÷ 100)

Worked example (reproduce it with a calculator)

California (RPP 110.7):  100,000 ÷ (110.7 ÷ 100) = $90,334
Arkansas   (RPP 86.9):  100,000 ÷ (86.9 ÷ 100) = $115,075
Difference: $115,075 − $90,334 = $24,741

A higher RPP means a dollar buys less, so the same income is "worth" less there. A lower RPP means your income stretches further.

The component breakdown

RPP is published broken out by component — all items, housing rents, goods, utilities, and other services. The breakdown table shows each state's index per component and the percentage difference between them, so you can see why one state is more expensive, not just that it is.

On precision

The BEA API returns values to extra decimal places (for example, 110.72), but BEA's own published tables and press releases round to one decimal (110.7). We adopt BEA's published precision so our figures match the official source exactly. The unrounded API values are preserved in our committed raw snapshot as an audit trail.

Housing & income (Census ACS)

Median rent, home value, household income, homeownership rate, and cost-burden figures come from the US Census Bureau's American Community Survey 5-year estimates. We use the 5-year (not 1-year) estimates because they are far more reliable at the state level. Values are pulled directly from the Census API by variable ID (for example, B25064_001E for median gross rent) and shown unmodified.

We also publish the Census 90% margin of error beside the major ACS estimates and include median real estate taxes paid by owner-occupied households (B25103_001E). A margin of error describes sampling uncertainty; it is not an error bar on a particular home or household.

Metro-area price levels (BEA)

Metro comparisons use table MARPP, the metropolitan counterpart to the state RPP table. The same adjustment formula applies. Metropolitan statistical areas can cross state lines, so a metro may appear in more than one state profile. We keep all metros on one comparison page rather than generating hundreds of near-identical landing pages. The guide to state versus metro cost-of-living figures explains how to match the geography to a real decision.

Unemployment (BLS LAUS)

State unemployment rates are the seasonally-adjusted figures from the BLS Local Area Unemployment Statistics program. This is the only monthly dataset on the site, so it is the one figure that changes between our roughly-monthly rebuilds. We show the reference month and flag preliminary values.

Trends over time (FRED)

The historical charts on each state page come from the Federal Reserve's FRED database: the FHFA All-Transactions House Price Index ({ST}STHPI) and the state unemployment rate ({ST}UR), shown for complete calendar years since 2005 alongside the national series. Charts are rendered at build time as plain SVG — no scripts, no tracking — and each carries an accessible data table with the underlying numbers.

Occupation wage ranges (BLS OEWS)

Occupation pages use the BLS employment estimate and annual 10th, 25th, median, 75th, and 90th percentile wages. Percentiles describe the distribution of published wages; they are not promises about entry-level or senior pay. Only the median is adjusted by state RPP for the real-pay ranking. See the wage-percentile guide for the correct interpretation.

Population, migration, and who lives here (Census)

Population change comes from the Census Bureau's Population Estimates Program (Vintage 2025): July 1 estimates for 2020 through 2025, and the components of change (net moves from other states, net international migration, and births minus deaths) summed from July 1, 2020 to June 30, 2025. Census revises the whole series with each annual release, and a small residual is not attributed to any component. Flows between specific states (for example, people who moved from California to Texas) come from the separate State-to-State Migration Flows tables, which are American Community Survey 1-year estimates with published margins of error.

Rent by number of bedrooms (B25031), median age, per capita income, poverty, educational attainment, commute time, working from home, broadband, and health insurance coverage are ACS 5-year estimates read from the Census Bureau's public summary files rather than its API. Percentages such as the uninsured rate are computed from the published table cells (for example, the four “no health insurance coverage” cells of B27010 divided by the table total), with margins of error approximated using the Census Bureau's documented formulas.

Consumer spending (BEA)

Spending per person is BEA's per capita personal consumption expenditures by state (table SAPCE2), in current dollars. It counts the value of goods and services residents consume, whoever pays: health care services include spending by insurers, Medicare, and Medicaid on residents' behalf, and housing includes the rent homeowners would pay themselves. It is not adjusted for regional prices, so higher spending can reflect higher prices, higher incomes, or both.

Energy bills (EIA) and climate (NOAA)

Average residential electricity use, price, and monthly bill come from the EIA's annual Table 5A, and residential natural gas prices from the EIA natural gas price series. Climate figures are 1991–2020 averages of NOAA NCEI's statewide (area-weighted) monthly series from Climate at a Glance. They are not the station-based U.S. Climate Normals product, and they blend mountains, coasts, and cities. NOAA publishes no statewide series for the District of Columbia.

Crime (FBI)

Crime rates are the FBI Uniform Crime Reporting program's estimated offenses by state, the series published in Crime in the United States, read from the Crime Data Explorer's bulk download. The FBI estimates offenses for police agencies that reported fewer than 12 months or no data, so each figure covers the whole state population and compares fairly across states. We divide each count by the FBI's population and multiply by 100,000. Violent crime is murder and nonnegligent manslaughter, rape, robbery, and aggravated assault; property crime is burglary, larceny-theft, and motor vehicle theft. Each state profile also shows the share of residents served by agencies that submitted data, from the Crime Data Explorer API.

Minimum wage (hand-curated)

The statewide minimum wage is checked by hand against the US Department of Labor's consolidated state table and, where a state changed its rate after that table's date, against the state's own law. We show the general rate for non-tipped adult workers: the large-employer rate where rates vary by employer size, and the standard rate outside higher-cost regions in New York and Oregon. Local minimums are not included. Like the tax data, it carries a “last verified” date.

Derived measures

A few figures on state, comparison, and ranking pages are simple arithmetic on the published values above. They are calculated at build time and labeled where they appear:

On the release lag

RPP is annual and released roughly 14 months after the year it measures. The 2024 vintage was released February 19, 2026. We show this lag on every page rather than hiding it — it is a limitation of the underlying official data, shared by every honest source.

What we never do

See every source and its vintage →