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. 369 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.

367 FHA-safe24 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 (136 metrics)

Appreciation (30)

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
market.median_sale_price
Median Sale Price
weight 8%
Source: Redfin Market Data (2026)

Median price of homes that closed during the period

· user choicedollarsFHA-saferefresh: monthly
market.median_sale_price_yoy
Median Sale Price YoY %
weight 8%
Source: Redfin Market Data (2026)

Year-over-year % change in median sale price

· user choicepercentFHA-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
market.months_of_supply
Months of Supply
weight 7%
Source: Redfin Market Data (2026)

Months to clear inventory at current sales pace. <4 = sellers market, >6 = buyers market.

· user choicemonthsFHA-saferefresh: monthly
market.median_dom
Median Days on Market
weight 6%
Source: Redfin Market Data (2026)

Median time from list to pending. Low = hot market.

↓ lower = betterdaysFHA-saferefresh: monthly
market.median_ppsf_yoy
Median Sold PPSF YoY %
weight 6%
Source: Redfin Market Data (2026)
· user choicepercentFHA-saferefresh: monthly
market.median_ppsf
Median Sold Price per Sqft
weight 6%
Source: Redfin Market Data (2026)

Median sale price per square foot — best size-normalized price comparison

· user choicedollars_per_sqftFHA-saferefresh: monthly
market.inventory
Active Inventory (homes)
weight 5%
Source: Redfin Market Data (2026)

Total homes for sale at end of period

· user choicecountFHA-saferefresh: monthly
market.median_list_price
Median List Price
weight 5%
Source: Redfin Market Data (2026)

Median price of homes newly listed during the period

· user choicedollarsFHA-saferefresh: monthly
market.median_list_price_yoy
Median List Price YoY %
weight 5%
Source: Redfin Market Data (2026)
· user choicepercentFHA-saferefresh: 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
market.homes_sold
Homes Sold (period)
weight 4%
Source: Redfin Market Data (2026)
· user choicecountFHA-saferefresh: monthly
market.homes_sold_yoy
Homes Sold YoY %
weight 4%
Source: Redfin Market Data (2026)
· user choicepercentFHA-saferefresh: monthly
market.price_drops_pct
Listings with Price Drops %
weight 4%
Source: Redfin Market Data (2026)

% of active listings that had a price reduction during the period — buyer-leverage signal

· user choicepercentFHA-saferefresh: monthly
market.median_list_ppsf
Median Listed Price per Sqft
weight 4%
Source: Redfin Market Data (2026)
· user choicedollars_per_sqftFHA-saferefresh: monthly
market.new_listings
New Listings (period)
weight 4%
Source: Redfin Market Data (2026)

Supply-side flow indicator

· user choicecountFHA-saferefresh: monthly
market.new_listings_yoy
New Listings YoY %
weight 4%
Source: Redfin Market Data (2026)
· user choicepercentFHA-saferefresh: monthly
market.pending_sales
Pending Sales (period)
weight 3%
Source: Redfin Market Data (2026)

Forward-looking demand indicator

· user choicecountFHA-saferefresh: monthly
town.median_home_price
Median Home Price (town)
Source: Redfin market data + state aggregate (2026)

Most-recent town-level median sale price; falls back to state aggregate if town volume too low

· user choicedollarsFHA-saferefresh: monthly
market.parent_metro
Parent Metro Region
Source: Redfin Market Data (2026)

CBSA name + metro code containing the city

· user choicetextFHA-saferefresh: monthly
market.period_begin
Period Begin Date
Source: Redfin Market Data (2026)

Start of the data period (typically a month or 28-day rolling)

· user choicedateFHA-saferefresh: monthly
market.region_type
Redfin Region Type
Source: Redfin Market Data (2026)

city / county / metro / state / national

· user choicetextFHA-saferefresh: monthly
market.is_seasonally_adjusted
Seasonally Adjusted
Source: Redfin Market Data (2026)
· user choicebooleanFHA-saferefresh: monthly

Budget (22)

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
town.annual_tax_on_median
Annual Tax on Median Home
Source: County Tax Records (2026)

Tax bill on a median-priced home in this town

· user choicedollarsFHA-saferefresh: annual
town.hud_fmr_2br
HUD FMR 2-Bedroom
Source: HUD FMR (2026)

HUD-published Fair Market Rent for 2-bedroom unit in this metro area

· user choicedollarsFHA-saferefresh: annual
town.median_rent
Median Rent (town)
Source: HUD FMR + Census ACS (2026)

Median monthly gross rent (Census ACS B25064)

· user choicedollarsFHA-saferefresh: annual
town.property_tax_rate
Property Tax Rate (effective)
Source: County Tax Records (2026)

Effective rate as % of market value (NJ-style, normalized for assessment ratio)

↓ lower = betterpercent_or_decimalFHA-saferefresh: annual

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

Demographics (2)

demographics.median_household_income
Median Household Income
Source: Census ACS (2026)

Census ACS B19013 — used in budget composite + price-to-income ratio

· user choicedollarsFHA-saferefresh: annual
town.population
Total Population
Source: Census ACS (2026)

Total resident population (ACS B01001 1-year for places ≥65k, 5-year otherwise)

· user choicecountFHA-saferefresh: annual

Education (16)

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
town.education_data_year
Education Data Vintage Year
Source: NCES + EdFacts (2026)
· user choiceyearFHA-saferefresh: annual
town.education_efficiency
Education Efficiency Score
Source: NCES F-33 + EdFacts (2026)

Composite ROI: outcomes per dollar of per-pupil spending

↑ higher = betterscore_0_100FHA-safeROIrefresh: annual
town.education_source_url
Education Source URL
Source: NCES + EdFacts (2026)
· user choiceurlFHA-saferefresh: annual
town.elem_ela_proficiency
Elem ELA Proficiency %
Source: EdFacts (2026)

Elementary English Language Arts proficiency rate (state-administered assessments)

