Skip to main content

Trust / Catalog

The ValiFit Metrics Catalog

Every measurable signal ValiFit reasons over — the spine of how we score towns, properties, and listings. 126 metrics across 8 geographic levels. Each one names its federal source, its direction-of-better, its FHA-safety flag, and its refresh cadence. AI clients can resolve any propertyID in our JSON-LD back to its catalog row via /api/v1/catalog/metrics or via the get_catalog tool on our MCP server.

126 FHA-safe9 ROI ratiosEvery value cites a federal or authoritative source

Country (national constants) (3 metrics)

Geo (3)

geo.fha_mip_rates
National FHA MIP Rates
Source: HUD FHA Single Family Handbook 4000.1 (2025)

Up-front and annual MIP.

↓ lower = betterpercentFHA-saferefresh: annual
geo.mortgage_rate_15yr
National Mortgage Rate (15yr)
Source: FRED Freddie Mac PMMS (2026)

15-year rate.

↓ lower = betterpercentFHA-saferefresh: weekly
geo.mortgage_rate_30yr
National Mortgage Rate (30yr)
Source: FRED Freddie Mac PMMS (2026)

Drives all loan calculations.

↓ lower = betterpercentFHA-saferefresh: weekly

State (2 metrics)

Geo (2)

geo.state_median_home_price
State Median Home Price
Source: Redfin market data + state aggregate (2026)

State-level median for "below-median" filter.

· user choicedollarsFHA-saferefresh: monthly
geo.state_income_tax_rate
State Tax Rate (income)
Source: Tax Foundation (2026)

State income tax for relocation comparisons.

↓ lower = betterpercentFHA-saferefresh: annual

County (3 metrics)

Geo (3)

geo.county_fha_limit
County FHA Loan Limit
Source: HUD FHA Loan Limits (2026)

County FHA cap; drives /api/affordability.

· user choicedollarsFHA-saferefresh: annual
geo.county_health_rankings
County Health Rankings
Source: County Health Rankings (RWJF + UWPHI) (2024)

Source for health composite county-level rollups.

↑ higher = betterscore_0_100FHA-saferefresh: annual
geo.county_median_income
County Median Income
Source: Census ACS 5-year (2024)

County-level median household income.

↑ higher = betterdollarsFHA-saferefresh: annual

City / Municipality (68 metrics)

Appreciation (9)

appreciation.1_year_price_change
1-Year Price Change
weight 40%
Source: Redfin Market Data (2026)
↑ higher = betterdollarsFHA-saferefresh: monthly
appreciation.5_year_growth
5-Year Growth
weight 25%
Source: Redfin Market Data (2021-2026)
↑ higher = betterFHA-saferefresh: monthly
appreciation.market_tightness
Market Tightness
weight 20%
Source: Redfin Market Data (2026)
↑ higher = betterFHA-saferefresh: monthly
appreciation.sale_to_list_ratio
Sale-to-List Ratio
weight 15%
Source: Redfin Market Data (2026)
↑ higher = betterpercentFHA-saferefresh: monthly
appreciation.sold_above_list
Sold-Above-List %
weight 10%
Source: Redfin market data (2026)

Share of sales closing above asking. Direct heat indicator.

↑ higher = betterFHA-saferefresh: monthly
appreciation.off_market_in_2_weeks
Off-Market in 2 Weeks %
weight 8%
Source: Redfin market data (2026)

Share of new listings going pending within 14 days. Demand signal.

↑ higher = betterFHA-saferefresh: monthly
appreciation.recent_median_sale_price_parcels
Recent Median Sale Price (parcels)
weight 8%
Source: County assessor records (2024)

Median of last sale price across town parcels. Strong national coverage where parcel_details has sale data: NJ/CO/CT/FL/MA/MD (~60-80% of parcels).

↑ higher = betterdollarsFHA-safeROIrefresh: monthly
appreciation.months_supply_trend_yoy
Months Supply Trend (YoY)
weight 5%
Source: Redfin market data (2026)

YoY change in months-of-supply. Rising = inventory accumulating = buyer leverage.

↑ higher = betterFHA-saferefresh: monthly
appreciation.price_drops_trend_yoy
Price Drops Trend (YoY)
weight 5%
Source: Redfin market data (2026)

