How LocalAlpha Works
LocalAlpha holds data from 10 sources (plus a derived metrics layer): government agencies, Freddie Mac’s mortgage-rate survey, listing series republished by FRED, and market data from Redfin and Zillow. The Alpha Score, a single 0-100 indicator of real estate market strength, uses only the government and Freddie Mac data: the U.S. Census, BLS, QCEW, FHFA and FRED (FRED supplies the 30-year rate from Freddie Mac’s Primary Mortgage Market Survey®). Redfin and Zillow figures appear on market pages for context and do not feed the score. Each score is built from five weighted dimensions that capture price trends, supply dynamics, affordability, economic health, and rental potential.
The Alpha Score
The Alpha Score is a composite 0-100 index computed for metros, counties and ZIP codes from public data. City pages show market data but no score, because too little public data reaches city level. It answers a simple question: how strong is this real estate market right now?
Higher scores indicate stronger seller conditions: rising prices, active building, good affordability relative to incomes, a healthy job market, and solid rental yields. Lower scores indicate buyer-friendly conditions.
The score is weighted across five dimensions. Each dimension is built from one or more public measures, normalized to percentile ranks within the same geography level (metro vs metro, ZIP vs ZIP) to ensure fair comparisons. Three of the five (Price Momentum, Inventory Health and Rental Yield) currently rest on a single public measure each, and every market page says which parts rest on one signal.
On average, overall scores run about 15 points higher for the smallest tenth of places than for the largest tenth — for counties, metros and ZIP codes alike. That reflects real differences: smaller places are more affordable (Census: a typical home costs about 2.1–2.8 years of local household income in the smallest tenth, against 4.0–4.5 in the largest) and their rental yields are higher.
When a dimension has no data for a geography, we leave it unmeasured rather than filling it with a neutral value, and the remaining dimensions are re-weighted proportionally so the score is an average of what we actually know. If fewer than three of the five dimensions are measured, we publish no score at all for that market — a number built mostly from placeholders looks like a measurement and is not one. A dimension whose input exists but is too thin or on an older Census release than the rest of its level is withheld, and named as withheld rather than as missing. ZIP codes borrow Economic Strength from their parent county (or their metro when the county has none), and Rental Yield only when they have none of their own. Cities borrow both, from the county or else the metro, and have nothing else, so with two of five they get no score. Each market page shows a data-coverage indicator (High / Medium / Low), which parts are its own and which are borrowed, and how recent each part’s newest input is.
Why these weights?
The weights are deliberate judgment calls, not statistically optimized — there is no single “true” weighting for market strength, so we chose values that reflect what moves a local market in practice and stated them openly rather than hiding them in a black box:
- Inventory Health (25%) — the heaviest weight. It measures new building: residential building permits, a forward read on supply, because builders commit capital where they expect demand. It is not a count of homes for sale — no public listing-supply measure exists yet.
- Price Momentum, Affordability, Economic Strength (20% each) — co-equal core drivers: where prices have been going, whether incomes can sustain them, and whether the local job market backs demand.
- Rental Yield (15%) — the lightest weight: it matters most to investors specifically, so it informs the score without dominating it.
We publish the weights so they can be scrutinized and challenged. They may be re-tuned as we validate against outcomes; any change is versioned in our migrations.
Score Dimensions
Price Momentum
20% weightMeasures how quickly home prices are rising or falling. Since the Alpha Score moved to public data only, Price Momentum rests on one measure: the year-over-year change in the FHFA House Price Index. It reaches county, ZIP and most metro markets but no city (for metros we use FHFA's seasonally adjusted expanded-data index; for the thirteen metros that OMB splits into metropolitan divisions, such as New York, Los Angeles, Atlanta and Tampa, we use FHFA's MSA-level expanded-data index, seasonally adjusted with 1991 Q1 = 100, which FHFA has published since 2026 Q2 in a supplemental file). Redfin's sale prices, sale-to-list ratio and price drops still appear on market pages as context; they no longer feed the score.
Component Metrics
Inverted metrics contribute negatively — a higher raw value results in a lower dimension score.
Inventory Health
25% weightnew homes permitted per 1,000 existing homes, annualised from the latest 12 monthly Census Building Permits Survey releases and divided by the Census (ACS 2024) housing stock, then ranked against places in the same population band. There are five bands, each a fifth of the counties (or metros) that have a building rate. A high score means a place is building more new homes for its size than similar-sized places, so more supply is on the way. Scores are comparable within a band, not across bands. Counties and metros only: not ZIP codes (Census publishes no ZIP permits, so a ZIP's score is weighted over the dimensions it has), not metropolitan divisions. Counties that filed building permits with Census only once a year in either of the last two years, and show no permits in the last 12 monthly files, are not scored on it. The monthly Census files also undercount some small counties’ permits. The bands are drawn from ACS 2024 population, so when Census updates population a place near a band edge can move band; the edges are recomputed every window, and each place is shown the band it was ranked in. Places without a building rate (a ZIP code, a metropolitan division, an annual-only county) are scored over the dimensions they have.
Component Metrics
Inverted metrics contribute negatively — a higher raw value results in a lower dimension score.
Affordability
20% weightGauges whether home prices are sustainable relative to local incomes. Both inputs come from one Census American Community Survey release: the median home value divided by the median household income, and the monthly mortgage payment on that home value at the current 30-year rate (from FRED) as a share of income. Using one release for both sides keeps the ratio honest about which year it describes. The Census publishes these for metros, counties and ZIP-equivalents but not for cities, so city markets have no Affordability. When a newer ACS release has reached most of a level but not a given market, that market's Affordability is withheld rather than compared across different years.
Component Metrics
Inverted metrics contribute negatively — a higher raw value results in a lower dimension score.
Economic Strength
20% weightEvaluates the local job market and wage growth. Strong economies drive housing demand through employment stability and rising incomes. Unemployment and employment come from BLS LAUS, which publishes metropolitan, micropolitan and metropolitan-division areas separately — we request all three, so smaller metros are covered on the same footing as large ones. Wage data comes from BLS CES, which does not publish micropolitan areas at all; for those markets this dimension is built from the measures that exist rather than substituting a national or neighbouring figure. Because that means some markets are scored on fewer measures than others, we record how many measures each dimension was built from alongside the score itself, so the difference is auditable rather than invisible.
Component Metrics
Inverted metrics contribute negatively — a higher raw value results in a lower dimension score.
Rental Yield
15% weightMeasures the income potential of investment properties. Since the Alpha Score moved to public data only, Rental Yield rests on one measure: gross rental yield from the Census American Community Survey, the median gross rent times twelve divided by the median home value, both from the same release. Rent growth from the Zillow rent index no longer feeds the score; it still appears on market pages as context.
Component Metrics
Inverted metrics contribute negatively — a higher raw value results in a lower dimension score.
Going Deeper on the Alpha Score
The Alpha Score tells you what a market scores today. The deeper read tells you why, where it sits in its cycle (Market Phase), and how it compares. Computed nightly after the Alpha Score refresh and stored per geography inapp.market_intelligence.
Score Breakdown
Decomposes the overall Alpha Score into per-dimension contributions:contribution = dimension_score × weight. The bar length is the dimension’s own 0–100 score; the percentage beside it is the effective weight the score actually used for that market, which equals the nominal weight only when all five dimensions were measured: Price Momentum 20%, Inventory Health 25%, Affordability 20%, Economic Strength 20%, Rental Yield 15%. Where a dimension is missing the others are re-scaled to cover it — on a four-dimension market Inventory Health carries 31%, not 25% — and a dimension the score did not use shows no percentage and no contribution at all.
MMI — Momentum Index
Score deltas at three lookback windows:mmi_1mo,mmi_3mo,mmi_12mo, computed ascurrent_score − prior_score. Positive = score rose; negative = fell. Lookback windows are matched to the nearest available alpha-score period within ±15 days.
Lifecycle Phase
Each market is classified into one of six phases. The primary path combines alpha score level with 3-month and 12-month MMI; when MMI is unavailable (sparse history), a score-only fallback classifies the market with a lower confidence rating so the UI can surface that uncertainty.
MMI-informed path
- Emerging — low score (< 50) with strong 12mo rise (≥ +3)
- Growing — mid score (50–62) rising (12mo > +1), OR high score (≥ 62) still rising more than +2
- Mature — high score (≥ 62) with flat 12mo MMI (−2 to +2), or mid/low score with mild MMI signal
- Peaking — high score (≥ 62) softening (12mo < −2)
- Declining — mid score (50–62) with 12mo MMI ≤ −3, or low score (< 50) with continued decline
- Recovering — low score (< 50) with recent 3mo rebound (≥ +2)
Score-only fallback (when MMI unavailable)
- Mature — score ≥ 62
- Growing — score 50–62
- Declining — score 38–50
- Recovering — score < 38
Confidence: 90 when 3mo and 12mo MMI agree direction; 70 when one window is missing or they mildly disagree; 50 when they disagree and diverge; 40 on the score-only fallback path; null when even the score is missing.
Migration Score
County-level only for now. Computed by percentile-ranking each county'snet_migrationmetric (from IRS SOI county-to-county migration data) within all counties. Score is 0–100; 50 is the median county. Higher = more net inflow. Non-county geographies inherit a NULL score until pair-wise flow integration is built.
Anomaly Flags
Primitive (MMI-only)
- distress — score collapsed in the last 3 months (mmi_3mo ≤ −15)
- rapid_acceleration — score jumped in the last 3 months (mmi_3mo ≥ +15)
- inflection — 3mo and 12mo MMI disagree in direction by more than 5 each (a turning point)
Composite (cross-dimension)
- speculation and oversupply are paused while they are redesigned. Both were defined when Inventory Health measured how tight supply was; it now measures new building, so their old rules would read it backwards.
- gentrification — Net Migration Score ≥ 70 AND Price Momentum ≥ 55 AND 3-month rental-yield MMI ≤ −3. High in-migration + climbing prices + rents not keeping pace = buyers pricing locals out. County-level only (IRS SOI scope).
Similar Markets — “Markets like this”#
The “Markets like this” panel on each market detail page surfaces the 10 most-similar geographies. Similarity is measured by Euclidean distance across the 5 alpha-score dimensions (Price Momentum, Inventory Health, Affordability, Economic Strength, Rental Yield), normalized to a 0–100 percentage where 100 means “identical score profile” and 0 means “score profile at opposite extremes”.
similarity = 100 × (1 − distance / √50000)
To prevent superficial score matches between fundamentally different markets, comparable candidates must also pass two anchor filters computed per geography level:
- Same geography level — metros only match other metros, counties to counties, ZIPs to ZIPs, cities to cities.
- ±1 quintile by median sale price — each level's geographies are split into 5 price quintiles; candidates must be within one quintile of the target.
- ±1 quintile by population — same logic for total population (Census ACS). Geographies without population data (rare at metro/county level) skip this anchor only.
Comparables are recomputed weekly (Sundays 09:00 UTC) — geography fundamentals don't shift week-to-week, so a daily recompute would be wasted machinery.
Comparables use the five-dimension signal wherever it is measured, and a market takes part only with at least three measured dimensions, the same bar a published score needs. Cities borrow two, so they have no comparables.
Map overlay — Lifecycle Phase#
The “Lifecycle Phase” overlay on /explore colors every polygon by its current lifecycle classification (see the “Going Deeper” section above for the threshold rules). Six phases, six colors — same palette as the Market Phase element on each market page so the visual vocabulary is consistent.
- Emerging
- Growing
- Mature
- Peaking
- Declining
- Recovering
Geographies we cannot score render as a diagonal hatch, not as a colour on the scale — a withheld score is not a low score, and we would rather show you the gap than paint over it. That covers a geography with no intelligence row yet (pre‑nightly‑run), one with no recent alpha score, and one absent from our data entirely. The map legend carries the same hatch swatch so you can match what you are seeing. Coverage expands as the nightly transform chain processes new data.
Persona-tuned scores & custom formulas#
The canonical Alpha Score weights the five dimensions for a balanced view. Different investors care about different things, so LocalAlpha also computes two preset persona variants — the same Alpha Score, re-weighted for your strategy — and lets power users define their own. Whichever view you pick, the canonical score is always shown alongside for comparison.
| Variant | PM | IH | AF | ES | RY | Built for |
|---|---|---|---|---|---|---|
| Canonical | 20 | 25 | 20 | 20 | 15 | Balanced default |
| Flipper | 35 | 30 | 10 | 10 | 15 | Velocity + building activity for fast resale |
| Buy-and-Hold | 10 | 15 | 15 | 25 | 35 | Rental yield + economic strength |
PM = Price Momentum, IH = Inventory Health, AF = Affordability, ES = Economic Strength, RY = Rental Yield. Weights are percentages; each row sums to 100.
Custom formulas: define your own weights (up to three saved formulas) under Settings → Scoring. Weights must sum to 100%. Preset variants are precomputed nightly and stored on every market; custom formulas are evaluated live from each market's stored dimension scores when you view them, so a new formula takes effect immediately across the whole site. Land Alpha is a separate scoring system and is not affected by these personas.
Market briefs#
The written “Market Brief” card is not being generated at the moment, so market pages do not show one. When it is, it is a short plain-English summary of what the Score Breakdown and Market Phase are showing, and the date it was written is shown on the card.
This is separate from the public housing market brief pages (/market/…/brief), which are live and built directly from the data on this page.
Market Temperature
Each geography is classified into a temperature category based on its Alpha Score. Temperature provides a quick, intuitive read on market conditions.
| Score Range | Label | What It Means |
|---|---|---|
| 75 - 100 | Hot Seller's | The top of the scale: the market scores high across most of the five dimensions, usually led by strong price momentum and a strong local economy. The label describes the score, not a measured count of homes for sale. |
| 60 - 74 | Seller's | Above average across the five dimensions: healthy price growth and a solid local economy, without the extremes of the top band. |
| 40 - 59 | Balanced | Neither buyers nor sellers have a clear advantage. Prices are stable, inventory is adequate, and homes sell near list price. |
| 25 - 39 | Buyer's | Moderate buyer advantage. Rising inventory, slowing price growth, and longer days on market give buyers negotiating power. |
| 0 - 24 | Deep Buyer's | Strong buyer advantage. Significant inventory surplus, declining prices, and extended time on market. Maximum negotiating leverage for buyers. |
Where the thresholds come from
The temperature cutoffs (75 / 60 / 40 / 25) split the 0-100 score into a balanced middle band (40-59) with progressively hotter seller and cooler buyer bands on either side. Our signal thresholds follow established real-estate conventions where they exist — months-of-supply under 2 is a tight seller’s market and over 6 a buyer’s market (the long-standing ~6-month balance point); year-over-year price moves beyond +10% / −5% flag acceleration / deceleration; an affordability alert fires above the 90th percentile of the price-to-income distribution. These are interpretive bands chosen for clarity, published so they can be checked, and versioned in our migrations if re-tuned.
The Valuation Lens
The Alpha Score asks how strong is this market? The valuation lens asks a different question: is the price supported by the fundamentals underneath it? A market can be strong and expensive at the same time, so the lens is a separate read — not a slice of the Alpha Score. It runs on five public signals, each scored 0 (healthy) / 1 (stretched) / 2 (overvalued).
| Signal | Tier | Healthy | Stretched | Overvalued |
|---|---|---|---|---|
| Price-to-income | Leading | ≤ 3.5× | 3.5× – 5× | > 5× |
| Payment-to-income | Leading | < 25% | 25% – 30% | > 30% |
| Change from peak | Context | ≤ −12% | −12% to −5% | > −5% (at or near peak) |
| Months of supply | Confirming | 4 – 6 | 2 – 4, or > 6 | < 2 (tight) |
| Sale-to-list | Confirming | ≥ 100% | 97% – 100% | < 97% |
Price-to-income. The anchor. Prices can only outrun local incomes for so long before the buyer pool runs out.
Payment-to-income. What it actually costs to carry the median home at today’s rate. This moves with mortgage rates even when prices are flat.
Change from peak. A market sitting at its all-time high has no correction behind it to absorb the stretch.
Months of supply. Months of supply is not an Alpha Score input — Inventory Health measures new building. Here it is a warning sign on its own: scarce supply is part of what holds a stretched price up.
Sale-to-list. Buyers refusing to meet ask is the first crack that shows up in transaction data.
The cluster rule — read the cluster, not one signal
One stretched signal is noise. Several at once, led by the affordability signals, is a pattern. So the verdict is a cluster call, not a single-metric trip-wire:
- Overvalued — at least 3 of the 5 signals score 2, and at least one leading (affordability) signal scores 2.
- Stretched — the raw signal sum is ≥ 4 (index ≥ 40), or either leading signal scores 2.
- Fairly valued — everything else.
The Overvaluation Index is the raw sum of the five scores, divided by 10 and scaled to 0-100. A market with neither affordability signal available gets no read at all, rather than a guess — the index hinges on them.
What this does not tell you
Overvalued means elevated risk is priced in. It is not a crash prediction, and it says nothing about when the gap closes, or whether it does — plenty of money has been made in stretched markets and lost in cheap ones. The income and rent inputs are annual survey data and lag by roughly a year. Treat it as a caution flag that prices the risk, not a timing signal.
Data Sources
Data comes from government agencies, from Freddie Mac’s weekly mortgage-rate survey (republished by FRED), from listing series FRED republishes, and from market data published by Redfin and Zillow. The Alpha Score uses only the government and Freddie Mac data: the U.S. Census, BLS, QCEW, FHFA and FRED. Redfin and Zillow series are those companies’ own data; they appear on market pages for context and do not feed the score.
| Source | Metrics | Coverage | Frequency |
|---|---|---|---|
| Redfin Data Center | Sale price, list price and price per sq ft, DOM, inventory, months of supply, sale-to-list, share sold above list, listings with price drops, new listings, homes sold, pending sales | Metro and county, restated from Redfin’s current catalogue · City and ZIP, from Redfin’s earlier series | Redfin publishes monthly. Metro and county figures are restated from Redfin’s current catalogue, and their periods are the actual calendar spans they cover — 28 to 31 days for a month, 89 to 92 for a rolling quarter; the freshness table below shows when that last happened. City and ZIP figures come from Redfin’s earlier series, which Redfin stopped updating in June 2026, so they are not refreshed; their periods are recorded as nominal 30-day (city) and 90-day (ZIP) windows dated by their start month. |
| Bureau of Labor Statistics | Unemployment rate, employment level | Metro, County | Monthly |
| U.S. Census Bureau ACS | Home value, rent, income, population, housing units, vacancy | Metro, County, ZIP (ZCTA) | Annual (ACS 5-year) |
| Federal Reserve Economic Data (FRED) | Active listings, DOM, list price, new listings, housing starts; the 30-year mortgage rate is Freddie Mac’s Primary Mortgage Market Survey® (PMMS), republished by FRED | Metro, National | Monthly / Weekly |
| Federal Housing Finance Agency HPI | House Price Index (HPI), HPI YoY change | HPI and HPI YoY: Metro, County, ZIP (metro: expanded-data, seasonally adjusted) | Quarterly (MSA), Annual (county/ZIP) |
| Zillow Research (ZHVI / ZORI) | Home Value Index (ZHVI), Observed Rent Index (ZORI) | ZHVI: Metro, County, ZIP · ZORI: Metro, County, ZIP | Monthly (ZHVI back to 2000, ZORI back to 2015) |
| HUD Fair Market Rents | Fair Market Rent (efficiency through 4BR) | County, ZIP | Annual (fiscal year) |
| BLS Quarterly Census of Employment and Wages | Average weekly wage, total employment, establishment count | County | Quarterly |
| IRS Statistics of Income Migration Data | Net migration, migration AGI flows | County | Annual (1-2 year lag) |
| Census Building Permits Survey | Total permits, single-family, multi-family; plus the two newest county ANNUAL totals, used to find counties that report to Census only once a year | County and metro (CBSA) | Monthly; annual county files once a year |
| County land listings and sales | Land listings: price, lot acres, DOM, status, sold date, address, coordinates | County (~3,131) | Weekly (downloads per acre range and listing status) |
| LocalAlpha (computed) | Price-to-income ratio, rental yield, mortgage burden, vacancy rate, job/wage/rent growth, months of supply, development demand index | Varies (computed from other sources) | Computed on each pipeline run |
Metric Reference
Complete list of metrics tracked across all geographies.
| Metric | Description | Source | Levels | Alpha Score Role |
|---|---|---|---|---|
| Median Sale Price | Median closed sale price for all residential properties | Redfin | All | Market context (not scored) |
| Median List Price | Median asking price of homes newly listed in the period | Redfin | All | Reference |
| Median Price/SqFt | Median sale price per square foot | Redfin | All | Reference |
| Days on Market | Median days on market before going under contract (excludes homes that sat over a year) | Redfin | All | Reference |
| Active Inventory | Number of active listings | Redfin | All | Market context (not scored) |
| New Listings | Count of newly listed homes in the period | Redfin | All | Market context (not scored) |
| Homes Sold | Number of closed sales | Redfin | All | Reference |
| Months of Supply | Active inventory divided by the monthly sales pace (sales normalised to a monthly rate; the observation window is 90 days at ZIP, 30 elsewhere) | Derived | All | Market context (not scored) |
| Sale-to-List Ratio | Average sale price / list price (>1 = above list) | Redfin | All | Market context (not scored) |
| Price Drops % | Share of active listings with a price reduction. A period Redfin prints above 100% or below zero shows as no data | Redfin | Metro, County, City | Market context (not scored) |
| House Price Index | FHFA repeat-sales price index. Price Momentum reads its year-over-year change. Metros use FHFA's seasonally adjusted expanded-data index (quarterly); counties and ZIPs use its annual indexes. No city score uses HPI. The thirteen metros OMB splits into metropolitan divisions (New York, Los Angeles, Chicago and ten others) use FHFA's MSA-level expanded-data index (seasonally adjusted, 1991 Q1 = 100), published since 2026 Q2 in a supplemental file | FHFA | Metro, County, ZIP | Price Momentum (the only input) |
| Zillow Home Value Index (ZHVI) | Typical home value, smoothed + seasonally adjusted, monthly back to 2000 | Zillow | Metro, County, ZIP | Free map overlay (not used by the Alpha Score or the Forecast) |
| Zillow Observed Rent Index (ZORI) | Typical market-rate asking rent, smoothed, monthly back to 2015 | Zillow | Metro, County, ZIP | Free map overlay (not used by the Alpha Score or the Forecast) |
| Supply Pressure Index | Composite of supply-side percentile ranks (months of supply, inventory, new listings), 0–100 | Derived | All | Forecast signal (not scored) |
| Yield Spread | Gross rental yield minus the national 30-year mortgage rate (investor margin) | Derived (Census rent + Redfin price, minus the Freddie Mac PMMS® 30-yr rate, via FRED) | Metro, County, ZIP | Forecast signal (not scored) |
| Fair-Value Gap | Z-score of price-to-income vs the market's own history; shown only where history supports it | Derived | Metro, County, ZIP | Forecast signal (not scored) |
| Permits per 1,000 homes | New residential building permits over the latest 12 months per 1,000 existing homes (ACS 2024), ranked within five population bands | Census | County, Metro | Inventory Health (the only input) |
| Unemployment Rate | Local area unemployment rate | BLS | Metro, County | Economic Strength (inverted) |
| Job Growth YoY | Year-over-year employment change | Derived | Metro, County | Economic Strength |
| Avg Weekly Wage | Average weekly wages from QCEW | QCEW | County | Economic Strength |
| Wage Growth YoY | Year-over-year average hourly earnings change. Metro only: county Economic Strength uses the QCEW average weekly wage instead | Derived | Metro | Economic Strength |
| Price-to-Income Ratio | Shown on market pages: current median sale price / latest median household income. The Alpha Score uses the Census-only version: median home value / median household income from the same ACS release | Derived (shown: Redfin + Census; scored: Census) | Metro, County, ZIP | Affordability (inverted; Census version) |
| Mortgage Burden | Shown on market pages: monthly mortgage on the current median price at the current rate, as % of income. The Alpha Score uses the Census-only version: the payment on the ACS median home value at the current rate | Derived (shown: Redfin + Census; scored: Census; both at the Freddie Mac PMMS® 30-yr rate, via FRED) | Metro, County, ZIP | Affordability (inverted; Census version) |
| Gross Rental Yield | Shown on market pages: latest annual rent / current sale price x 100. The Alpha Score uses the Census-only version: ACS median gross rent x 12 / ACS median home value | Derived (shown: Census + Redfin; scored: Census) | Metro, County, ZIP | Rental Yield (Census version, the only input) |
| Rent Growth YoY | Year-over-year change in observed asking rent (monthly) | Derived (Zillow ZORI) | Metro, County, ZIP — where Zillow publishes a rent index and it has a full year of history | Market context (not scored) |
| Fair Market Rent (2BR) | HUD-determined fair market rent for a 2-bedroom unit | HUD | County, ZIP | Reference |
| Net Migration | Net inbound vs outbound tax filers | IRS SOI | County | Reference |
| Vacancy Rate | Vacant housing units / total housing units | Derived | Metro, County, ZIP | Reference |
| Population | Total population from ACS estimates | Census | Metro, County, ZIP | Reference |
| Income to Afford | Annual income to keep the median-home mortgage at 28% of income (estimate) | Derived (median home price + the Freddie Mac PMMS® 30-yr rate, via FRED) | Metro, County, ZIP | Market Context |
| Price-to-Rent Ratio | Median home value / annual rent | Derived (Census) | Metro, County, ZIP | Market Context |
| Rent as % of Income | Annual rent as a share of median household income | Derived (Census) | Metro, County, ZIP | Market Context |
| Homeownership Rate | Owner-occupied units / total housing units | Derived (Census) | Metro, County, ZIP | Market Context |
| Inventory as % of Homes | Active for-sale listings / total housing units | Derived (Redfin + Census) | Metro, County, ZIP | Market Context |
| Population Growth (YoY) | Year-over-year change in total population | Derived (Census) | Metro, County, ZIP | Market Context |
| Income Growth (YoY) | Year-over-year change in median household income | Derived (Census) | Metro, County, ZIP | Market Context |
| 5-Year Price Growth | Median sale price change vs. roughly five years prior | Derived (Redfin) | All | Market Context |
| Change from Peak | Median sale price vs. its all-time high for the market | Derived (Redfin) | All | Market Context |
| Overvaluation Index | How far price has run ahead of the fundamentals: five valuation signals scored 0/1/2, summed and scaled to 0-100 | Derived (Redfin + Census + the Freddie Mac PMMS® 30-yr rate, via FRED) | Metro, County, ZIP | Valuation Lens |
| Valuation Class | The cluster verdict — Fairly valued / Stretched / Overvalued | LocalAlpha (computed) | Metro, County, ZIP | Valuation Lens |
Which metrics are free?
A single market’s metrics are all free — median sale price, median list price, sale-to-list ratio, share sold above list, days on market, inventory, new listings, months of supply, homes sold, pending sales and price per square foot — and so is their history. Redfin, Zillow and Realtor.com figures are shown free and labelled, never behind the paywall. The analysis Pro adds, such as a longer Alpha Score history, Market Phase and the Alpha Score breakdown at ZIP level, is built on public data. Coloring the map by a raw metric is free at every level, ZIP included, whether the figure comes from Redfin, Zillow or a government source. A few analysis overlays, such as Lifecycle Phase, are Pro, and so are the five Alpha Score dimension maps at ZIP level.
The Forecast
All forecasts are currently paused; see below.
The Forecast is a separate, forward-looking layer — distinct from the Alpha Score, which describes a market’s current state. For metros and counties, it estimates the percentage change in home prices over the next 12 months (and 3 years), expressed as a 0–100 Forecast Score, a plain-language call, a confidence band, and the named drivers behind it.
One model, many markets. A single model is trained across all the markets at a level for each horizon, rather than fitting each market alone (local price histories are too short). Local signal comes from each market’s own features. Inputs include price momentum, supply (months of supply, inventory, new listings, permits), turning-point indicators (price drops, sale-to-list, pending, off-market), affordability, the national mortgage rate, migration, and the derived Forecast Signals below.
Calibrated ranges. Every forecast ships with an 80% range that is conformally calibrated — padded using how far past outcomes actually fell outside the model’s raw range — so the band means what it says: roughly 80% of outcomes land inside it. Confidence (High / Medium / Low) follows directly from how wide that calibrated range is, combined with measured backtest accuracy for markets like this one. A tight range earns High; a genuinely wide one is Low — honest uncertainty, not a hand-tuned label. Implausible outputs are flagged and withheld.
Some markets get no forecast at all. Before a market is forecast, its price history has to be good enough to forecast from: at least 12 months of sales observations, and a series that still runs to within a year of the forecast date. Markets fail that test where sales are too sparse for Redfin to report, or where reporting stopped years ago. Those markets show no Forecast rather than a number derived from a handful of old sales. This is a floor on the input, and it is separate from confidence, which describes the output: a market can clear the floor and still be Low confidence.
Paused forecasts. When a level’s forecast is paused, its pages show the date and the reason in place of the forecast, and the forecast signals already produced at that level are withdrawn, not deleted. We do not forecast at city level.
What this means on the map. Low-confidence markets — those whose 12-month ranges are genuinely wide — are shown muted rather than hidden, so coverage is honest about its own uncertainty. A level whose forecast is paused shows no forecast color, and the map legend gives the date it was paused. The longer 3-year horizon is inherently less certain than the 12-month — the future drifts further from the past — so its calibrated 80% range is correspondingly wider. We calibrate each horizon separately so the 3-year band still reaches roughly 80% coverage rather than overstating its own confidence; read the wider band as the honest cost of forecasting further out. The map overlay shows the 12-month horizon only.
The track record is the claim. A model ships only if it beats a momentum-persistence baseline out-of-sample. Every published forecast is recorded and scored when it comes due, and the results are public on the track-record page. The Forecast is the Pro analysis. The raw series it’s built on stay free: Redfin sales data, government statistical series, listing counts from FRED, and the 30-year mortgage rate from Freddie Mac’s Primary Mortgage Market Survey®. So do the Zillow map overlays, which the Forecast does not use.
Forecast Signals
These are transparent, cross-source signals computed from data we already track: Redfin listing figures (months of supply, inventory, new listings and sale prices) combined with Census rents and incomes and the 30-year mortgage rate. They are not part of the descriptive Alpha Score — they are inputs to the forward-looking Forecast and explainable on their own. Each is shown with an honest confidence stance: where a market lacks the history to support a signal, we show nothing rather than a false precise number.
- Supply Pressure Index (0–100) — how much the supply side is weighing on prices, from the percentile ranks of months of supply, active inventory, and new listings. Higher means a stronger headwind for price growth.
- Yield Spread — a market’s gross rental yield minus the national 30-year mortgage rate. A negative spread means borrowing costs exceed the gross yield, which typically cools investor demand.
- Fair-Value Gap — how stretched prices are versus the market’s own long-run norm, as a z-score of its price-to-income ratio against its own history. Positive means valuations sit above the local average (a mean-reversion candidate). Shown only where there is enough history to be meaningful.
Property Type Filtering
Redfin data is published for five property type categories. By default, all Redfin metrics use “All Residential” data. You can filter Redfin-sourced metrics by specific property types on market detail pages and on the Explore map when a Redfin metric overlay is active.
| Type | Description |
|---|---|
| All Residential | Combined data across all property types. Used for Alpha Scores and as the default view. |
| Single Family | Detached single-family residential homes. |
| Condo/Co-op | Condominiums and cooperative housing units. |
| Townhouse | Attached townhouse-style residences. |
| Multi-Family (2-4) | Small multi-family properties with 2 to 4 units. |
Important Notes
- • The Alpha Score has no property-type variants: its public sources (BLS, Census, FHFA, etc.) are not published by property type, and Redfin data does not feed it.
- • Year-over-year change data is not available when viewing a specific property type, as these are queried directly from staging data.
- • Property type filtering is available for Redfin metrics: Median Sale Price, Days on Market, Months of Supply, and Sale-to-List Ratio on the map overlay.
Geographic Coverage
LocalAlpha tracks ~52,000 geographies across four levels. Data coverage varies by source — Redfin provides the broadest coverage while BLS and QCEW are limited to metro and county levels.
| Level | Count | Notes |
|---|---|---|
| Metro (CBSA) | ~943 | Core-Based Statistical Areas — metro regions defined by the Census Bureau. Highest data coverage across all sources. |
| County | ~3,087 | All US counties with FIPS codes. Full coverage for Redfin, BLS, Census, QCEW, IRS SOI, and Building Permits. |
| ZIP Code | ~24,638 | ZIP codes matched to Census ZCTAs. Redfin publishes ZIP data as rolling 90-day windows (metro, county and city are 30-day), and each window is dated by the month it STARTS — so a ZIP figure labelled March covers March through May. ZIP readings are therefore smoother and lag the other levels; compare ZIPs to ZIPs, not to their metro. 93% linked to parent county, 84% to parent metro for dimension inheritance. |
| City | ~23,421 | City-level geographies from Redfin data. City pages show market data but no Alpha Score: the public sources the score uses are not published for cities, and a city can only borrow two of the five parts from its county. 92% are linked to their Census county (where most residents live for incorporated places, most of the area for other places, the containing county for towns). About 2% keep an older link: Connecticut cities show an out-of-state county until the state's new planning regions are adopted, and the rest could not be confirmed by a Census rule. 95% are also linked to a parent metro. |
Geographic Hierarchy Inheritance
93% of ZIP codes are linked to a parent county via Census ZCTA-County relationships and spatial matching. 92% of cities are linked to the Census county that holds most of their residents (Census population estimates; for unincorporated places, the county holding most of their area; for towns, the county containing the town). About 2% keep an older link: Connecticut cities show an out-of-state county until the state's new planning regions are adopted, and the rest could not be confirmed by a Census rule. 84% of ZIPs and 95% of cities are also linked to a parent metro, which for a city with a county is its county's. City links were corrected in November 2026: a city's Economic Strength and Rental Yield before then were borrowed under its old link, so its history can step at that point, until older periods are recomputed. When a ZIP or city lacks local data for Economic Strength or Rental Yield dimensions, the score is first inherited from the parent county (99% ES coverage), then from the parent metro if county data is unavailable. Borrowing is labelled on every market page. A city has no public data of its own for the other three parts, so with two of five it gets no score.
Land Alpha Score
The Land Alpha Score is a separate 0-100 index designed specifically for vacant land investors. It evaluates county-level land markets across 8 acre tiers (<1, 1-2, 2-5, 5-10, 10-20, 20-40, 40-100, 100+ acres) to surface counties with active, liquid land markets that are favorable for buying and reselling vacant lots.
Unlike the residential Alpha Score which tracks price appreciation and seller advantage, the Land Alpha Score focuses on market velocity, sell-through rate, and price accessibility — the metrics that matter most for land flipping investors.
Counties with fewer than 3 active listings in a tier receive no score (insufficient data). When some dimensions lack data, weights are redistributed proportionally among the remaining dimensions.
Thin markets are pulled toward the middle. A county with six lots can post a perfect sell-through on a single sale — that is a small-sample artifact, not a hot market. So every score is shrunk toward the neutral 50 in proportion to how much evidence backs it: score = 50 + (raw − 50) × active / (active + 10). A market with 5 active listings keeps only a third of its distance from neutral; one with 25 keeps about 70%; a deep market with 125+ is essentially untouched. A market earns its extremes by having the volume to prove them.
Based on median days on market (DOM). Faster-selling markets score higher. 100 at DOM=30, 50 at DOM=105, 0 at DOM=180.
Average of 3-month and 12-month sell-through rates (sold / active). Markets where listings actually sell score higher.
Bell-curve scoring favoring 25-300 active listings. A thin market scores low here rather than being excused from the dimension — too few listings means there is little to trade; too many means saturated competition.
Based on pending rate (pending / active). Higher pending rates indicate strong buyer demand absorbing available inventory.
Peak score at $20K-$60K median price (the land flipping sweet spot). Decays linearly below $5K and above $200K.
Data Source
Land data comes from weekly downloads of county land listings — one download per acre range (12 ranges, grouped into the 8 tiers below) for each of active, pending and sold (past 12 months) listings. Each download is capped at 350 listings, so a county with 350 or more active and pending, or sold, listings in total is flagged in the UI: one of its downloads may have hit the cap, and its raw counts may be under-reported.
Acre Tiers
Metrics are computed independently for each tier, so a county can score well for 5-10 acre lots but poorly for 100+ acre parcels.
Score Tiers
Land Pulse
The Land Pulse dashboard at /land/pulse provides national-level analytics across all scored land counties. It includes national summary statistics, a sortable state leaderboard, a score distribution histogram, and a hot county spotlight showing the top-scoring counties with key metrics.
When viewing “All Tiers”, the dashboard uses each county's best score across all acre tiers (MAX, not average). This answers the question “how many counties have at least one investable tier?”
Per-Tier Watchlists
You can watch specific county + acre tier combinations (e.g., “5-10 acres in Warren County NC”) from the county detail drawer. Each tier watch is independent — watching a county for one tier does not affect other tiers. Per-tier watches show the land score on your dashboard and settings page.
Parcel Data Pipeline
The parcel data pipeline aggregates 40+ million publicly available county assessor records from statewide GIS portals across 20 states (WI, ME, TX, FL, MT, NC, UT, CO, NJ, MD, VT, ND, IN, OH, VA, CT, MA, NY, MN, AR) covering 630+ counties, providing parcel-level data including owner names, mailing addresses, acreage, assessed values, land use, and tax status. This enables land investors to go from “this county looks hot” to a mail-ready prospect list without leaving the platform.
| State | Source | Format | Est. Records |
|---|---|---|---|
| Texas | TxGIO StratMap 2025 ArcGIS | REST API | 12.2M |
| Florida | FDOR Cadastral 2025 ArcGIS | REST API | 10.5M |
| Wisconsin | WI Statewide Parcel Map V11 (SCO) | GDB | 3.3M |
| N. Carolina | NC OneMap ArcGIS | REST API | 5.7M |
| Wisconsin | WI Statewide Parcel Map V11 (SCO) | GDB | 3.3M |
| New Jersey | NJGIN Cadastral ArcGIS | REST API | 3.1M |
| Maryland | MD iMAP PropertyData ArcGIS | REST API | 2.4M |
| Utah | SGID ArcGIS | REST API | 1.4M |
| Montana | MT Cadastral Framework | GDB | 885K |
| Maine | Maine GeoLibrary | GDB | 651K |
| Colorado | CO Public Parcels ArcGIS | REST API | ~2.5M |
Non-Spatial Cleanup
Raw parcel records are automatically cleaned using tabular rules: exempt properties (government, churches, schools, hospitals) and commercial/industrial parcels are removed. Parcels with significant improvements (improvement value > $50K) are flagged. Tax delinquent parcels and parcels with structures are tagged for filtering. Land use codes are normalized across states into categories: vacant land, agricultural, residential, commercial, exempt, and other.
Refresh Cadence
Parcel data is refreshed quarterly (1st of January, April, July, and October). Each refresh downloads the latest statewide dataset and incrementally updates the parcel records.
Data Usage & Compliance
All parcel data is sourced from publicly available government records. It is provided for marketing and informational purposes only and is not a consumer report under the Fair Credit Reporting Act. Property owners may request removal from marketing lists via the acceptable use policy page. See the full policy for permitted and prohibited uses.
Insights — how a shared finding is derived#
An Insight is a movement we measured in the published data — not a view we hold about it. Every one cites the metric, its source, and the exact period that source covers, and links back to the market page so you can check the number yourself.
Every insight clears a sample-size floor. Median sale price is a median: in a ZIP with two sales it is simply the midpoint of two houses. Ranked without a floor, the “most expensive ZIP in America” comes out at roughly 22.4 million dollars on two transactions, and eight of the top ten rest on fewer than ten. With a floor of 20 sales the top result is Atherton, California at about 10.5 million on 29 — which is the answer anyone familiar with the market would expect. We publish the second kind of number, and we show you the transaction count behind it.
“Moved more than its peers” is measured against comparable markets, not a fixed percentage. A flat threshold does not mean the same thing everywhere: over a 90-day window the typical ZIP with 20–49 sales moves about 8.3%, while one with 200+ moves about 3.4%. So a “10% move” is unremarkable in the first and a genuine outlier in the second. We instead group markets by how much they actually trade and ask whether a market moved more than 90% of the markets in its own group — and, separately, whether it moved enough in absolute terms to be worth reading at all. It has to clear both.
What this does not claim. It is a description of what has already happened, not a forecast. We tested whether these moves persist and the result was inconclusive — markets flagged this way reverted at about the same rate as everything else. So an Insight tells you a market moved unusually against its peers; it does not tell you it will keep moving. Our forward-looking work is the separate Forecast, which is backtested and shown with its own accuracy record.
Watch the window. Redfin publishes ZIP-level data as a rolling 90-day window dated by the month it starts, while metro, county and city are 30-day. A ZIP figure labelled March therefore covers March through May. Insights cite the window explicitly, and only ever compare like with like — ZIP against ZIP, over windows that do not overlap.
Update Schedule & Freshness
Data freshness varies by source. Redfin and BLS update monthly, while Census data is annual. The transform pipeline runs automatically after each data fetch.
| Source | Update Cadence |
|---|---|
| Redfin | Monthly release; metro and county figures are restated from it (calendar-month and rolling-quarter periods). City and ZIP carry Redfin’s earlier series, which has not been updated since June 2026. |
| BLS LAUS | Monthly |
| FRED | Monthly (housing), Weekly (mortgage rates: Freddie Mac’s Primary Mortgage Market Survey®) |
| Census ACS | Annual (5-year estimates) |
| FHFA HPI | Quarterly (MSA), Annual (county/ZIP) |
| HUD FMR | Annual (fiscal year) |
| QCEW | Quarterly |
| IRS SOI | Annual (1-2 year lag) |
| Building Permits | Monthly |
| Parcels (20 states) | Quarterly |
Current Data Freshness
Transform Pipeline
After new data arrives: Raw events → Market metrics (with YoY changes and percentile ranks) → Derived metrics (cross-source ratios) → Alpha Scores (5-dimension weighted composite) → Signals (threshold-crossing alerts). Each step is incremental, processing only new data since the last run.