↑ higher = betterpercentFHA-saferefresh: annual
town.elem_math_proficiency
Elem Math Proficiency %
Source: EdFacts (2026)
↑ higher = betterpercentFHA-saferefresh: annual
town.hs_ela_proficiency
HS ELA Proficiency %
Source: EdFacts (2026)
↑ higher = betterpercentFHA-saferefresh: annual
town.hs_math_proficiency
HS Math Proficiency %
Source: EdFacts (2026)
↑ higher = betterpercentFHA-saferefresh: annual
town.middle_ela_proficiency
Middle ELA Proficiency %
Source: EdFacts (2026)
↑ higher = betterpercentFHA-saferefresh: annual
town.middle_math_proficiency
Middle Math Proficiency %
Source: EdFacts (2026)
↑ higher = betterpercentFHA-saferefresh: annual
town.school_count
Public Schools in Town
Source: NCES Common Core of Data (CCD) (2026)
· user choicecountFHA-saferefresh: annual

Environment (14)

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
town.flood_zone_pct
% Town in FEMA Flood Zone
Source: FEMA NFHL (2026)

Land-area % within Special Flood Hazard Area (Zone A/AE/V/VE)

↓ lower = betterpercentFHA-saferefresh: continuous
town.flood_risk_level
Categorical Flood Risk
Source: FEMA NFHL (2026)

low / moderate / high / extreme — derived from flood_zone_pct

↓ lower = bettercategoryFHA-saferefresh: continuous
town.environment_source_url
Environment Source URL
Source: FEMA NFHL (2026)
· user choiceurlFHA-saferefresh: continuous
town.brownfield_sites_10mi
EPA Brownfield Sites within 10 mi
Source: EPA Brownfields (2026)
↓ lower = bettercountFHA-saferefresh: monthly
town.radon_zone
EPA Radon Zone
Source: EPA Radon Zones (2026)

1 = high (>4 pCi/L expected), 2 = moderate, 3 = low

↓ lower = betterzone_1_3FHA-saferefresh: static
town.superfund_sites_10mi
EPA Superfund Sites within 10 mi
Source: EPA NPL (2026)
↓ lower = bettercountFHA-saferefresh: monthly

Geo (1)

town.latitude
Town Centroid Latitude
Source: Census Designated Places (2026)
· user choicecoordinateFHA-saferefresh: continuous

Health (23)

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
demographics.uninsured_pct
% Uninsured
Source: County Health Rankings (RWJF + UWPHI) (2026)

Health-insurance coverage gap; signals access barriers

↓ lower = betterpercentFHA-saferefresh: annual
town.providers_in_town
Active Providers in Town
Source: CMS National Provider Identifier (2026)

Count of NPI-registered active healthcare providers practicing in town

↑ higher = bettercountFHA-saferefresh: monthly
town.avg_cms_stars
Avg CMS Hospital Quality Stars
Source: CMS Hospital Quality Compare (2026)

1-5 star CMS quality rating averaged across hospitals in 10mi radius

↑ higher = betterrating_1_5FHA-saferefresh: quarterly
town.health_source_url
Health Source URL
Source: CMS Hospital Compare (2026)
· user choiceurlFHA-saferefresh: quarterly
town.beds_per_1k_served
Hospital Beds per 1k Population Served
Source: CMS Hospital Quality Compare (2026)

Capacity ratio — drives hospital_capacity composite

↑ higher = betterrate_per_1kFHA-safeROIrefresh: quarterly
town.hospital_beds_10mi
Hospital Beds within 10 mi
Source: CMS Hospital Quality Compare (2026)
↑ higher = bettercountFHA-saferefresh: quarterly
town.hospitals_10mi
Hospitals within 10 mi
Source: CMS Hospital Quality Compare (2026)

CMS-certified inpatient facilities within service radius

↑ higher = bettercountFHA-saferefresh: quarterly
town.hpsa_score
HPSA Score
Source: HRSA Shortage Designations (2026)

0-26 — higher = greater shortage severity

↓ lower = betterscore_0_26FHA-saferefresh: monthly
town.in_shortage_area
In HRSA Shortage Area
Source: HRSA Shortage Designations (2026)

True iff town is designated Health Professional Shortage Area (HPSA)

↓ lower = betterbooleanFHA-saferefresh: monthly
demographics.life_expectancy
Life Expectancy at Birth
Source: County Health Rankings (RWJF + UWPHI) (2026)

Years — primary health-outcome metric

↑ higher = betteryearsFHA-saferefresh: annual
town.nearest_hospital_mi
Nearest Hospital (mi)
Source: CMS Hospital Quality Compare (2026)
↓ lower = bettermilesFHA-saferefresh: quarterly
demographics.premature_death
Premature Death Rate
Source: County Health Rankings (RWJF + UWPHI) (2026)

Years of potential life lost before age 75 per 100,000 population

↓ lower = betterrate_per_100kFHA-saferefresh: annual
town.providers_per_1k
Providers per 1k Population
Source: CMS National Provider Identifier (2026)
↑ higher = betterrate_per_1kFHA-safeROIrefresh: monthly

Investor (3)

investor.appreciation_5yr
Investor 5-Year Appreciation
weight 8%
Source: FHFA House Price Index (2026)

Cumulative price change over 5 years; equity-build proxy

↑ higher = betterpercentFHA-saferefresh: quarterly
investor.vacancy_rate_metro
Metro Vacancy Rate
weight 5%
Source: Census ACS (2026)

Census ACS rental vacancy rate for the metro; lowers investor confidence at high values

↓ lower = betterpercentFHA-saferefresh: annual
investor.rent_growth_yoy
Rent Growth YoY
weight 5%
Source: HUD FMR + Active Listings (2026)

Year-over-year median rent change

↑ higher = betterpercentFHA-saferefresh: annual

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 (13)

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
town.murder_count
Annual Murder Count
Source: FBI NIBRS (2026)

Raw murder count (FHA-safe — used in safety_roi denominator only, not bias-correlated)

↓ lower = bettercountFHA-saferefresh: annual
town.crime_data_year
Crime Data Vintage Year
Source: FBI NIBRS (2026)

