Dashboard/Methodology

How LocalAlpha Works

Our methodology combines 9 government & market data sources (plus a derived metrics layer) into a composite Alpha Score — a single 0-100 indicator of real estate market strength. 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 every geography in our database — metros, counties, ZIP codes, and cities. It answers a simple question: how strong is this real estate market right now?

Higher scores indicate stronger seller conditions: rising prices, tight inventory, 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 itself a composite of multiple metrics, normalized to percentile ranks within the same geography level (metro vs metro, ZIP vs ZIP) to ensure fair comparisons.

Price Momentum20%
Inventory Health25%
Affordability20%
Economic Strength20%
Rental Yield15%

When a dimension has no data for a geography, it defaults to 50 (neutral). ZIP and city-level geographies inherit Economic Strength and Rental Yield from their parent metro when local data is unavailable. Each market page shows a data-coverage indicator (High / Medium / Low) so you can see how much of a score rests on local vs. inherited vs. defaulted data.

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: supply tightness is the most direct, fastest-moving driver of price pressure.
  • 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% weight

Measures how quickly home prices are rising or falling. Combines median sale price year-over-year change, sale-to-list ratio, FHFA House Price Index trends, and price drops percentage.

Component Metrics

median_sale_price (YoY)avg_sale_to_listhpi_yoy_changeprice_drops_pct (inverted)

Inverted metrics contribute negatively — a higher raw value results in a lower dimension score.

Inventory Health

25% weight

Assesses supply-side dynamics. Lower supply signals a tighter market, which typically favors sellers. Includes months of supply, active listing changes, new listing trends, and building permits.

Component Metrics

months_of_supply (inverted)active_listings_yoy (inverted)new_listings_yoy (inverted)inventory (inverted)new_listings (inverted)building_permits_total

Inverted metrics contribute negatively — a higher raw value results in a lower dimension score.

Affordability

20% weight

Gauges whether home prices are sustainable relative to local incomes. Markets with better affordability tend to attract more buyers and sustain longer growth cycles.

Component Metrics

price_to_income_ratio (inverted)mortgage_pmt_to_income (inverted)

Inverted metrics contribute negatively — a higher raw value results in a lower dimension score.

Economic Strength

20% weight

Evaluates the local job market and wage growth. Strong economies drive housing demand through employment stability and rising incomes.

Component Metrics

unemployment_rate (inverted)job_growth_yoywage_growth_yoyavg_weekly_wage

Inverted metrics contribute negatively — a higher raw value results in a lower dimension score.

Rental Yield

15% weight

Measures the income potential of investment properties. Higher yields attract investors, which can accelerate price appreciation in emerging markets.

Component Metrics

gross_rental_yieldrent_yoy

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's headed (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 shown bar widths and totals match the official weights below: Price Momentum 20%, Inventory Health 25%, Affordability 20%, Economic Strength 20%, Rental Yield 15%.

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 — Price Momentum ≥ 75 AND Inventory Health ≥ 75 AND Economic Strength ≤ 45. Tight prices + tight inventory + weak local economy = demand outrunning fundamentals.
  • oversupply — Inventory Health ≤ 25 AND Price Momentum ≤ 35. Bottom-quartile supply tightness combined with weak price momentum = market likely to keep softening.
  • 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”.

distance = √( Σᵢ (dimᵢ − target.dimᵢ)² ) for i ∈ {PM, IH, AF, ES, RY}
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.

All four geography levels use the full five-dimension signal — metro comparables reflect price and inventory dynamics the same way county and ZIP comparables do.

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 without an intelligence row yet (pre-nightly-run, or no recent alpha score) render as muted gray. 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.

VariantPMIHAFESRYBuilt for
Canonical2025202015Balanced default
Flipper3530101015Velocity + tight inventory for fast resale
Buy-and-Hold1015152535Rental 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 “Market Brief” card on each market page is a short plain-English summary of what the Score Breakdown and Market Phase are showing — designed so a quick read can substitute for working through every metric individually.

Briefs are refreshed regularly and re-written sooner whenever a market's Alpha Score moves materially. Every brief is reviewed before it's published, and the date it was last refreshed is shown on the card.

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 RangeLabelWhat It Means
75 - 100Hot Seller'sExtreme seller advantage. Prices rising fast, very low inventory, homes sell quickly above list price. High competition among buyers.
60 - 74Seller'sModerate seller advantage. Healthy price growth, below-average inventory, properties sell near or above list price.
40 - 59BalancedNeither buyers nor sellers have a clear advantage. Prices are stable, inventory is adequate, and homes sell near list price.
25 - 39Buyer'sModerate buyer advantage. Rising inventory, slowing price growth, and longer days on market give buyers negotiating power.
0 - 24Deep Buyer'sStrong 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.

