Current Data Coverage
- IRS Statistics of Income: 2019–2022 (4 years loaded)
- HMDA (mortgage lending): 2019–2025 (7 years loaded)
- American Community Survey (5-year estimates): 2019–2024 (6 years loaded)
- IRS SOI Migration Data: 2018-2019 through 2022-2023 (5 year-pairs loaded)
Data Sources
IRS Statistics of Income (SOI)
Published annually by the IRS from actual federal tax return filings — administrative records, not survey estimates. Loaded at both ZIP-code and county level as two separately published official products (county figures are not derived from the ZIP file). Provides adjusted gross income, wages, investment income, business income, Social Security and unemployment compensation, and total federal tax liability, broken out by income bracket where available.
HMDA (Home Mortgage Disclosure Act)
Federally mandated mortgage lending data reported by covered institutions, published by the CFPB. Loaded at census-tract level — the finest grain the source itself publishes — covering loan purpose, occupancy type, applicant income, loan amount, and application outcome (originated, denied, withdrawn) for every reporting lender nationally.
American Community Survey (ACS)
An ongoing Census Bureau survey, not a full census — the 5-year estimates used here are the most reliable ACS product for county-level detail, but they are survey-based estimates with a published margin of error, not administrative counts. Where an ACS figure is shown, it is labeled as an estimate.
IRS SOI Migration Data
A separate IRS SOI product tracking county-to-county address changes between consecutive tax years, including the AGI of filers who moved. Reported by year-pair (e.g. "2022-2023") rather than a single year, since migration is inherently a transition between two filing years.
Census Geography Crosswalks
Where a figure spans geography types that don't nest cleanly (e.g. ZIP Code Tabulation Areas and Census tracts), the relationship is computed from the Census Bureau's own official 2020 Relationship Files — never estimated or assumed. See Known Limitations below for where this matters.
Accuracy Tiers
Every figure on this platform carries one of three accuracy designations:
- Gospel — drawn directly from an administrative record (IRS SOI, HMDA) with no estimation or allocation involved.
- Directional — a Census survey estimate (ACS), carrying a published margin of error rather than being an exact count.
- Structural estimate — a figure that required crosswalking or allocating data across geographies that don't align natively (e.g. HMDA data resolved to ZIP Code Tabulation Areas — see Known Limitations).
How Each Signal Is Calculated
Buyer Income Premium
The ratio of average income among home-purchase mortgage applicants (HMDA, weighted by application count) to the county's average AGI per tax return (IRS SOI). A ratio above 1.0 means buyers earn more than the typical filer in that county.
Housing Growth & Affordability
The gap between home value growth and income growth over the same period (2019–2022): home value growth rate (ACS median home value) minus income growth rate (IRS SOI average AGI per return). A positive gap means home values grew faster than income.
Income Composition (Paycheck vs. Benefit Income)
Wage income as a share of total income (IRS SOI wages ÷ total income) compared against Social Security and unemployment compensation as a share of total income. The spread between these two shares is the signal's magnitude.
Effective Tax Rate
Total federal tax liability divided by total AGI (IRS SOI), compared against the same ratio computed nationally. The national rate is computed as national total tax ÷ national total AGI — a dollar-weighted rate, not an average of each county's individual rate, so it isn't skewed by a large number of small counties.
Income of Arrivals vs. Departures (Migration Wealth Asymmetry)
Average AGI per inbound filer (IRS SOI Migration Data, filers who moved into the county) divided by average AGI per outbound filer (filers who moved out), both weighted by return count. A ratio above 1.0 means arriving filers carry more income than departing ones.
Local Lending Concentration (Capital Capture Index)
For each county, this sums — across every lender active in that county — that lender's share of the county's mortgage volume, weighted by that same lender's own national concentration ratio (how much of its total national lending is concentrated rather than spread thin). A higher index means mortgage lending in that county is more concentrated among fewer, more locally-dominant institutions rather than spread across many national originators.
Known Limitations
ZIP Code Tabulation Areas (ZCTAs) and HMDA data
HMDA is published at the census-tract level, not by ZIP code. Census tracts and ZIP Code Tabulation Areas (ZCTAs) are drawn by entirely different logic — tracts for population-count uniformity, ZCTAs to approximate postal ZIP delivery areas — and frequently don't align. We measured this directly against the Census Bureau's own official relationship files: 48.9% of census tracts nationally span more than one ZCTA, and 98.6% of ZCTAs are touched by at least one such tract. When HMDA figures are shown at ZIP-code level, a tract that spans multiple ZCTAs has its full lending volume counted for every ZCTA it touches, which can inflate ZIP-level totals. County and tract-level HMDA figures are not affected by this and are exact. We evaluated whether routing through county subdivisions instead of tracts would improve this alignment and confirmed, with real national data, that it does not (county subdivisions actually align worse). We also evaluated area-weighted correction and did not implement it: HMDA carries no information about where within a tract an application originated, so weighting by land area would assume mortgage activity is spread uniformly across a tract's physical area — an assumption that is usually false and often worst for exactly the large, sparse rural tracts most likely to span ZCTA boundaries in the first place.
ACS estimates carry margin of error
Any figure sourced from the American Community Survey is a survey estimate, not an exact count, and carries a published margin of error. Where ACS figures are combined across geographies (for example, summed to a state total), the combined margin of error is computed using the Census Bureau's own published method for aggregating estimates, not a simple average.
County-level figures can obscure real variation within a county
A single county-level number is a blend of everywhere within that county, and county sizes vary enormously in how internally uniform they are. We confirmed this directly: a ZIP-code-level breakdown of one Massachusetts county with signal-driven relevance to this platform showed only a 2.6x spread in income between its wealthiest and most modest ZIP codes, while a Florida county examined for comparison showed a 13.5x spread — an elite coastal enclave alongside a much larger, more ordinary inland population. The same county-level figure can represent very different underlying realities depending on how internally varied that county actually is. Where finer geography (ZIP, tract) is available for a figure, it is offered as an alternative to the county-level view for exactly this reason.
Small sample sizes are flagged, not hidden
Where a signal is computed from a small number of underlying records (for example, very few mortgage applications in a sparsely populated county), it is flagged as a small sample rather than silently presented with the same confidence as a signal backed by a large number of records.