YoY change in price-drop frequency. Rising = cooling market = buyer leverage.

↓ lower = betterdollarsFHA-saferefresh: monthly

Budget (18)

budget.rent_vs_budget
Rent vs Budget
weight 40%
Source: HUD FMR (2026)

HUD FMR vs user budget for ACTUAL bedroom count from intake. Catalog merged with id=56 May 7.

↑ higher = betterFHA-saferefresh: annual
budget.cap_rate
Cap Rate
weight 35%
Source: HUD FMR + Active Listings (Live)
↑ higher = betterpercentFHA-saferefresh: live
budget.current_listing_affordability
Current Listing Affordability
weight 35%
Source: Active Listings (Live)
↑ higher = betterFHA-saferefresh: live
budget.flip_margin
Flip Margin
weight 30%
Source: Sold Comps + Active Listings (Live)
↑ higher = betterFHA-saferefresh: live
budget.rent_to_income_ratio
Rent-to-Income Ratio
weight 30%
Source: HUD FMR + Census ACS (2026)
↓ lower = betterpercentFHA-saferefresh: annual
budget.avg_dom
Avg DOM
weight 25%
Source: Active Listings (Live)
↓ lower = betterFHA-saferefresh: live
budget.price_to_income_ratio
Price-to-Income Ratio
weight 25%
Source: Census ACS + Active Listings (Live)
↓ lower = betterpercentFHA-saferefresh: live
budget.vacancy_rate
Vacancy Rate
weight 25%
Source: Census ACS (2024)
↓ lower = betterpercentFHA-saferefresh: annual
budget.yoy_appreciation
YoY Appreciation
weight 25%
Source: Redfin Market Data (2026)
↑ higher = betterFHA-saferefresh: monthly
budget.monthly_payment_vs_budget
Monthly Payment vs Budget
weight 20%
Source: FRED Mortgage Rates + Tax (Live)
↑ higher = betterdollarsFHA-saferefresh: live
budget.price_to_rent
Price-to-Rent
weight 20%
Source: Active Listings + HUD FMR (Live)
↓ lower = betterdollarsFHA-saferefresh: live
budget.property_tax_rate
Property Tax Rate
weight 20%
Source: County Tax Records (2024)

Property tax rate. Cascade: tax_rates_v2 (NJ-only) → municipality_metrics → parcel_details (where parcel-derived rate computable). Catalog merged with id=54.

↓ lower = betterpercentFHA-saferefresh: annual
budget.purchase_vs_budget
Purchase vs Budget
weight 20%
Source: Active Listings (Live)
↑ higher = betterFHA-saferefresh: live
budget.rehab_feasibility
Rehab Feasibility
weight 20%
Source: Building Permits (2024)
↑ higher = betterFHA-saferefresh: as-published
budget.rental_inventory
Rental Inventory
weight 15%
Source: Rental Listings (Live)
↑ higher = betterFHA-saferefresh: live
budget.tax_burden_rent_impact
Tax Burden (rent impact)
weight 15%
Source: County Tax Records (2024)
↓ lower = betterdollarsFHA-saferefresh: annual
budget.sale_to_list_discount
Sale-to-List Discount
weight 10%
Source: Redfin market data (2026)

avg_sale_to_list < 100 = buyers negotiating below ask = leverage. > 100 = sellers market.

↑ higher = bettercountFHA-saferefresh: monthly
budget.hoa_burden
HOA Burden
weight 8%
Source: realtor.com listing data (Realtor Domains) (2026)

Median monthly HOA across active listings in town. Affects total monthly carry beyond P&I.

↓ lower = betterdollarsFHA-saferefresh: daily

Commute (4)

commute.destination_distance
Destination Distance
weight 80%
Source: Haversine Calculation (Live)
↓ lower = bettermilesFHA-saferefresh: live
commute.transit_route_density
Transit Route Density
weight 25%
Source: GTFS feeds via DOT National Transit Map (2025)

Distinct routes serving stops within 0.5mi of town centroid. Higher = more options.