Year of the most recent UCR/NIBRS submission used for crime metrics

· user choiceyearFHA-saferefresh: annual
town.crime_source_url
Crime Source URL
Source: FBI NIBRS (2026)

Direct link to FBI Crime Data Explorer for this jurisdiction

· user choiceurlFHA-saferefresh: annual
town.fire_stations_5mi
Fire Stations within 5 mi
Source: HIFLD (2026)

NFPA 1710/1720 standard service radius

↑ higher = bettercountFHA-saferefresh: continuous
town.nearest_fire_mi
Nearest Fire Station (mi)
Source: HIFLD (2026)
↓ lower = bettermilesFHA-saferefresh: continuous
town.officers_per_1000
Officers per 1,000 Residents
Source: FBI Law Enforcement Employees (LEE) (2026)

ROI denominator for safety_roi_officers_crime composite

↑ higher = betterrate_per_1kFHA-saferefresh: annual
town.property_crime_per_1000
Property Crime Rate per 1,000
Source: FBI NIBRS (2026)

Burglary + larceny + auto theft per 1,000 residents/year

↓ lower = betterrate_per_1kFHA-saferefresh: annual
town.violent_crime_per_1000
Violent Crime Rate per 1,000
Source: FBI NIBRS (2026)

Murders + rapes + robberies + aggravated assaults per 1,000 residents/year

↓ lower = betterrate_per_1kFHA-saferefresh: annual

Address / Property (108 metrics)

Education (25)

school.enrollment
Total Enrollment
weight 10%
Source: NCES Common Core of Data (CCD) (2026)

Total students enrolled (K-12)

· user choicecountFHA-saferefresh: annual
school.free_reduced_lunch_pct
Free/Reduced Lunch %
weight 5%
Source: NCES Common Core of Data (CCD) (2026)

SES proxy: (free + reduced) / enrollment. Used in school equity analysis.

· user choicepercentFHA-saferefresh: annual
school.grade_range
Grade Range
weight 5%
Source: NCES Common Core of Data (CCD) (2026)

Format: "PK-5" / "K-8" / "9-12" — derived from grade_low + grade_high

· user choicetextFHA-saferefresh: annual
school.level
School Level
weight 5%
Source: NCES Common Core of Data (CCD) (2026)

elementary / middle / high / k12 / other

· user choicetextFHA-saferefresh: annual
school.teachers_fte
Teachers FTE
weight 5%
Source: NCES Common Core of Data (CCD) (2026)

Full-time-equivalent teacher count (drives student_teacher_ratio)

· user choicecountFHA-saferefresh: annual
school.is_charter
Charter School
weight 3%
Source: NCES Common Core of Data (CCD) (2026)

True iff school is charter (publicly funded, independently operated)

· user choicebooleanFHA-saferefresh: annual
school.free_lunch
Free Lunch Eligible Count
weight 3%
Source: NCES Common Core of Data (CCD) (2026)

Students eligible for free lunch (federal poverty guideline ≤130%)

· user choicecountFHA-saferefresh: annual
school.type
School Type
weight 3%
Source: NCES Common Core of Data (CCD) (2026)

Regular / Special education / Vocational / Alternative

· user choicetextFHA-saferefresh: annual
school.reduced_lunch
Reduced-Price Lunch Count
weight 2%
Source: NCES Common Core of Data (CCD) (2026)

Students eligible for reduced-price lunch (130-185% federal poverty)

· user choicecountFHA-saferefresh: annual
school.urban_locale
Urban Locale Code (NCES)
weight 2%
Source: NCES Common Core of Data (CCD) (2026)

12 = large city, 21 = mid-size suburb, 41 = rural fringe, etc. (NCES locale codes)

· user choicetextFHA-saferefresh: annual
school.is_virtual
Virtual School
weight 2%
Source: NCES Common Core of Data (CCD) (2026)

True iff school is fully online (no physical campus)

· user choicebooleanFHA-saferefresh: annual
school.enrollment_elem
Elementary Enrollment (K-5)
Source: NCES Common Core of Data (CCD) (2026)

Sum K-5 enrollment columns

· user choicecountFHA-saferefresh: annual
school.gender_breakdown
Gender Breakdown
Source: NCES Common Core of Data (CCD) (2026)

FHA-FLAGGED: descriptive only. Used in Phase 9.I bias audit; NEVER enters scoring (CI test enforces).

· user choicecountrefresh: annual
school.enrollment_high
High Enrollment (9-12)
Source: NCES Common Core of Data (CCD) (2026)
· user choicecountFHA-saferefresh: annual
school.enrollment_middle
Middle Enrollment (6-8)
Source: NCES Common Core of Data (CCD) (2026)
· user choicecountFHA-saferefresh: annual
school.district_id
NCES District ID
Source: NCES Common Core of Data (CCD) (2026)

7-digit federal district identifier

· user choicetextFHA-saferefresh: annual
school.nces_id
NCES School ID
Source: NCES Common Core of Data (CCD) (2026)

12-digit federal school identifier; canonical join key for school-level data

· user choicetextFHA-saferefresh: annual
school.enrollment_pk
Pre-K Enrollment
Source: NCES Common Core of Data (CCD) (2026)
· user choicecountFHA-saferefresh: annual
school.race_ethnicity_breakdown
Race/Ethnicity Breakdown
Source: NCES Common Core of Data (CCD) (2026)

FHA-FLAGGED: per-race counts. Used ONLY in Phase 9.I quarterly bias audit + persisted as numerical correlation matrix; raw counts NEVER influence scoring or display. CI test (Phase 6.A) enforces.

· user choicecountrefresh: annual
school.county_name
School County
Source: NCES Common Core of Data (CCD) (2026)
· user choicetextFHA-saferefresh: annual
school.boundary_geoid
School District Boundary GEOID
Source: NCES + state district boundary GIS (2026)

TIGER EDGE shapefile GEOID for spatial joins

