How the numbers are made

Methodology

BellwetherBoard is a market terminal for title professionals. Its only job is to separate leading signals (rates, applications, pending sales) from lagging confirmation (Case-Shiller, ALTA premiums), and to wear its own uncertainty on its sleeve. This page documents the actual math behind the Health Index, the three forecast horizons, and the reliability scorecard — verbatim from the production code, not a marketing rewrite.

01 · Tiers

Why series sit where they sit

Every active series belongs to one of four tiers. A tier is not a quality judgment — it is a statement about when a series carries information relative to closing volume.

  • LeadingMoves first; buys weeks of warning. Rates, MBA purchase apps, NAR pending home sales (PHSI), Redfin weekly new listings and price-drop share, NAHB builder confidence.
  • CoincidentReal-time confirmation of where the cycle is now. Existing home sales (SAAR), Redfin days-on-market, MBA refi share, and MBA purchase YoY all sit here — they describe current activity, not what is coming next.
  • LaggingConfirms a cycle that has already turned. Case-Shiller HPI and ALTA quarterly title premium.
  • MacroThe field everything else moves through: 10-year Treasury, 30-year mortgage rate, jobs and prices.

The dashboard groups tiles by tier so a leading signal flashing red cannot be confused with a lagging print rolling over months later.

02 · Health Index

A weighted z-score composite, 0–100

The headline gauge is computed nightly by compute-health-index.server.ts. For every active series with an index_weight > 0:

  1. 01Take the trailing 24 observations and compute the latest z-score: z = (latest − mean) / σ. Series with fewer than 6 observations are skipped.
  2. 02If higher_is_better = false (e.g. mortgage rate, days-on-market), flip the sign so "bad direction" is always negative.
  3. 03Clamp z to ±3 so one outlier cannot dominate the composite.
  4. 04Weight: contribution = z × index_weight. Sum across all contributing series.
  5. 05Score: score = clamp(50 + 8 × (Σ contribution / Σ weight), 0, 100). The narrative band assignment in code is: score ≥ 60 reads as expansion, 40 ≤ score < 60 reads as softening, score < 40 reads as contraction. 50 is arithmetically the long-run neutral but falls inside the softening band as currently coded — a known asymmetry we plan to split into a distinct neutral band once we have enough backtest history to justify the cut point.
Honesty gate. If fewer than MIN_CONTRIBUTORS = 8 series contribute on a given day, the index publishes score = null with the narrative "Insufficient data — index not computed." The gauge will show a gap rather than fabricate a soft 45 from a handful of series.

The "top mover" narrative on the dashboard is the series with the largest absolute contribution, reported in its native unit (basis points, %, $, etc.) — never the internal z-score, which has been a source of misleading "−2.35" lines that looked like raw deltas.

03 · Forecasts

A mechanical lagged-linear model

The forecast engine (forecast/compute.server.ts) is deliberately small: no LLM, no neural net, no opaque ensemble. Each horizon is a hand-specified set of lagged drivers, each driver z-scored against its own recent history, weighted, and applied to the target's recent mean as a percentage sensitivity. The target is EXHOSLUSM495S (Existing Home Sales SAAR) — used as a proxy for closing volume because it is the closest national, monthly, SAAR series to actual closings, is revised each release so we can score forecasts against revised actuals, and has the deepest continuous history of the candidate FRED targets (Housing Starts and New Home Sales lead too far upstream of closings to be a clean volume proxy). The 2–4 week horizon projects this monthly target at a sub-monthly tempo by recomputing nightly: each new driver release (MBA weekly, Redfin weekly, PHSI monthly) re-prices the same next monthly print, so the forecast tile updates within the period rather than only at month-end.

The three horizons

2–4 weeks
  • MBA Purchase WoW · lag 2w · +0.30
  • PHSI Pending Sales · lag 6w · +0.45
  • Redfin New Listings · lag 4w · +0.15
  • Redfin Days on Market · lag 2w · −0.05
  • Redfin Price-Drop Share · lag 2w · −0.05