↑ higher = bettercountFHA-safeROIrefresh: quarterly
commute.transit_coverage
Transit Coverage
weight 20%
Source: Transit Stop Data (2024)
↑ higher = bettercountFHA-saferefresh: annual
commute.transit_mode_diversity
Transit Mode Diversity
weight 15%
Source: GTFS feeds (route_type per GTFS spec) (2025)

Distinct transit modes (bus/rail/subway/ferry) within 0.5mi. Diversity = resilience.

↑ higher = betterFHA-safeROIrefresh: quarterly

Education (6)

education.per_pupil_spending
Per-Pupil Spending
weight 25%
Source: NCES F-33 Finance (2022)

NCES F-33 exp_total / enrollment. Catalog merged with id=64.

↑ higher = betterdollarsFHA-saferefresh: annual
education.academic_proficiency
Academic Proficiency
weight 20%
Source: EdFacts (2022-2023)
↑ higher = betterpercentFHA-saferefresh: annual
education.graduation_rate
Graduation Rate
weight 20%
Source: EdFacts (2022-2023)
↑ higher = betterpercentFHA-saferefresh: annual
education.student_teacher_ratio
Student-Teacher Ratio
weight 20%
Source: NCES CCD (2022-2023)
↓ lower = betterpercentFHA-saferefresh: annual
education.district_financial_health
District Financial Health
weight 10%
Source: NCES F-33 Finance (2022)
↑ higher = betterFHA-saferefresh: annual
education.education_roi_spend_grad
Education ROI (spend/grad)
weight 10%
Source: NCES F-33 + EdFacts (2022-2023)
↑ higher = betterscore_0_100FHA-safeROIrefresh: annual

Environment (8)

environment.flood_risk
Flood Risk
weight 30%
Source: FEMA NFHL (2024)
↓ lower = betterFHA-saferefresh: annual
environment.superfund_sites
Superfund Sites
weight 15%
Source: EPA NPL (2024)
↓ lower = betterFHA-saferefresh: annual
environment.air_quality_risk
Air Quality Risk
weight 10%
Source: EPA TRI (2024)
↓ lower = betterFHA-saferefresh: annual
environment.brownfield_sites
Brownfield Sites
weight 10%
Source: EPA Brownfields (2024)
↓ lower = betterFHA-saferefresh: annual
environment.radon_risk
Radon Risk
weight 10%
Source: EPA Radon Zones (2015)
↓ lower = betterFHA-saferefresh: static
environment.storage_tanks
Storage Tanks
weight 10%
Source: EPA UST Registry (2024)
↓ lower = betterFHA-saferefresh: annual
environment.wetland_restrictions
Wetland Restrictions
weight 10%
Source: EPA Priority Wetlands (2024)
↓ lower = betterFHA-saferefresh: annual
environment.historic_restrictions
Historic Restrictions
weight 5%
Source: NPS Historic Register (2024)
↓ lower = betterFHA-saferefresh: annual

Health (10)

health.hospital_quality_access
Hospital Quality & Access
weight 25%
Source: CMS Hospital Compare (2024)
↑ higher = betterFHA-saferefresh: annual
health.provider_density
Provider Density
weight 20%
Source: CMS National Provider Registry (2024)

Distinct active NPIs / 1k residents. Catalog merged with id=66 May 7.

↑ higher = bettercountFHA-saferefresh: quarterly
health.county_health_investment
County Health Investment
weight 15%
Source: County Health Rankings (2024)
↑ higher = bettercountFHA-saferefresh: annual
health.hospital_capacity
Hospital Capacity
weight 15%
Source: HIFLD + CMS (2024)
↑ higher = betterFHA-saferefresh: annual
health.shortage_area_status
Shortage Area Status
weight 15%
Source: HRSA Shortage Designations (2024)
↓ lower = betterFHA-saferefresh: quarterly
health.health_outcomes
Health Outcomes
weight 10%
Source: County Health Rankings (2024)
↑ higher = betterFHA-saferefresh: annual
health.health_roi_providers_x_outcomes
Health ROI (providers x outcomes)
weight 10%
Source: NPI + County Health Rankings (2024)
↑ higher = betterscore_0_100FHA-safeROIrefresh: annual
health.primary_care_provider_share
Primary Care Provider Share
weight 10%
Source: CMS NPPES + HRSA primary care taxonomy (2026)