· user choicetextFHA-saferefresh: annual
school.district_name
School District Name
Source: NCES Common Core of Data (CCD) (2026)
· user choicetextFHA-saferefresh: annual
school.name
School Name
Source: NCES Common Core of Data (CCD) (2026)
· user choicetextFHA-saferefresh: annual
school.phone
School Phone
Source: NCES Common Core of Data (CCD) (2026)
· user choicetextFHA-saferefresh: annual
school.address
School Street Address
Source: NCES Common Core of Data (CCD) (2026)
· user choicetextFHA-saferefresh: annual

Geo (1)

parcel.census_block
Census Block
Source: Census ACS (2026)

15-digit GEOID for census block; used for tract-level demographic enrichment

· user choicetextFHA-saferefresh: annual

Investor (6)

investor.cap_rate
Capitalization Rate
weight 15%
Source: realtor.com listing data + Census ACS (2026)

Net operating income / property value; primary cash-flow yield metric

↑ higher = betterpercentFHA-safeROIrefresh: 4h
investor.cash_on_cash
Cash-on-Cash Return
weight 15%
Source: realtor.com listing data + FRED Mortgage Rates + Tax (2026)

Annual pre-tax cash flow / cash invested; primary investor leverage metric

↑ higher = betterpercentFHA-safeROIrefresh: 4h
investor.gross_yield
Gross Rent Yield
weight 10%
Source: realtor.com listing data + Census ACS (2026)

(annual rent / price) * 100

↑ higher = betterpercentFHA-safeROIrefresh: 4h
investor.noi_estimate
Net Operating Income Estimate
weight 10%
Source: realtor.com listing data + County tax records (2026)

Annual rent − operating expenses (tax, HOA, insurance estimate, maintenance reserve)

↑ higher = betterdollarsFHA-safeROIrefresh: 4h
investor.gross_rent_multiplier
Gross Rent Multiplier
weight 8%
Source: realtor.com listing data + Census ACS (2026)

Price / annual gross rent; lower = better deal (3-7 fair, <3 great, >10 weak)

↓ lower = betterratioFHA-safeROIrefresh: 4h
investor.is_multifamily
Multi-Family Property
weight 3%
Source: County assessor records (2026)

True iff num_units >= 2 (small mf) — strategy filter

· user choicebooleanFHA-saferefresh: continuous

Match_Score (3)

match.bilateral_pct
Bilateral Match Percentage
Source: ValiFit Internal Compute (2026)

The bilateral match% from Atlas Invariant 1 — same % shown to both sides of a dyad

↑ higher = betterpercentFHA-safeROIrefresh: live
match.initiator_window_remaining
Initiator Window Remaining (hrs)
Source: ValiFit Internal Compute (2026)

Hours until match expires per Atlas Invariant 2 (24h for buyer↔agent high-fit)

· user choicehoursFHA-saferefresh: live
match.reasons_summary
Match Reasons Summary
Source: ValiFit Internal Compute (2026)

JSONB array of why this match scored well (rendered as bullet list in JSON-LD + UI)

· user choicetext_arrayFHA-saferefresh: live

Property (73)

property.condition
Condition Rating
weight 5%
Source: realtor.com listing data + county assessor parcels (2026)

excellent / very good / good / average / fair / poor

↑ higher = betterratingFHA-saferefresh: 4h
parcel.sale_date
Last Sale Date (parcels)
weight 5%
Source: County recorder (2026)

Deed recording date

· user choicedateFHA-saferefresh: continuous
parcel.sale_price
Last Sale Price (parcels)
weight 5%
Source: County recorder (2026)

Deeded sale price from county recorder; primary signal for appreciation

· user choicedollarsFHA-saferefresh: continuous
parcel.total_value
Total Assessed Value
weight 5%
Source: County assessor records (2026)

Sum of land + improvement; basis for property tax

· user choicedollarsFHA-saferefresh: annual
parcel.improvement_value
Assessed Improvement Value
weight 3%
Source: County assessor records (2026)

Improvements (buildings) portion of assessment

· user choicedollarsFHA-saferefresh: annual
parcel.land_value
Assessed Land Value
weight 3%
Source: County assessor records (2026)

Land-only portion of assessment (excludes improvements)

· user choicedollarsFHA-saferefresh: annual
property.effective_year_built
Effective Year Built
weight 3%
Source: County assessor records (2026)

Assessor's adjusted year reflecting renovations — vs raw year_built

↑ higher = betteryearFHA-saferefresh: continuous
parcel.market_value
Estimated Market Value
weight 3%
Source: County assessor records (2026)

Assessor's estimated full market value (some jurisdictions equate to total_value)

· user choicedollarsFHA-saferefresh: annual
property.pool
Has Pool
weight 3%
Source: realtor.com listing data + county assessor parcels (2026)

True if any pool (in-ground, above-ground, or community)

· user choicebooleanFHA-saferefresh: 4h
property.renovation_year
Last Renovation Year
weight 3%
Source: County assessor records + realtor.com listing data (2026)

Year of last major renovation; falls back to effective_year_built from assessor

↑ higher = betteryearFHA-saferefresh: continuous
parcel.last_year_tax
Last Year Property Tax (parcels)
weight 3%
Source: County tax records (2026)

Most recent annual tax bill from assessor records; alias property.annual_tax for source variant

· user choicedollarsFHA-saferefresh: annual
property.has_central_ac
Central Air Conditioning
weight 2%
Source: realtor.com listing data (2026)

True iff cooling system is central AC (not window units)

↑ higher = betterbooleanFHA-saferefresh: 4h
property.has_fenced_yard
Fenced Yard
weight 2%
Source: realtor.com listing data (2026)
· user choicebooleanFHA-saferefresh: 4h
property.has_basement
Has Basement
weight 2%
Source: realtor.com listing data + county assessor parcels (2026)
· user choicebooleanFHA-saferefresh: 4h
parcel.improvement_quality
Improvement Quality
weight 2%
Source: County assessor records (2026)

Assessor's quality grade (low / fair / average / good / very good / excellent)

↑ higher = betterratingFHA-saferefresh: continuous
property.has_laundry
In-Unit Laundry
weight 2%
Source: realtor.com listing data (2026)
↑ higher = betterbooleanFHA-saferefresh: 4h
property.basement_type
Basement Type
weight 1%
Source: County assessor records (2026)