Highest-frequency horizon. Suppressed when MBA, PHSI or Redfin series have not ingested yet.

6–10 weeks
  • 10Y Treasury · lag 8w · −0.30
  • 30Y Mortgage · lag 8w · −0.35
  • MBA Purchase WoW · lag 4w · +0.35

The rates-driven horizon. It is the only horizon eligible for backtest calibration once enough target history lands — but the dashboard still labels it UNVALIDATED until live forecasts have actually resolved against print, and the reliability card stays at 0 resolved until then.

Longer
  • Reserved for quarterly drivers
  • (ALTA premiums, NAHB HMI)

Not yet a published horizon — the data depth required to calibrate it isn't here yet, and we will not ship a 'longer' projection that is really just trend extrapolation.

Point estimate, interval, direction

  1. 01Each driver: read its value at today − lag_weeks, compute z against its last 24 obs, clamp to ±3.
  2. 02weighted_z = Σ (z × weight) over contributing drivers only. completeness = Σ |weight used| / Σ |weight defined|.
  3. 03Point estimate: point = recent_mean × (1 + weighted_z × SENSITIVITY_PCT), where SENSITIVITY_PCT = 0.05 — a 1σ driver swing moves the projection ~5% from baseline.
  4. 04Interval: ±(6% + 3% × high-importance calendar events in window + 5% × (1 − completeness)). Wider when data is sparse, wider again around an FOMC or jobs print.
  5. 05Direction: up / down / flat. The flat band is 0.5 × σ of the target's own period-over-period changes — directional calls are reserved for moves larger than typical noise.
  6. 06Confidence: clamp((1 − interval × 5) × completeness, 0.1, 0.85). Capped at 85 — we never claim certainty we have not earned. Note the multiplier: interval here is the same fraction from step 04, so under typical conditions (interval ≈ 6–12%) confidence lands roughly 0.40–0.70 at full completeness; if interval climbs past 20% (many in-window events or very sparse data) the formula clamps to the 0.10 floor by design rather than reporting a number we have not earned.
Suppression rules. If completeness = 0 (no driver had a value at lag), no forecast is published for that horizon. The panel renders an explicit "Suppressed — required history unavailable" tile listing which series are missing, instead of falling back to the naive baseline and calling it a forecast.
04 · Calibration

Backtest first, live scorecard second

Reliability is measured two ways, and the panel labels which one is currently active.

Walk-forward backtest (backtest.server.ts)

The same lagged-linear model is replayed over historical FRED data with strict no-look-ahead discipline: at each replay date, only observations with obs_date ≤ made_for_date are visible. Split chronologically 70 / 30, grid-tune FLAT_BAND (0.25–1.0) and SENSITIVITY (0.03–0.10) on the in-sample half, measure on out-of-sample. Per horizon we persist: MAE, MAE-ratio vs. naive-baseline, direction-hit-rate, interval-coverage, residual p10 / p90.

Backtest caveat (printed verbatim on every row). "Optimistic — target revisions not vintage-corrected." v1 uses final (revised) target values, so backtest MAE is a lower bound on what live performance will look like. beats_baseline can only flip true when (a) MAE ratio < 1.0 and (b) target history ≥ 36 observations — until a FRED backfill lands, the UI stays pinned to "uncalibrated."

Forward scorecard (score.server.ts)

When a forecast's resolves_on date passes, the scorer looks up the actual target print, writes an immutable row into forecast_scores (abs_error, baseline_error, beat_baseline, direction_hit, in_interval), and flips forecasts.resolved = true. Score rows are append-only; we never edit a forecast after the day it was made.

The Reliability card on the dashboard reads the most recent 50 resolved scores per horizon. Once ≥12 live forecasts have resolved and beaten baseline for a given horizon, forward_calibration.active = true takes over from the backtest as the source of truth, and the panel banner switches from "backtest-calibrated" to "forward-measured."

