Methodology and data sources
Everything published here is either a figure taken directly from a public statistical source or a calculation made from those figures with a formula stated below. No value is estimated, modelled or filled in by hand.
3 Primary Sources
Census ACS, BEA RPP, BLS OEWS
119 Cities
Across 36 states + DC
Transparent Formulas
Every calculation shown explicitly
Reproducible Pipeline
Raw data → ETL → Static pages
1. Sources and vintages
- U.S. Census Bureau, American Community Survey 5-Year Estimates
- U.S. Bureau of Economic Analysis, Regional Price Parities
- U.S. Bureau of Labor Statistics, Occupational Employment and Wage Statistics (OEWS)
Data was last compiled on 2026-10-22. The Census estimates cover ACS 2019-2023 5-Year Estimates: a five-year average, not a single point in time. The price levels are BEA Regional Price Parities 2023, and the wages are the May 2025 U.S. Bureau of Labor Statistics, Occupational Employment and Wage Statistics (OEWS) release. Figures published for different periods are labelled as such on every page and are never presented as if they had been measured together. The three sources also describe different geographies, which the next section sets out.
2. Indicators
- Median gross rent
- Census table B25064. Contract rent plus the average monthly cost of utilities and fuels paid by the renter. The universe is renter-occupied housing units paying cash rent. It excludes owners and renters paying no cash rent.
- Median household income
- Census table B19013. Pre-tax income of all members of the household over the past twelve months, for all occupied housing units. The household can be one person or eight, so this is not a salary by occupation.
- Median home value
- Census table B25077. The owner's own estimate of the value of the property, for owner-occupied units. It is not a sale price and it is a different measurement from rent: the two are not interchangeable in a budget.
- Population
- Census table B01003. Total population, used to sort cities and to pick comparable ones.
- Price level (regional price parity)
- Bureau of Economic Analysis. An index of the price level of all goods and services consumed in an area, where 100 is the national average. The metropolitan index (MARPP) is used when the city is the first principal city of a metropolitan area named by the BEA and its state matches the area; otherwise the state index (SARPP) is used. The page always states which of the two applies.
- Median wage by occupation
- Bureau of Labor Statistics, Occupational Employment and Wage Statistics (OEWS), May 2025 release. The annual median wage — the point at which half of the workers in an occupation earn more and half earn less — for a single occupation in a single metropolitan area. The wage describes workers in that occupation; it is not a household income and it is not an average across all jobs in the city. The employment figure beside it is the estimated number of people holding that job in that area.
3. Calculations
Salary needed for the median rent
This answers exactly one question: what annual gross income keeps the median rent at 30% of pay. 30% is a common affordability guideline, not a measurement, and it says nothing about transport, food, taxes or debt.
Rent as a share of income
The city-wide version of the same ratio, using the median household income rather than an individual salary.
Equivalent salary (purchasing power)
Adjusts a salary for price-level differences only. Does not account for taxes, which vary by state.
Wage vs. salary needed (occupation affordability)
Compares the occupation's median wage with the salary needed to keep the local median rent at 30% of pay. A positive figure means the median worker can cover the median rent; a negative figure means they fall short.
- Salary needed for the median rent
-
salary_needed = median gross rent × 12 ÷ 0.30
This answers exactly one question: what annual gross income keeps the median rent at 30% of pay. 30% is a common affordability guideline, not a measurement, and it says nothing about transport, food, taxes or debt.
- Rent as a share of income
-
rent_share = median gross rent × 12 ÷ median household income
The city-wide version of the same ratio, using the median household income rather than an individual salary.
-
salary_needed = median gross rent × 12 ÷ 0.30
This answers exactly one question: what annual gross income keeps the median rent at 30% of pay. 30% is a common affordability guideline, not a measurement, and it says nothing about transport, food, taxes or debt.
- Rent as a share of income
-
rent_share = median gross rent × 12 ÷ median household income
The city-wide version of the same ratio, using the median household rather than an individual salary.
- Equivalent salary between two cities
-
equivalent = salary × (price level of city B ÷ price level of city A)
The salary that buys the same basket of goods and services in city B as the original salary buys in city A. It is a price-level conversion, not a job offer comparison: it ignores taxes, benefits and occupation-specific pay differences.
- Purchasing power
-
purchasing_power = 100 ÷ price level × 100
A city with a price level of 110 has a purchasing power of about 90.9, meaning one dollar buys roughly 9% less than the national average.
- Rent as a share of a wage
-
wage_rent_share = median gross rent × 12 ÷ median wage
The same 30% affordability rule applied to a single occupation rather than to the whole city: it shows how far a year of rent at the local median takes a worker on that occupation's median pay.
- Wage above or below the salary needed
-
gap = median wage ÷ salary needed − 1
Compares the occupation's median wage with the salary needed to keep the local median rent at 30% of pay. A positive figure means the median worker in that job can cover the median rent on the usual guideline; a negative figure means they fall short of it.
4. Limits you should know about
Sampling error
Every Census estimate is based on a sample and is published with a margin of error, shown under each figure on the city pages. Two cities whose confidence intervals overlap should not be presented as clearly different. For small cities the margin can be large enough to make a ranking meaningless.
A five-year average
The estimates describe a five-year window. In a city where rents moved quickly, the published median is a smoothed figure and will lag behind what a tenant pays today.
City versus metropolitan area
Rent and income are measured for the city boundaries, while the price level usually describes a wider metropolitan area. A city that is a small, expensive core inside a cheaper metro will look more affordable on the price index than on its own rent.
What is not covered yet
This is rent, income, price levels and wages by occupation — not a full budget. Taxes, transport, childcare, utilities beyond those bundled into gross rent and non-metro areas are outside the scope. Cities missing any core figure are excluded from the index rather than completed with a guess, and occupation pages are only published for the city-and-job combinations the OEWS survey actually reports. Where a metro is missing a wage for a job, it is left out of that occupation's table rather than estimated.
5. How the data is refreshed
The raw files are downloaded from the source servers, parsed and normalised into a single dataset, and the pages are then generated from that dataset. Each figure keeps its own vintage, and the source file, the geography identifier and the vintage are recorded for every record. When a new vintage is released, it is imported alongside the previous one so that revisions can be seen rather than silently overwritten.
Cities covered: 119 across 36 states, with 48 occupations reported and 103 of those cities carrying occupation-level wages. Browse the index, look up salary by occupation or compare two cities.