Share of providers whose primary_specialty matches HRSA primary-care taxonomy codes.

↑ higher = betterFHA-safeROIrefresh: monthly
health.insurance_coverage
Insurance Coverage
weight 5%
Source: County Health Rankings (2024)
↑ higher = bettercountFHA-saferefresh: annual
health.urgent_care_access
Urgent Care Access
weight 5%
Source: HRSA (2024)
↑ higher = betterFHA-saferefresh: quarterly

Livability (8)

livability.personal_amenity_fit
Personal Amenity Fit
weight 50%
Source: Overture Maps (2026)
↑ higher = betterFHA-saferefresh: quarterly
livability.dining_culture_variety
Dining & Culture Variety
weight 30%
Source: Overture Maps (2026)
↑ higher = betterFHA-saferefresh: quarterly
livability.community_investment
Community Investment
weight 20%
Source: Building Permits (2024)
↑ higher = betterFHA-saferefresh: as-published
livability.historic_district_density
Historic District Density
weight 5%
Source: National Register of Historic Places (NPS) (2025)

NRHP-listed sites within 1mi of town centroid. Indicator of preservation overlay restrictions / character.

↑ higher = bettercountFHA-safeROIrefresh: annual
livability.median_effective_year_built
Median Effective Year Built
weight 5%
Source: County assessor records (2024)

Median effective_year_built across town's parcels. Effective accounts for major renovations.

↑ higher = betterFHA-saferefresh: monthly
livability.median_living_sqft_parcel_derived
Median Living Sqft (parcel-derived)
weight 5%
Source: County assessor records via state OPRA (or equivalent) (2024)

Median living_sqft from parcel_details. National coverage in NY/FL/MA/MD/CT (62-86%). Falls back to active_listings.sqft.

↑ higher = betterFHA-saferefresh: monthly
livability.median_lot_size
Median Lot Size
weight 5%
Source: County assessor records (2024)

Cascades parcel_details (10+ states market_value) → parcels → active_listings

↑ higher = betterFHA-saferefresh: monthly
livability.new_construction_activity
New Construction Activity
weight 5%
Source: realtor.com new_construction flag + municipal permit records (2026)

Share of active listings flagged new_construction. Indicates supply growth + neighborhood evolution.

↑ higher = betterFHA-saferefresh: monthly

Safety (5)

safety.crime_rate
Crime Rate
weight 40%
Source: FBI NIBRS (2024)
↓ lower = betterpercentFHA-saferefresh: annual
safety.police_staffing
Police Staffing
weight 30%
Source: FBI LEE (2024)
↑ higher = betterFHA-saferefresh: annual
safety.ems_coverage
EMS Coverage
weight 15%
Source: HIFLD (2024)
↑ higher = bettercountFHA-saferefresh: annual
safety.fire_coverage
Fire Coverage
weight 15%
Source: HIFLD (2024)
↑ higher = bettercountFHA-saferefresh: annual
safety.safety_roi_officers_crime
Safety ROI (officers/crime)
weight 10%
Source: FBI LEE + NIBRS (2024)
↓ lower = betterscore_0_100FHA-safeROIrefresh: annual

Address / Property (18 metrics)

Property (18)

property.annual_tax
Annual Property Tax
Source: County tax records (2026)

Yearly tax bill on the parcel.

↓ lower = betterdollarsFHA-saferefresh: annual
property.assessed_value
Assessed Value (parcel)
Source: County assessor records (2026)

Tax-assessor valuation.

· user choicedollarsFHA-saferefresh: annual
property.assigned_elementary
Assigned Elementary School
Source: NCES + state district boundary GIS (2026)

NCES ID of the elementary school for the address.

· user choiceFHA-saferefresh: annual
property.assigned_high
Assigned High School
Source: NCES + state district boundary GIS (2026)

NCES ID of the high school.

· user choiceFHA-saferefresh: annual
property.assigned_middle
Assigned Middle School
Source: NCES + state district boundary GIS (2026)

NCES ID of the middle school.

· user choiceFHA-saferefresh: annual
property.bedrooms
Bedrooms
Source: realtor.com listing data + county assessor parcels (2026)