Data Sources

All data comes from publicly available government and real estate data sources. No proprietary or paywalled data is used.

SourceMetricsCoverageFrequency
Redfin Data CenterSale price, list price, DOM, inventory, months of supply, sale-to-list, new listings, homes sold, pending salesMetro, County, ZIP, CityRefreshed weekly; monthly periods (metro/county/city), quarterly periods (ZIP)
Bureau of Labor StatisticsUnemployment rate, employment levelMetro, CountyMonthly
U.S. Census Bureau ACSHome value, rent, income, population, housing units, vacancyMetro, County, ZIP (ZCTA)Annual (ACS 5-year)
Federal Reserve Economic Data (FRED)Active listings, DOM, list price, new listings, mortgage rates, housing startsMetro, NationalMonthly / Weekly
Federal Housing Finance Agency HPIHouse Price Index (HPI), HPI YoY changeMetro, County, ZIPQuarterly (MSA), Annual (county/ZIP)
HUD Fair Market RentsFair Market Rent (efficiency through 4BR)County, ZIPAnnual (fiscal year)
BLS Quarterly Census of Employment and WagesAverage weekly wage, total employment, establishment countCountyQuarterly
IRS Statistics of Income Migration DataNet migration, migration AGI flowsCountyAnnual (1-2 year lag)
Census Building Permits SurveyTotal permits, single-family, multi-familyCountyMonthly
Redfin Land (CSV Download)Land listings: price, lot acres, DOM, status, sold date, address, coordinatesCounty (~3,131)Weekly (CSV download per county)
LocalAlpha (computed)Price-to-income ratio, rental yield, mortgage burden, vacancy rate, job/wage/rent growth, months of supply, development demand indexVaries (computed from other sources)Computed on each pipeline run
Metric Reference

Complete list of metrics tracked across all geographies.

MetricDescriptionSourceLevelsAlpha Score Role
Median Sale PriceMedian closed sale price for all residential propertiesRedfinAllPrice Momentum
Median List PriceMedian active listing priceRedfinAllReference
Median Price/SqFtMedian sale price per square footRedfinAllReference
Days on MarketMedian days from listing to pendingRedfinAllReference
Active InventoryNumber of active listingsRedfinAllInventory Health (inverted)
New ListingsCount of newly listed homes in the periodRedfinAllInventory Health (inverted)
Homes SoldNumber of closed salesRedfinAllReference
Months of SupplyActive inventory divided by monthly sales rateDerivedAllInventory Health (inverted)
Sale-to-List RatioAverage sale price / list price (>1 = above list)RedfinAllPrice Momentum
Price Drops %Percentage of listings with price reductionsRedfinAllPrice Momentum (inverted)
House Price IndexFHFA repeat-sales price indexFHFAMetro, County, ZIPPrice Momentum
Building PermitsTotal new residential building permits issuedCensusCountyInventory Health
Unemployment RateLocal area unemployment rateBLSMetro, CountyEconomic Strength (inverted)
Job Growth YoYYear-over-year employment changeDerivedMetro, CountyEconomic Strength
Avg Weekly WageAverage weekly wages from QCEWQCEWCountyEconomic Strength
Wage Growth YoYYear-over-year average hourly earnings changeDerivedMetro, CountyEconomic Strength
Price-to-Income RatioHome value / median household incomeDerivedMetro, County, ZIPAffordability (inverted)
Mortgage BurdenEstimated monthly mortgage as % of incomeDerivedMetro, County, ZIPAffordability (inverted)
Gross Rental Yield(Annual rent / home value) x 100DerivedMetro, County, ZIPRental Yield
Rent Growth YoYYear-over-year median gross rent changeDerivedMetro, County, ZIPRental Yield
Fair Market Rent (2BR)HUD-determined fair market rent for a 2-bedroom unitHUDCounty, ZIPReference
Net MigrationNet inbound vs outbound tax filersIRS SOICountyReference
Vacancy RateVacant housing units / total housing unitsDerivedMetro, County, ZIPReference
PopulationTotal population from ACS estimatesCensusMetro, County, ZIPReference
Income to AffordAnnual income to keep the median-home mortgage at 28% of income (estimate)Derived (Census + FRED)Metro, County, ZIPMarket Context
Price-to-Rent RatioMedian home value / annual rentDerived (Census)Metro, County, ZIPMarket Context
Rent as % of IncomeAnnual rent as a share of median household incomeDerived (Census)Metro, County, ZIPMarket Context
Homeownership RateOwner-occupied units / total housing unitsDerived (Census)Metro, County, ZIPMarket Context
Inventory as % of HomesActive for-sale listings / total housing unitsDerived (Redfin + Census)Metro, County, ZIPMarket Context
Population Growth (YoY)Year-over-year change in total populationDerived (Census)Metro, County, ZIPMarket Context
Income Growth (YoY)Year-over-year change in median household incomeDerived (Census)Metro, County, ZIPMarket Context
5-Year Price GrowthMedian sale price change vs. roughly five years priorDerived (Redfin)AllMarket Context
Change from PeakMedian sale price vs. its all-time high for the marketDerived (Redfin)AllMarket Context
Property Type Filtering