05 · Vintage discipline

Every number wears its release date

Each observation stores three timestamps: obs_date (the period it describes), as_of (the day the publisher released it), and fetched_at (the day we ingested it). Tiles display the first two so a "live" reading from three weeks ago is not confused with a fresh print. A tile is marked stale when its latest observation is older than its frequency would allow (weekly: 16 days, monthly: 75 days). A tile shows no data when no observations exist yet.

06 · Catalog

Every active series, with source and cadence

National series — inputs to the Health Index

These are the 40 national series the Health Index actually composes. Tier here is the tier the production code assigns — if a series appears in a tier that surprises you, the catalog reflects the code's classification, not the prose above.

CodeLabelSourceTierLead / LagFrequencySA
UST10Y10-Year Treasury YieldTreasury FiscalDataleadingLEADS ratesdailyNSA
MORTGAGE30US30-Year Fixed Mortgage RateFREDleadingLEADS demandweeklyNSA
MORTGAGE15US15-Year Fixed Mortgage RateFREDleadingLEADS demandweeklyNSA
MBA_PURCHASE_SA_WOWMBA Purchase Apps, WoW % (SA)MBAleadingLEADS ~4-8wkweeklySA
MBA_COMPOSITE_SA_WOWMBA Composite Apps, WoW % (SA)MBAleadingLEADS ~4-8wkweeklySA
OBMMIC30YFDaily 30-yr Rate (Optimal Blue)FREDleadingLEADS demanddailyNSA
MBA_REFI_WOWMBA Refi Index, WoW %MBAleadingLEADS refi title ~4-8wkweeklyNSA
PHSIPending Home Sales IndexNARleadingLEADS closings ~6wkmonthlySA
HMINAHB Builder Confidence (HMI)NAHBleadingLEADS new-buildmonthlySA
MBA_REFI_SHARERefi Share of Apps, %MBAcoincidentCOINCIDENTweeklyNSA
MBA_PURCHASE_YOYMBA Purchase Apps, YoY %MBAcoincidentCONTEXTweeklyNSA
PERMITBuilding PermitsFREDleadingLEADS startsmonthlySA
EXHOSLUSM495SExisting Home Sales (SAAR)FREDcoincidentCOINCIDENTmonthlySA
HOSSUPUSM673NExisting-Home Months' SupplyFREDcoincidentCOINCIDENTmonthlyNSA
HOSINVUSM495NExisting-Home InventoryFREDcoincidentCOINCIDENTmonthlyNSA
HSN1FNew 1-Family Houses SoldFREDcoincidentCOINCIDENTmonthlySA
MSACSRNew-Home Months' SupplyFREDcoincidentCOINCIDENTmonthlyNSA
HOUSTHousing StartsFREDcoincidentCOINCIDENTmonthlySA
REDFIN_PRICEDROP_USRedfin: Active Listings w/ Price Drop (US)Redfin Data CentercoincidentCOINCIDENTweeklyNSA
RDC_PRICE_DROP_USRealtor.com: Price-Drop Share (US)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
REDFIN_DOM_USRedfin: Days on Market (US)Redfin Data CentercoincidentCOINCIDENTweeklyNSA
RDC_DOM_USRealtor.com: Days on Market (US)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_ACTIVE_USRealtor.com: Active Listings (US)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
CSUSHPINSACase-Shiller National HPIFREDlaggingLAGS ~2momonthlyNSA
MSPUSMedian Sales Price of HousesFREDlaggingLAGS 1qquarterlyNSA
DRSFRMACBSSingle-Family Mortgage DelinquencyFREDlaggingLAGS 1qquarterlySA
ALTA_PREMIUMALTA Title Premium VolumeALTAlaggingLAGS ~3moquarterlyNSA
FNF_OPEN_ORDERSFNF Open Title OrdersSEC EDGARlaggingLAGS 1qquarterlyNSA
REDFIN_NEW_LIST_USRedfin: New Listings (US)Redfin Weekly TrackerleadingLEADS supply ~4wkweeklyNSA
RDC_NEW_LIST_USRealtor.com: New Listings (US)Realtor.com ResearchleadingLEADS supply ~4wkmonthlyNSA
FEDFUNDSFed Funds RateFREDmacroCONTEXTmonthlyNSA
UNRATEUnemployment RateFREDmacroCONTEXTmonthlySA
PAYEMSNonfarm PayrollsFREDmacroCONTEXTmonthlySA
CPIAUCSLCPI (Headline)FREDmacroCONTEXTmonthlySA
PCEPILFECore PCE (Fed Target)FREDmacroCONTEXTmonthlySA
CPILFESLCore CPI (ex Food & Energy)FREDmacroCONTEXTmonthlySA
CPIHOSSLShelter CPIFREDmacroCONTEXTmonthlySA
FAF_OPEN_ORDERSFirst American Open Title OrdersSEC EDGARlaggingLAGS 1qquarterlyNSA
ORI_OPEN_ORDERSOld Republic Open Title OrdersSEC EDGARlaggingLAGS 1qquarterlyNSA
STC_OPEN_ORDERSStewart Open Title OrdersSEC EDGARlaggingLAGS 1qquarterlyNSA