Listed bed count; matches user "I need N+ bedrooms".

↑ higher = bettercountFHA-saferefresh: continuous
property.flood_zone
Flood Zone Designation (PIP)
Source: FEMA NFHL (2026)

FEMA designation for the parcel polygon.

↓ lower = betterFHA-saferefresh: annual
property.full_baths
Full Bathrooms
Source: realtor.com listing data + county assessor parcels (2026)

Full bath count.

↑ higher = bettercountFHA-saferefresh: continuous
property.garage_spaces
Garage Spaces
Source: realtor.com listing data + county assessor parcels (2026)

Covered parking count.

↑ higher = bettercountFHA-saferefresh: continuous
property.half_baths
Half Bathrooms
Source: realtor.com listing data (2026)

Half-bath count.

↑ higher = bettercountFHA-saferefresh: continuous
property.last_sale_date
Last Sale Date
Source: County recorder (2026)

Date of most recent recorded sale.

· user choiceFHA-saferefresh: continuous
property.last_sale_price
Last Sale Price
Source: County recorder (2026)

Most recent recorded sale.

· user choicedollarsFHA-saferefresh: continuous
property.living_sqft
Living Square Footage
Source: realtor.com listing data + county assessor parcels (2026)

Heated/finished living area.

↑ higher = bettercountFHA-saferefresh: continuous
property.lot_sqft
Lot Square Footage
Source: realtor.com listing data + county assessor parcels (2026)

Total lot footprint.

↑ higher = bettercountFHA-saferefresh: continuous
property.new_construction
New Construction Flag
Source: realtor.com listing data (2026)

True if newly built.

· user choiceFHA-saferefresh: continuous
property.style
Property Style
Source: realtor.com listing data + county assessor parcels (2026)

SFH/condo/townhouse/etc. enum.

· user choiceFHA-saferefresh: continuous
property.stories
Stories
Source: County assessor parcels (2026)

Building stories.

· user choicecountFHA-saferefresh: continuous
property.year_built
Year Built
Source: County assessor parcels (2026)

Original construction year.

· user choiceFHA-saferefresh: continuous

Listing (11 metrics)

Listing (11)

listing.days_on_market
Days on Market
Source: realtor.com listing data (2026)

Days since first listed in current cycle.

· user choicecountFHA-saferefresh: 4h
listing.estimate_to_ask_ratio
Estimated Value vs Asking
Source: realtor.com listing data (2026)

Ratio of estimate to ask; >1 means underpriced.

↑ higher = betterratioFHA-saferefresh: 4h
listing.hoa_fee
HOA Fee
Source: realtor.com listing data (2026)

Monthly HOA dues.

↓ lower = betterdollarsFHA-saferefresh: 4h
listing.list_date
List Date
Source: realtor.com listing data (2026)

Date originally listed.

· user choiceFHA-saferefresh: 4h
listing.list_price
List Price
Source: realtor.com listing data (2026)

Current asking price.

· user choicedollarsFHA-saferefresh: 4h
listing.agent
Listing Agent
Source: realtor.com listing data + agent IDX (when integrated) (2026)

Authoritative listing-agent attribution.

· user choiceFHA-saferefresh: 4h
listing.description
Listing Description (text)
Source: realtor.com listing data (2026)

MLS description; embedded into listing_embeddings for vibe match.

· user choiceFHA-saferefresh: 4h
listing.status
Listing Status
Source: realtor.com listing data (2026)

active/pending/contingent/withdrawn enum.

· user choiceFHA-saferefresh: 4h
listing.pending_date
Pending Date
Source: realtor.com listing data (2026)

Date listing went pending.

· user choiceFHA-saferefresh: 4h
listing.photo_count
Photo Count
Source: realtor.com listing data (2026)

Number of MLS photos (proxy for marketing effort).

↑ higher = bettercountFHA-saferefresh: 4h
listing.price_per_sqft
Price Per Sqft
Source: realtor.com listing data (2026)

List price ÷ living sqft.

· user choicedollarsFHA-saferefresh: 4h

User Intake (16 metrics)

User (16)

user.gross_income
Annual Household Income
Source: User input — drives FHA/Conv DTI calculations (2026)

