salary.city

Methodology

Every number on salary.city is computed from public government data. Here's exactly how.

Data Sources

DatasetSourceUpdate Cycle
Occupation WagesBureau of Labor Statistics — Occupational Employment and Wage Statistics (OES)Annual (May release)
Tech Offers (H-1B)U.S. Department of Labor — OFLC LCA DisclosuresAnnual
Cost of LivingBureau of Economic Analysis — Regional Price Parities (RPP)Annual
Housing (Rent)U.S. Department of Housing & Urban Development (HUD FMR)Annual (FY26)
Tax RatesIRS.gov + Tax Foundation + State Revenue DepartmentsAnnual (2024 brackets)

Purchasing Power Index

Our Purchasing Power score answers: "How far does this salary go in this city compared to the national average?"

FORMULA:
Purchasing Power = (Salary / Cost-of-Living Index) × 100

A score of 100 means the salary has exactly national-average purchasing power. Above 100 = your dollar goes further. Below 100 = the local cost of living eats into your earnings.

Tax Calculation

We estimate after-tax income using:

  • Federal income tax — 2024 marginal tax brackets reflecting progressive taxation on gross income.
  • FICA (Social Security & Medicare) — Fully integrated 7.65% flat rate up to the federal wage base limits.
  • State income tax — Exact state-by-state effective and marginal computations.

Housing Affordability

We calculate two key housing metrics:

HUD 1B Fair Market Rent

We extract median 1-bedroom rental data directly from HUD FMR (Fair Market Rents) for all 100 metropolitan statistical areas.

Mtg Simulation

Homeownership is simulated using a 20% down payment, prevailing fixed rates, and a 30-year term on the metro's median home price.

Limitations

  • BLS OES data is published annually and may lag instantaneous market fluctuations (though algorithmic inflation indexing mitigates this).
  • Tax models default to a single-filer baseline. Household formations and complex deductions will yield different real-world net outcomes.
  • Cost of living indices and HUD FMR reflect metro-level averages, masking neighborhood-specific premiums.
Data vintage: BLS OES May 2024 · Last page update: March 2026