Metro series — local view only (not in the national Health Index)

The 130 metro-level rows below power the Local page only. They do not flow into the national Health Index or any forecast horizon. They are listed for transparency about what we ingest, not as components of the national gauge.

CodeLabelSourceTierLead / LagFrequencySA
RDC_DOM_41700Realtor.com: Days on Market (San Antonio–New Braunfels, TX)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_DOM_35620Realtor.com: Days on Market (New York–Newark–Jersey City, NY-NJ-PA)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_DOM_31080Realtor.com: Days on Market (Los Angeles–Long Beach–Anaheim, CA)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_DOM_16980Realtor.com: Days on Market (Chicago–Naperville–Elgin, IL-IN-WI)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_DOM_19100Realtor.com: Days on Market (Dallas–Fort Worth–Arlington, TX)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_DOM_26420Realtor.com: Days on Market (Houston–The Woodlands–Sugar Land, TX)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_DOM_47900Realtor.com: Days on Market (Washington–Arlington–Alexandria, DC-VA-MD-WV)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_DOM_37980Realtor.com: Days on Market (Philadelphia–Camden–Wilmington, PA-NJ-DE-MD)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_DOM_33100Realtor.com: Days on Market (Miami–Fort Lauderdale–Pompano Beach, FL)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_DOM_12060Realtor.com: Days on Market (Atlanta–Sandy Springs–Alpharetta, GA)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_DOM_38060Realtor.com: Days on Market (Phoenix–Mesa–Chandler, AZ)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_DOM_14460Realtor.com: Days on Market (Boston–Cambridge–Newton, MA-NH)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_DOM_41860Realtor.com: Days on Market (San Francisco–Oakland–Berkeley, CA)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_DOM_40140Realtor.com: Days on Market (Riverside–San Bernardino–Ontario, CA)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_DOM_19820Realtor.com: Days on Market (Detroit–Warren–Dearborn, MI)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_DOM_42660Realtor.com: Days on Market (Seattle–Tacoma–Bellevue, WA)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_DOM_33460Realtor.com: Days on Market (Minneapolis–St. Paul–Bloomington, MN-WI)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_DOM_41740Realtor.com: Days on Market (San Diego–Chula Vista–Carlsbad, CA)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_DOM_45300Realtor.com: Days on Market (Tampa–St. Petersburg–Clearwater, FL)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_DOM_19740Realtor.com: Days on Market (Denver–Aurora–Lakewood, CO)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_DOM_41180Realtor.com: Days on Market (St. Louis, MO-IL)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_DOM_12580Realtor.com: Days on Market (Baltimore–Columbia–Towson, MD)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_DOM_16740Realtor.com: Days on Market (Charlotte–Concord–Gastonia, NC-SC)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_DOM_36740Realtor.com: Days on Market (Orlando–Kissimmee–Sanford, FL)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_DOM_12420Realtor.com: Days on Market (Austin–Round Rock–Georgetown, TX)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_DOM_39580Realtor.com: Days on Market (Raleigh–Cary, NC)Realtor.com ResearchcoincidentCOINCIDENTmonthlyNSA
RDC_NEW_LIST_41860Realtor.com: New Listings (San Francisco–Oakland–Berkeley, CA)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_NEW_LIST_12580Realtor.com: New Listings (Baltimore–Columbia–Towson, MD)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_NEW_LIST_38060Realtor.com: New Listings (Phoenix–Mesa–Chandler, AZ)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_NEW_LIST_19100Realtor.com: New Listings (Dallas–Fort Worth–Arlington, TX)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_NEW_LIST_31080Realtor.com: New Listings (Los Angeles–Long Beach–Anaheim, CA)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_NEW_LIST_40140Realtor.com: New Listings (Riverside–San Bernardino–Ontario, CA)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_NEW_LIST_41180Realtor.com: New Listings (St. Louis, MO-IL)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_NEW_LIST_37980Realtor.com: New Listings (Philadelphia–Camden–Wilmington, PA-NJ-DE-MD)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_NEW_LIST_26420Realtor.com: New Listings (Houston–The Woodlands–Sugar Land, TX)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_NEW_LIST_16980Realtor.com: New Listings (Chicago–Naperville–Elgin, IL-IN-WI)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_NEW_LIST_19820Realtor.com: New Listings (Detroit–Warren–Dearborn, MI)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_NEW_LIST_35620Realtor.com: New Listings (New York–Newark–Jersey City, NY-NJ-PA)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_NEW_LIST_16740Realtor.com: New Listings (Charlotte–Concord–Gastonia, NC-SC)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_NEW_LIST_41700Realtor.com: New Listings (San Antonio–New Braunfels, TX)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_NEW_LIST_39580Realtor.com: New Listings (Raleigh–Cary, NC)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_NEW_LIST_42660Realtor.com: New Listings (Seattle–Tacoma–Bellevue, WA)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_NEW_LIST_19740Realtor.com: New Listings (Denver–Aurora–Lakewood, CO)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_NEW_LIST_14460Realtor.com: New Listings (Boston–Cambridge–Newton, MA-NH)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_NEW_LIST_45300Realtor.com: New Listings (Tampa–St. Petersburg–Clearwater, FL)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_NEW_LIST_47900Realtor.com: New Listings (Washington–Arlington–Alexandria, DC-VA-MD-WV)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_NEW_LIST_33460Realtor.com: New Listings (Minneapolis–St. Paul–Bloomington, MN-WI)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_NEW_LIST_12420Realtor.com: New Listings (Austin–Round Rock–Georgetown, TX)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_NEW_LIST_12060Realtor.com: New Listings (Atlanta–Sandy Springs–Alpharetta, GA)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_NEW_LIST_36740Realtor.com: New Listings (Orlando–Kissimmee–Sanford, FL)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_NEW_LIST_33100Realtor.com: New Listings (Miami–Fort Lauderdale–Pompano Beach, FL)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_NEW_LIST_41740Realtor.com: New Listings (San Diego–Chula Vista–Carlsbad, CA)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_MEDIAN_PRICE_39580Realtor.com: Median Listing Price (Raleigh–Cary, NC)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
RDC_MEDIAN_PRICE_16740Realtor.com: Median Listing Price (Charlotte–Concord–Gastonia, NC-SC)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
RDC_MEDIAN_PRICE_45300Realtor.com: Median Listing Price (Tampa–St. Petersburg–Clearwater, FL)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
RDC_MEDIAN_PRICE_12580Realtor.com: Median Listing Price (Baltimore–Columbia–Towson, MD)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
RDC_MEDIAN_PRICE_19740Realtor.com: Median Listing Price (Denver–Aurora–Lakewood, CO)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
RDC_MEDIAN_PRICE_41180Realtor.com: Median Listing Price (St. Louis, MO-IL)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
RDC_MEDIAN_PRICE_38060Realtor.com: Median Listing Price (Phoenix–Mesa–Chandler, AZ)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
RDC_MEDIAN_PRICE_35620Realtor.com: Median Listing Price (New York–Newark–Jersey City, NY-NJ-PA)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
RDC_MEDIAN_PRICE_47900Realtor.com: Median Listing Price (Washington–Arlington–Alexandria, DC-VA-MD-WV)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
RDC_MEDIAN_PRICE_12420Realtor.com: Median Listing Price (Austin–Round Rock–Georgetown, TX)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
RDC_MEDIAN_PRICE_14460Realtor.com: Median Listing Price (Boston–Cambridge–Newton, MA-NH)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
RDC_MEDIAN_PRICE_19100Realtor.com: Median Listing Price (Dallas–Fort Worth–Arlington, TX)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
RDC_MEDIAN_PRICE_41860Realtor.com: Median Listing Price (San Francisco–Oakland–Berkeley, CA)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
RDC_MEDIAN_PRICE_33100Realtor.com: Median Listing Price (Miami–Fort Lauderdale–Pompano Beach, FL)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
RDC_MEDIAN_PRICE_40140Realtor.com: Median Listing Price (Riverside–San Bernardino–Ontario, CA)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
RDC_MEDIAN_PRICE_37980Realtor.com: Median Listing Price (Philadelphia–Camden–Wilmington, PA-NJ-DE-MD)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
RDC_MEDIAN_PRICE_16980Realtor.com: Median Listing Price (Chicago–Naperville–Elgin, IL-IN-WI)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
RDC_MEDIAN_PRICE_19820Realtor.com: Median Listing Price (Detroit–Warren–Dearborn, MI)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
RDC_MEDIAN_PRICE_41700Realtor.com: Median Listing Price (San Antonio–New Braunfels, TX)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
RDC_MEDIAN_PRICE_31080Realtor.com: Median Listing Price (Los Angeles–Long Beach–Anaheim, CA)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
RDC_MEDIAN_PRICE_42660Realtor.com: Median Listing Price (Seattle–Tacoma–Bellevue, WA)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
RDC_MEDIAN_PRICE_26420Realtor.com: Median Listing Price (Houston–The Woodlands–Sugar Land, TX)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
RDC_MEDIAN_PRICE_36740Realtor.com: Median Listing Price (Orlando–Kissimmee–Sanford, FL)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
RDC_MEDIAN_PRICE_41740Realtor.com: Median Listing Price (San Diego–Chula Vista–Carlsbad, CA)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
RDC_MEDIAN_PRICE_33460Realtor.com: Median Listing Price (Minneapolis–St. Paul–Bloomington, MN-WI)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
RDC_MEDIAN_PRICE_12060Realtor.com: Median Listing Price (Atlanta–Sandy Springs–Alpharetta, GA)Realtor.com ResearchcoincidentCONTEXTmonthlyNSA
RDC_PRICE_DROP_12060Realtor.com: Price-Drop Share (Atlanta–Sandy Springs–Alpharetta, GA)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_PRICE_DROP_37980Realtor.com: Price-Drop Share (Philadelphia–Camden–Wilmington, PA-NJ-DE-MD)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_PRICE_DROP_33100Realtor.com: Price-Drop Share (Miami–Fort Lauderdale–Pompano Beach, FL)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_PRICE_DROP_41700Realtor.com: Price-Drop Share (San Antonio–New Braunfels, TX)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_PRICE_DROP_38060Realtor.com: Price-Drop Share (Phoenix–Mesa–Chandler, AZ)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_PRICE_DROP_14460Realtor.com: Price-Drop Share (Boston–Cambridge–Newton, MA-NH)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_PRICE_DROP_12420Realtor.com: Price-Drop Share (Austin–Round Rock–Georgetown, TX)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_PRICE_DROP_41860Realtor.com: Price-Drop Share (San Francisco–Oakland–Berkeley, CA)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_PRICE_DROP_40140Realtor.com: Price-Drop Share (Riverside–San Bernardino–Ontario, CA)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_PRICE_DROP_19820Realtor.com: Price-Drop Share (Detroit–Warren–Dearborn, MI)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_PRICE_DROP_42660Realtor.com: Price-Drop Share (Seattle–Tacoma–Bellevue, WA)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_PRICE_DROP_33460Realtor.com: Price-Drop Share (Minneapolis–St. Paul–Bloomington, MN-WI)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_PRICE_DROP_39580Realtor.com: Price-Drop Share (Raleigh–Cary, NC)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_PRICE_DROP_41740Realtor.com: Price-Drop Share (San Diego–Chula Vista–Carlsbad, CA)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_PRICE_DROP_45300Realtor.com: Price-Drop Share (Tampa–St. Petersburg–Clearwater, FL)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_PRICE_DROP_19740Realtor.com: Price-Drop Share (Denver–Aurora–Lakewood, CO)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_PRICE_DROP_35620Realtor.com: Price-Drop Share (New York–Newark–Jersey City, NY-NJ-PA)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_PRICE_DROP_41180Realtor.com: Price-Drop Share (St. Louis, MO-IL)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_PRICE_DROP_12580Realtor.com: Price-Drop Share (Baltimore–Columbia–Towson, MD)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_PRICE_DROP_16740Realtor.com: Price-Drop Share (Charlotte–Concord–Gastonia, NC-SC)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_PRICE_DROP_36740Realtor.com: Price-Drop Share (Orlando–Kissimmee–Sanford, FL)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_PRICE_DROP_31080Realtor.com: Price-Drop Share (Los Angeles–Long Beach–Anaheim, CA)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_PRICE_DROP_16980Realtor.com: Price-Drop Share (Chicago–Naperville–Elgin, IL-IN-WI)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_PRICE_DROP_19100Realtor.com: Price-Drop Share (Dallas–Fort Worth–Arlington, TX)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_PRICE_DROP_26420Realtor.com: Price-Drop Share (Houston–The Woodlands–Sugar Land, TX)Realtor.com ResearchleadingLEADINGmonthlyNSA
RDC_PRICE_DROP_47900Realtor.com: Price-Drop Share (Washington–Arlington–Alexandria, DC-VA-MD-WV)Realtor.com ResearchleadingLEADINGmonthlyNSA
FRED_HPI_41740FRED: All-Transactions Home Price Index (San Diego–Chula Vista–Carlsbad, CA)FREDcoincidentCONTEXTquarterlyNSA
FRED_HPI_16740FRED: All-Transactions Home Price Index (Charlotte–Concord–Gastonia, NC-SC)FREDcoincidentCONTEXTquarterlyNSA
FRED_HPI_45300FRED: All-Transactions Home Price Index (Tampa–St. Petersburg–Clearwater, FL)FREDcoincidentCONTEXTquarterlyNSA
FRED_HPI_39580FRED: All-Transactions Home Price Index (Raleigh–Cary, NC)FREDcoincidentCONTEXTquarterlyNSA
FRED_HPI_47900FRED: All-Transactions Home Price Index (Washington–Arlington–Alexandria, DC-VA-MD-WV)FREDcoincidentCONTEXTquarterlyNSA
FRED_HPI_33460FRED: All-Transactions Home Price Index (Minneapolis–St. Paul–Bloomington, MN-WI)FREDcoincidentCONTEXTquarterlyNSA
FRED_HPI_42660FRED: All-Transactions Home Price Index (Seattle–Tacoma–Bellevue, WA)FREDcoincidentCONTEXTquarterlyNSA
FRED_HPI_26420FRED: All-Transactions Home Price Index (Houston–The Woodlands–Sugar Land, TX)FREDcoincidentCONTEXTquarterlyNSA
FRED_HPI_19820FRED: All-Transactions Home Price Index (Detroit–Warren–Dearborn, MI)FREDcoincidentCONTEXTquarterlyNSA
FRED_HPI_33100FRED: All-Transactions Home Price Index (Miami–Fort Lauderdale–Pompano Beach, FL)FREDcoincidentCONTEXTquarterlyNSA
FRED_HPI_31080FRED: All-Transactions Home Price Index (Los Angeles–Long Beach–Anaheim, CA)FREDcoincidentCONTEXTquarterlyNSA
FRED_HPI_36740FRED: All-Transactions Home Price Index (Orlando–Kissimmee–Sanford, FL)FREDcoincidentCONTEXTquarterlyNSA
FRED_HPI_40140FRED: All-Transactions Home Price Index (Riverside–San Bernardino–Ontario, CA)FREDcoincidentCONTEXTquarterlyNSA
FRED_HPI_41700FRED: All-Transactions Home Price Index (San Antonio–New Braunfels, TX)FREDcoincidentCONTEXTquarterlyNSA
FRED_HPI_16980FRED: All-Transactions Home Price Index (Chicago–Naperville–Elgin, IL-IN-WI)FREDcoincidentCONTEXTquarterlyNSA
FRED_HPI_12420FRED: All-Transactions Home Price Index (Austin–Round Rock–Georgetown, TX)FREDcoincidentCONTEXTquarterlyNSA
FRED_HPI_41860FRED: All-Transactions Home Price Index (San Francisco–Oakland–Berkeley, CA)FREDcoincidentCONTEXTquarterlyNSA
FRED_HPI_14460FRED: All-Transactions Home Price Index (Boston–Cambridge–Newton, MA-NH)FREDcoincidentCONTEXTquarterlyNSA
FRED_HPI_37980FRED: All-Transactions Home Price Index (Philadelphia–Camden–Wilmington, PA-NJ-DE-MD)FREDcoincidentCONTEXTquarterlyNSA
FRED_HPI_19100FRED: All-Transactions Home Price Index (Dallas–Fort Worth–Arlington, TX)FREDcoincidentCONTEXTquarterlyNSA
FRED_HPI_38060FRED: All-Transactions Home Price Index (Phoenix–Mesa–Chandler, AZ)FREDcoincidentCONTEXTquarterlyNSA
FRED_HPI_12060FRED: All-Transactions Home Price Index (Atlanta–Sandy Springs–Alpharetta, GA)FREDcoincidentCONTEXTquarterlyNSA
FRED_HPI_41180FRED: All-Transactions Home Price Index (St. Louis, MO-IL)FREDcoincidentCONTEXTquarterlyNSA
FRED_HPI_19740FRED: All-Transactions Home Price Index (Denver–Aurora–Lakewood, CO)FREDcoincidentCONTEXTquarterlyNSA
FRED_HPI_35620FRED: All-Transactions Home Price Index (New York–Newark–Jersey City, NY-NJ-PA)FREDcoincidentCONTEXTquarterlyNSA
FRED_HPI_12580FRED: All-Transactions Home Price Index (Baltimore–Columbia–Towson, MD)FREDcoincidentCONTEXTquarterlyNSA
Methodology mirrors the production code in src/lib/compute-health-index.server.ts, src/lib/forecast/compute.server.ts, src/lib/forecast/backtest.server.ts, and src/lib/forecast/score.server.ts. Constants quoted above are the current values; when they change, this page changes with them.