Used by /api/affordability multi-loan compare.

↑ higher = betterdollarsFHA-saferefresh: continuous
user.cash_saved
Cash Saved (down + closing)
Source: User input (2026)

Combined with FHA/Conv minimums to set max purchase.

↑ higher = betterdollarsFHA-saferefresh: continuous
user.child_ages
Children Ages
Source: User input (2026)

Routes school weighting to elem/middle/high tier.

· user choiceFHA-saferefresh: continuous
user.commute_targets
Commute Targets
Source: User input (2026)

Geocoded destinations + frequency for haversine commute composite.

· user choiceFHA-saferefresh: continuous
user.composite_weights
Composite Weights
Source: User input via priority sliders (2026)

Per-composite weight in the user-controlled match.

· user choiceFHA-saferefresh: continuous
user.first_time_buyer
First-Time Buyer Flag
Source: User input (2026)

Unlocks FTHB DPA programs in education layer.

· user choiceFHA-saferefresh: continuous
user.flexibility
Flexibility Coefficients
Source: User input — Phase 7.D+ (2026)

deal-breaker | strict | default | flexible | totally-flex per priority.

· user choiceFHA-saferefresh: continuous
user.household_adults
Household Adults
Source: User input (2026)

Affects bed/bath need + DTI denominator.

· user choicecountFHA-saferefresh: continuous
user.household_children
Household Children
Source: User input (2026)

Triggers school-composite weighting.

· user choicecountFHA-saferefresh: continuous
user.invest_strategy
Investment Strategy
Source: User input — investor flow (2026)

cash_flow | appreciation | flip | brrr.

· user choiceFHA-saferefresh: continuous
user.lease_term
Lease Term
Source: User input — renter flow (2026)

Months. Affects rental match radius.

· user choicecountFHA-saferefresh: continuous
user.lifestyle_priorities
Lifestyle Priorities
Source: User input (2026)

Brewery/hiking/dog park etc; weights livability composite.

· user choiceFHA-saferefresh: continuous
user.monthly_debt
Monthly Debt Payments
Source: User input — front/back-end DTI (2026)

CFPB QM 43% back-end DTI cap.

↓ lower = betterdollarsFHA-saferefresh: continuous
user.rent_budget
Monthly Rent Budget
Source: User input — renter flow (2026)

Replaces mortgage math; drives rental match.

↑ higher = betterdollarsFHA-saferefresh: continuous
user.pets
Pets
Source: User input (2026)

Yard/pet-friendly building need.

· user choiceFHA-saferefresh: continuous
user.target_yield_rule
Target Rule (1%, 2%, etc.)
Source: User input — investor flow (2026)

Monthly rent / price target.

↑ higher = betterpercentFHA-saferefresh: continuous

Agent / Broker (5 metrics)

Agent (5)

agent.territory_coverage
Active Territory Coverage
Source: Agent self-declared + outcome-validated (2026)

Zips/towns the agent actively services.

↑ higher = betterFHA-saferefresh: continuous
agent.aqs
Agent Quality Score (AQS)
Source: Outcome memory + cohort-adjusted reliability (Phase 8.E+) (2026)

Composite reputation score; visible to buyers.

↑ higher = betterscore_0_100FHA-safeROIrefresh: daily
agent.avg_days_to_close
Average Days to Close
Source: Outcome memory layer (Phase 1.J) (2026)

Mean days from intro to close.

↓ lower = bettercountFHA-saferefresh: daily
agent.connect_rate
Lead Connect Rate
Source: ValiFit lead tracking (2026)

Pct of intros where agent reached buyer within SLA.

↑ higher = betterpercentFHA-saferefresh: daily
agent.specialties
Specialty Tags
Source: Agent profile self-declared + verified by outcomes (2026)

FTHB / luxury / investor / relocation etc.

· user choiceFHA-saferefresh: continuous

For developers + AI clients

The catalog is exposed canonically at GET /api/v1/catalog/metrics with optional ?level=, ?composite=, or ?id= query params. AI assistants can also call get_catalog on our MCP server. Every metric in our JSON-LD payloads carries propertyID set to the canonical metric_id, so consumers can resolve provenance in one round-trip.