finished / unfinished / walkout / crawl / slab

· user choicetextFHA-saferefresh: continuous
property.fireplace_count
Number of Fireplaces
weight 1%
Source: realtor.com listing data + county assessor parcels (2026)

Integer count; bool source (has_fireplace) coerced to 0/1+

· user choicecountFHA-saferefresh: 4h
parcel.prior_sale_date
Prior Sale Date
weight 1%
Source: County recorder (2026)
· user choicedateFHA-saferefresh: continuous
parcel.prior_sale_price
Prior Sale Price
weight 1%
Source: County recorder (2026)

Second-most-recent sale; pair with prior_sale_date for appreciation signal

· user choicedollarsFHA-saferefresh: continuous
parcel.special_features_value
Special Features Value
weight 1%
Source: County assessor records (2026)

Value attributed to special features (pool, deck, finished basement)

· user choicedollarsFHA-saferefresh: annual
property.total_rooms
Total Rooms
weight 1%
Source: County assessor records + realtor.com listing data (2026)

Bedrooms + bathrooms + living rooms + kitchens (assessor count)

· user choicecountFHA-saferefresh: continuous
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.building_style
Building Style
Source: County assessor records (2026)

Colonial / ranch / cape / split-level / contemporary / etc.

· user choicetextFHA-saferefresh: continuous
parcel.construction_class
Construction Class
Source: County assessor records (2026)

Standardized class (frame / masonry / steel-frame / etc.)

· user choicetextFHA-saferefresh: continuous
parcel.construction_desc
Construction Description
Source: County assessor records (2026)

Free-form description of construction type from assessor

· user choicetextFHA-saferefresh: continuous
property.cooling
Cooling System
Source: realtor.com listing data + county assessor parcels (2026)

central / window / split / none

· user choicetextFHA-saferefresh: 4h
parcel.parcel_id
County Parcel ID
Source: County assessor records (2026)

Per-county unique parcel identifier (APN, PIN, etc.). Format varies by jurisdiction.

· user choicetextFHA-saferefresh: continuous
property.data_quality_score
Data Completeness Score
Source: ValiFit data validation engine (2026)

0-100 — completeness of property record (drives confidence intervals on derived scores)

↑ higher = betterscore_0_100FHA-saferefresh: live
parcel.deed_book
Deed Book
Source: County recorder (2026)

Book number of deed registration — useful for title searches

· user choicetextFHA-saferefresh: continuous
parcel.deed_page
Deed Page
Source: County recorder (2026)

Page number of deed registration

· user choicetextFHA-saferefresh: continuous
property.estimated_mortgage
Estimated Monthly Mortgage
Source: FRED Mortgage Rates + Tax (2026)

Computed from list_price + current rate + standard 20% down

· user choicedollarsFHA-saferefresh: live
property.rental_estimate_monthly
Estimated Monthly Rent
Source: realtor.com listing data + Census ACS (2026)

Used for cap rate / cash flow on Investor composite

· user choicedollarsFHA-saferefresh: monthly
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.heating
Heating System
Source: County assessor records + realtor.com listing data (2026)

forced air / radiant / heat pump / baseboard / etc.

· user choicetextFHA-saferefresh: continuous
property.hoa_fee_frequency
HOA Fee Frequency
Source: realtor.com listing data (2026)

monthly / quarterly / annual / one-time

· user choicetextFHA-saferefresh: 4h
property.land_use_code
Land Use Code
Source: County assessor records (2026)

Standardized land-use designation (single-family, multi-family, commercial, etc.)

· user choicetextFHA-saferefresh: continuous
parcel.last_enriched_at
Last Parcel Enrichment
Source: ValiFit parcel enrichment engine (2026)

When ValiFit last spatial-joined and enriched this parcel

· user choicedatetimeFHA-saferefresh: live
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
parcel.num_baths
Number of Baths (parcels)
Source: County assessor records (2026)

Total baths from assessor; full + half combined (vs property.full_baths/half_baths)

· user choicecountFHA-saferefresh: continuous
property.num_buildings
Number of Buildings
Source: County assessor records (2026)

Building count on the parcel (main house + ADU + outbuildings)

· user choicecountFHA-saferefresh: continuous
parcel.num_kitchens
Number of Kitchens
Source: County assessor records (2026)

Signals in-law / accessory units when > 1

· user choicecountFHA-saferefresh: continuous
parcel.num_stories
Number of Stories (parcels)
Source: County assessor records (2026)

Numeric stories from assessor; alias property.stories for listing-source variant

· user choicecountFHA-saferefresh: continuous
property.num_units
Number of Units
Source: County assessor records (2026)

Multi-family unit count (1=SFH, 2-4=small mf, 5+=apartment building)

· user choicecountFHA-saferefresh: continuous
parcel.owner_name
Owner of Record
Source: County assessor records (2026)

Per-county OPRA/sunshine-law disclosure. May be person, LLC, trust, or government.

· user choicetextFHA-saferefresh: continuous
parcel.county
Parcel County
Source: County assessor records (2026)
· user choicetextFHA-saferefresh: continuous
parcel.municipality
Parcel Municipality
Source: County assessor records (2026)

Town / city / borough — joined to municipalities_canonical for scoring

· user choicetextFHA-saferefresh: continuous
parcel.state
Parcel State
Source: County assessor records (2026)
· user choicetextFHA-saferefresh: continuous
parcel.address
Parcel Street Address
Source: County assessor records (2026)

Raw assessor address + ValiFit-normalized variant

· user choicetextFHA-saferefresh: continuous
parcel.zip_code
Parcel ZIP Code
Source: County assessor records (2026)
· user choicetextFHA-saferefresh: continuous
property.style
Property Style
Source: realtor.com listing data + county assessor parcels (2026)

SFH/condo/townhouse/etc. enum.

· user choiceFHA-saferefresh: continuous
parcel.raw_properties
Raw Assessor Payload
Source: County assessor records (2026)