Redfin data is published for five property type categories. By default, all metrics and Alpha Scores 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.

TypeDescription
All ResidentialCombined data across all property types. Used for Alpha Scores and as the default view.
Single FamilyDetached single-family residential homes.
Condo/Co-opCondominiums and cooperative housing units.
TownhouseAttached townhouse-style residences.
Multi-Family (2-4)Small multi-family properties with 2 to 4 units.

Important Notes

  • • Alpha Scores always use “All Residential” data because non-Redfin sources (BLS, Census, FHFA, etc.) do not have property type variants.
  • • 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.

LevelCountNotes
Metro (CBSA)~982Core-Based Statistical Areas — metro regions defined by the Census Bureau. Highest data coverage across all sources.
County~3,087All US counties with FIPS codes. Full coverage for Redfin, BLS, Census, QCEW, IRS SOI, and Building Permits.
ZIP Code~24,638ZIP codes matched to Census ZCTAs. Redfin data is quarterly (90-day periods). 93% linked to parent county, 84% to parent metro for dimension inheritance.
City~23,421City-level geographies from Redfin data. Currently limited to Redfin metrics only. 91% linked to parent county, 85% to parent metro.

Geographic Hierarchy Inheritance

93% of ZIP codes and 91% of cities are linked to a parent county via Census ZCTA-County relationships and spatial matching. 84% of ZIPs and 85% of cities are also linked to a parent metro. 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, ensuring every geography has the most complete Alpha Score possible.

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.

Market Velocity30%

Based on median days on market (DOM). Faster-selling markets score higher. 100 at DOM=30, 50 at DOM=105, 0 at DOM=180.

Sell-Through Rate30%

Average of 3-month and 12-month sell-through rates (sold / active). Markets where listings actually sell score higher.

Market Activity20%

Bell-curve scoring favoring 25-300 active listings. Too few listings means unreliable data; too many means saturated competition.

Demand Pressure10%

Based on pending rate (pending / active). Higher pending rates indicate strong buyer demand absorbing available inventory.

Price Accessibility10%

Peak score at $20K-$60K median price (the land flipping sweet spot). Decays linearly below $5K and above $200K.

Data Source

Land data is sourced from Redfin CSV downloads — one request per county for active/pending listings and one for sold listings (past 12 months). Data refreshes weekly. Redfin caps downloads at ~350 listings; counties that hit this limit are flagged with a data quality indicator in the UI.

Acre Tiers

<1 acres1-2 acres2-5 acres5-10 acres10-20 acres20-40 acres40-100 acres100+ acres

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

Hot (65)Strong (50)Average (35)Weak (20)Cold (0)

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.

StateSourceFormatEst. Records
TexasTxGIO StratMap 2025 ArcGISREST API12.2M
FloridaFDOR Cadastral 2025 ArcGISREST API10.5M
WisconsinWI Statewide Parcel Map V11 (SCO)GDB3.3M
N. CarolinaNC OneMap ArcGISREST API5.7M
WisconsinWI Statewide Parcel Map V11 (SCO)GDB3.3M
New JerseyNJGIN Cadastral ArcGISREST API3.1M
MarylandMD iMAP PropertyData ArcGISREST API2.4M
UtahSGID ArcGISREST API1.4M
MontanaMT Cadastral FrameworkGDB885K
MaineMaine GeoLibraryGDB651K
ColoradoCO Public Parcels ArcGISREST 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.

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.

SourceUpdate Cadence
RedfinWeekly bulk downloads (monthly/quarterly data)
BLS LAUSMonthly
FREDMonthly (housing), Weekly (mortgage rates)
Census ACSAnnual (5-year estimates)
FHFA HPIQuarterly (MSA), Annual (county/ZIP)
HUD FMRAnnual (fiscal year)
QCEWQuarterly
IRS SOIAnnual (1-2 year lag)
Building PermitsMonthly
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.