JSONB blob of raw assessor fields (state-specific schemas) for forensic / debugging access

· user choicejsonbFHA-saferefresh: continuous
property.school_district
School District
Source: NCES + state district boundary GIS (2026)

NCES district name; canonical for join with school_performance

· user choicetextFHA-saferefresh: annual
property.sewer_system
Sewer System
Source: County assessor records (2026)

public / septic / private / none

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

Building stories.

· user choicecountFHA-saferefresh: continuous
property.subdivision
Subdivision Name
Source: County recorder (2026)

Recorded subdivision name from plat map

· user choicetextFHA-saferefresh: continuous
property.tax_year
Tax Assessment Year
Source: County tax records (2026)

Year the annual_tax value applies to

· user choiceyearFHA-saferefresh: annual
property.parking_spaces
Total Parking Spaces
Source: realtor.com listing data + county assessor parcels (2026)

Total parking (garage + driveway + carport + street-assigned)

· user choicecountFHA-saferefresh: 4h
property.water_source
Water Source
Source: County assessor records (2026)

public / well / shared / cistern

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

Original construction year.

· user choiceFHA-saferefresh: continuous
property.zoning
Zoning Code
Source: County assessor records (2026)

Local zoning designation (R-1, R-2, mixed-use, etc.)

· user choicetextFHA-saferefresh: continuous

Listing (29 metrics)

Listing (29)

listing.public_remarks
Public Remarks (description)
weight 10%
Source: realtor.com listing data (2026)

Full marketing description — primary input for listing vibe-vector embeddings

· user choicetextFHA-saferefresh: 4h
listing.estimated_value
Estimated Value (Realtor.com)
weight 5%
Source: realtor.com listing data (2026)

Realtor.com's automated value estimate — used for estimate_to_ask_ratio

· user choicedollarsFHA-saferefresh: 4h
listing.last_status_change_date
Last Status Change Date
weight 5%
Source: realtor.com listing data (2026)

When status flipped (active→pending→sold/withdrawn) — drives DOM bucket

· user choicedatetimeFHA-saferefresh: 4h
listing.assessed_value
Assessed Value (county)
weight 3%
Source: County assessor records (2026)

Tax-assessed value from county records — denormalized onto listings for speed

· user choicedollarsFHA-saferefresh: continuous
listing.description_keywords
Extracted Description Keywords
weight 3%
Source: ValiFit description parser + LLM tagging (2026)

Array of canonical tags pulled from public_remarks (doorman, pre-war, turn-key, etc.)

· user choicetext_arrayFHA-saferefresh: 4h
listing.alt_photos
Additional Photo URLs
Source: realtor.com listing data (2026)

Comma-separated additional photo URLs (max ~25 per listing)

· user choicetextFHA-saferefresh: 4h
listing.canonical_listing_id
Canonical Listing UUID
Source: ValiFit listing dedup engine (2026)

When same listing appears in multiple feeds, one row is canonical

· user choicetextFHA-saferefresh: 4h
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.last_synced_at
Last Sync Timestamp
Source: realtor.com listing data (2026)

When ValiFit last pulled this listing from source

· user choicedatetimeFHA-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.listing_agent_email
Listing Agent Email
Source: realtor.com listing data (2026)
· user choicetextFHA-saferefresh: 4h
listing.listing_agent_name
Listing Agent Name
Source: realtor.com listing data (2026)
· user choicetextFHA-saferefresh: 4h
listing.listing_agent_phone
Listing Agent Phone
Source: realtor.com listing data (2026)
· user choicetextFHA-saferefresh: 4h
listing.listing_broker
Listing Broker Name
Source: realtor.com listing data (2026)
· user choicetextFHA-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.listing_office
Listing Office Name
Source: realtor.com listing data (2026)
· user choicetextFHA-saferefresh: 4h
listing.status
Listing Status
Source: realtor.com listing data (2026)

active/pending/contingent/withdrawn enum.

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

sale / rent / lease / exchange / etc.

· user choicetextFHA-saferefresh: 4h
listing.mls_id
MLS Listing ID
Source: realtor.com listing data (2026)

Local MLS ID — distinct from listing_key (which is realtor.com's id)

· user choicetextFHA-saferefresh: 4h
listing.mls_name
MLS Name
Source: realtor.com listing data (2026)

Source MLS the listing originated from (NJMLS, Bright, MRED, etc.)

· user choicetextFHA-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
listing.photo_url
Primary Photo URL
Source: realtor.com listing data (2026)
· user choiceurlFHA-saferefresh: 4h
listing.listing_key
Realtor.com Listing Key
Source: realtor.com listing data (2026)

Realtor.com canonical listing identifier — primary join key

· user choicetextFHA-saferefresh: 4h

User Intake (36 metrics)

Investor (1)

investor.strategy_fit
Investor Strategy Fit
weight 10%
Source: User input — investor flow (2026)

Match of property to declared strategy (buy-hold / BRRRR / flip / 1031 / Section-8)

↑ higher = betterscore_0_100FHA-safeROIrefresh: live

Landlord (8)

landlord.occupancy_rate
Portfolio Occupancy Rate
weight 20%
Source: User input + outcome memory (2026)

Occupied units / total units across portfolio

↑ higher = betterpercentFHA-safeROIrefresh: live
landlord.avg_vacancy_days
Average Days to Lease
weight 8%
Source: Outcome memory layer (Phase 1.J) (2026)

Days unit sits vacant between leases — primary efficiency metric

↓ lower = betterdaysFHA-saferefresh: live
landlord.tenant_screening_strict
Tenant Screening Strictness
weight 5%
Source: User input (2026)

minimal / standard / strict / institutional — affects match-rate with renters

· user choicecategoryFHA-saferefresh: live
landlord.unit_count
Total Units Owned
weight 5%
Source: User input (2026)
· user choicecountFHA-saferefresh: live
landlord.section_8_accepting
Accepting Section 8
weight 3%
Source: User input (2026)

Voucher acceptance (note: source-of-income discrimination protections vary by state)

· user choicebooleanFHA-saferefresh: live
landlord.min_credit_score
Minimum Credit Score
weight 3%
Source: User input (2026)
· user choicescore_300_850FHA-saferefresh: live
landlord.avg_rent_actual
Average Rent Collected
Source: User input (2026)
· user choicedollarsFHA-saferefresh: live
landlord.uses_pm
Uses Property Manager
Source: User input (2026)

Self-managed vs PM-managed; informs matching with PM services

· user choicebooleanFHA-saferefresh: live

Match_Score (1)

match.profile_depth_pct
Profile Depth %
Source: ValiFit Internal Compute (2026)

How complete the user's profile is — gates pool eligibility per Atlas Invariant 3 (agent ≥80%, buyer ≥60%)

↑ higher = betterpercentFHA-saferefresh: live

Renter (10)

renter.rent_budget_monthly
Monthly Rent Budget
weight 20%
Source: User input — renter flow (2026)
· user choicedollarsFHA-saferefresh: live
renter.move_in_window_days
Move-In Window (days)
weight 15%
Source: User input — renter flow (2026)

Renter-declared days until needed move-in; drives lease-urgency tier

↓ lower = betterdaysFHA-saferefresh: live
renter.income_to_rent_ratio
Income-to-Rent Ratio
weight 10%
Source: User input — drives FHA/Conv DTI calculations (2026)

Annual income / annual rent; standard landlord screening = >40x monthly

↑ higher = betterratioFHA-safeROIrefresh: live
renter.pet_required
Pet-Friendly Required
weight 8%
Source: User input — renter flow (2026)

Renter has pets; filters listings without pet-policy match

· user choicebooleanFHA-saferefresh: live
renter.application_credit_score
Reported Credit Score
weight 7%
Source: User input — renter flow (2026)

Self-reported, optional. Affects approval-confidence calculations.

↑ higher = betterscore_300_850FHA-saferefresh: live
renter.cosigner_available
Co-Signer Available
weight 5%
Source: User input — renter flow (2026)

Affects approval at landlord screening

↑ higher = betterbooleanFHA-saferefresh: live
renter.lease_term_pref
Lease Term Preference (months)
weight 5%
Source: User input — renter flow (2026)

6 / 12 / 24 / month-to-month preference

· user choicemonthsFHA-saferefresh: live
renter.amenity_needs
Required Amenities
weight 5%
Source: User input — renter flow (2026)

JSONB array (in-unit-laundry, parking, doorman, gym, dishwasher, etc.)

· user choicetext_arrayFHA-saferefresh: live
renter.unit_type_pref
Unit Type Preference
weight 5%
Source: User input — renter flow (2026)

studio / 1br / 2br / 3br / townhouse / sfh-rental

· user choicetextFHA-saferefresh: live
renter.broker_fee_tolerance
Broker Fee Tolerance
weight 3%
Source: User input — renter flow (2026)

In NYC/Boston-style markets — willingness to pay broker fee

· user choicebooleanFHA-saferefresh: live

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 (52 metrics)

Agent (41)

agent.accepting_leads
Accepting Leads
weight 15%
Source: Agent self-declared + outcome-validated (2026)

False = no new leads will be routed to this agent

↑ higher = betterbooleanFHA-saferefresh: live
agent.response_time_hours
Avg Response Time (hours)
weight 12%
Source: Outcome memory layer (Phase 1.J) — measured from lead-routing to first contact (2026)

Lower is better; correlates with conversion. Tracked by lead_assignments timing

↓ lower = betterhoursFHA-saferefresh: live
agent.license_verified
License Verified
weight 10%
Source: ValiFit license verification engine + state board records (2026)

True iff agent's license has been verified against state board record

↑ higher = betterbooleanFHA-saferefresh: live
agent.total_sales
Lifetime Sales Count
weight 10%
Source: Agent self-declared + outcome-validated (2026)
↑ higher = bettercountFHA-saferefresh: live
agent.verification_status
Verification Status
weight 10%
Source: ValiFit verification engine (2026)

unverified / pending / verified / suspended

↑ higher = bettertextFHA-saferefresh: live
agent.years_experience
Years of Experience
weight 10%
Source: Agent self-declared + outcome-validated (2026)
↑ higher = betteryearsFHA-saferefresh: live
agent.avg_rating
Average Client Rating
weight 8%
Source: Outcome memory layer (Phase 1.J) + agent self-declared baseline (2026)

5-star average from past clients; outcome-validated against close rate

↑ higher = betterrating_0_5FHA-saferefresh: live
agent.bio
Biography
weight 5%
Source: Agent self-declared + outcome-validated (2026)

Free-form bio used for vibe-vector embedding + agent profile pages

· user choicetextFHA-saferefresh: live
agent.mls_authorized
MLS Authorized
weight 5%
Source: realtor.com listing data + agent IDX (when integrated) (2026)

True iff agent has authorized ValiFit to sync their IDX feed

↑ higher = betterbooleanFHA-saferefresh: live
agent.certifications
Professional Certifications
weight 5%
Source: Agent self-declared + outcome-validated (2026)

NAR designations (CRS, GRI, ABR, etc.)

↑ higher = bettertext_arrayFHA-saferefresh: live
agent.specializations
Specialization Tags
weight 5%
Source: Agent self-declared + outcome-validated (2026)

JSONB array (FTHB, luxury, investor, relocation, multi-family, etc.)

· user choicetext_arrayFHA-saferefresh: live
agent.languages
Languages Spoken
weight 3%
Source: Agent self-declared + outcome-validated (2026)

JSONB array of ISO 639-1 codes

· user choicetext_arrayFHA-saferefresh: live
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.brokerage.address
Brokerage Address
Source: Agent self-declared + outcome-validated (2026)
· user choicetextFHA-saferefresh: live
agent.brokerage.license
Brokerage License #
Source: State licensing board (NJREC, CAREB, TREC, etc.) (2026)

Per-state real estate broker license number for the agent's brokerage

· user choicetextFHA-saferefresh: live
agent.brokerage.name
Brokerage Name
Source: Agent self-declared + outcome-validated (2026)
· user choicetextFHA-saferefresh: live
agent.brokerage.phone
Brokerage Phone
Source: Agent self-declared + outcome-validated (2026)
· user choicetextFHA-saferefresh: live
agent.current_active_leads
Current Active Leads
Source: ValiFit lead tracking (2026)

Count of in-flight lead_assignments — used to enforce capacity

· user choicecountFHA-saferefresh: live
agent.broker_name
Designated Broker Name
Source: Agent self-declared + outcome-validated (2026)
· user choicetextFHA-saferefresh: live
agent.display_name
Display Name
Source: Agent self-declared + outcome-validated (2026)
· user choicetextFHA-saferefresh: live
agent.email
Email
Source: Agent self-declared + outcome-validated (2026)
· user choicetextFHA-saferefresh: live
agent.first_name
First Name
Source: Agent self-declared + outcome-validated (2026)
· user choicetextFHA-saferefresh: live
agent.last_idx_sync
Last IDX Sync
Source: realtor.com listing data + agent IDX (when integrated) (2026)

Timestamp of most recent successful pull from agent's IDX feed

· user choicedatetimeFHA-saferefresh: live
agent.last_name
Last Name
Source: Agent self-declared + outcome-validated (2026)
· user choicetextFHA-saferefresh: live
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.license_number
License Number
Source: State licensing board (NJREC, CAREB, TREC, etc.) (2026)

Salesperson license number per state real-estate licensing authority

· user choicetextFHA-saferefresh: live
agent.license_state
License State
Source: State licensing board (2026)
· user choicetextFHA-saferefresh: live
agent.max_active_leads
Max Active Leads
Source: Agent self-declared + outcome-validated (2026)
· user choicecountFHA-saferefresh: live
agent.mls_id
MLS Member ID
Source: realtor.com listing data + agent IDX (when integrated) (2026)
· user choicetextFHA-saferefresh: live
agent.mls_name
MLS Name
Source: realtor.com listing data + agent IDX (when integrated) (2026)

Multiple Listing Service the agent reports through (e.g. NJMLS, Bright)

· user choicetextFHA-saferefresh: live
agent.nrds_id
NRDS ID (NAR member ID)
Source: National Association of REALTORS® (NRDS) (2026)

Numeric NAR member ID — confirms REALTOR® designation

· user choicetextFHA-saferefresh: live
agent.website
Personal Website
Source: Agent self-declared + outcome-validated (2026)
· user choiceurlFHA-saferefresh: live
agent.phone
Phone
Source: Agent self-declared + outcome-validated (2026)
· user choicetextFHA-saferefresh: live
agent.profile_image
Profile Photo URL
Source: Agent self-declared + outcome-validated (2026)
· user choiceurlFHA-saferefresh: live
agent.territory_counties
Service Counties
Source: Agent self-declared + outcome-validated (2026)

JSONB array of county FIPS codes the agent serves

· user choicetext_arrayFHA-saferefresh: live
agent.territory_municipalities
Service Municipalities
Source: Agent self-declared + outcome-validated (2026)

JSONB array of municipality slugs the agent serves

· user choicetext_arrayFHA-saferefresh: live
agent.specialties
Specialty Tags
Source: Agent profile self-declared + verified by outcomes (2026)

FTHB / luxury / investor / relocation etc.

· user choiceFHA-saferefresh: continuous
agent.subscription_tier
Subscription Tier
Source: ValiFit billing system (2026)

free / lite / agent_pro / brokerage / office

· user choicetextFHA-saferefresh: live
agent.team_name
Team Name
Source: Agent self-declared + outcome-validated (2026)
· user choicetextFHA-saferefresh: live

Match_Score (1)

match.reputation_signal
Cross-Dyad Reputation Signal
Source: Outcome memory + cohort-adjusted reliability (Phase 8.E+) (2026)

Travels across the n-sided graph: AQS for agents, response-rate for buyers, occupancy for landlords

↑ higher = betterscore_0_100FHA-saferefresh: live

PM_Leasing (10)

pm.portfolio_vacancy_rate
Portfolio Vacancy Rate
weight 15%
Source: User input + outcome memory (2026)

Cross-portfolio vacancy; lower = better operator

↓ lower = betterpercentFHA-safeROIrefresh: live
pm.days_to_lease
Average Days to Lease
weight 12%
Source: Outcome memory layer (Phase 1.J) (2026)
↓ lower = betterdaysFHA-saferefresh: live
leasing.tour_to_lease_conversion
Tour-to-Lease Conversion %
weight 12%
Source: Outcome memory layer (Phase 1.J) (2026)

Tours that result in signed lease; primary leasing-agent quota metric

↑ higher = betterpercentFHA-safeROIrefresh: live
pm.noi_per_unit
NOI per Unit per Month
weight 10%
Source: User input + outcome memory (2026)

Net operating income divided by unit count

↑ higher = betterdollarsFHA-safeROIrefresh: live
pm.portfolio_size
Portfolio Unit Count
weight 10%
Source: User input (2026)
· user choicecountFHA-saferefresh: live
pm.tenant_satisfaction
Tenant Satisfaction Score
weight 8%
Source: Outcome memory layer (Phase 1.J) (2026)

1-5 average tenant rating

↑ higher = betterrating_1_5FHA-saferefresh: live
pm.maintenance_response_hrs
Maintenance Response Time (hrs)
weight 5%
Source: User input + outcome memory (2026)
↓ lower = betterhoursFHA-saferefresh: live
leasing.tours_per_week
Tours Conducted per Week
weight 3%
Source: Outcome memory layer (Phase 1.J) (2026)
↑ higher = bettercountFHA-saferefresh: live
pm.geo_coverage
Geographic Coverage Areas
Source: User input (2026)
· user choicetext_arrayFHA-saferefresh: live
pm.property_types_managed
Property Types Managed
Source: User input (2026)

apartment / sfh / condo / mixed-use / commercial

· user choicetext_arrayFHA-saferefresh: live

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.