mortgagetape

‹ All scoring models

Scoring Models · GNMA EPO 6mo (broker commission-clawback risk on FHA/VA/USDA/PIH)

Category: Origination

What it does

Sibling to the Fannie EPO 6mo model, scoped to the government-loan universe — FHA / VA / USDA-RD / PIH-184. Same target: probability that the loan will either prepay or reach 30+ days delinquent within the first 6 months after funding, which is the standard event window for broker commission clawback on wholesale government-loan comp agreements. Trained on 12.3M Ginnie loan-level snapshots across 2018-2023 vintages (FHA 6.7M / VA 5.0M / USDA 569K / PIH 15K), isotonic-calibrated, tested on 1.33M 2024 loans out-of-time: OOT AUC 0.7304 — meaningfully stronger than the Fannie sibling (0.68) because the credit signal is more concentrated on the government book. Fair-lending AIR audit ACCEPTABLE across race (0.928), ethnicity (0.938), and sex (0.981) — well within the 4/5ths rule.

Why it matters. Government-loan brokers face the same 6-month clawback exposure as conventional brokers, but the underlying economics differ enough that a single pooled model would leave signal on the table. FHA runs ~2x the EPD-30 base rate of conventional (weaker credit + higher LTV), VA prepays faster because of the IRRRL streamline, and USDA has geographic footprint concentrations that shift the state mix. This dedicated model surfaces those regularities cleanly.

Tier-only output. Like the Fannie sibling, the API returns a tier rankingtop 1% / top 5% / top 10% / within baseline — rather than a raw probability. Broker workflow cares about triage ("which files in my pipeline are the 5% highest risk?"), not about probability arithmetic.

Rate-incentive feature uses per-agency anchors. Server- side auto-injects today's Optimal Blue median lock rate for the loan's agency (FHA 30YR for FHA/USDA/PIH loans; VA 30YR for VA loans, since VA rates run 50-80 bps below conforming). Broker can pass expected_market_rate_6mo to test rate-forecast scenarios.

What it is NOT. This is a propensity signal, NOT an underwriting decision, NOT a DU/LPA or FHA TOTAL substitute, NOT a compliance check. FHA / VA / USDA eligibility, MIP calculations, agency guides are unchanged. This surfaces risk that would otherwise only become visible in the servicing tape 3-6 months later.

Top drivers (permutation importance): credit_score, loan_purpose, number_of_borrowers, refi_incentive_m6, loan_interest_rate, original_upb, annual_mip_rate, dti, state, first_time_home_buyer. Notably, agency ranks low (#15) — credit_score plus MIP rates already capture most of the between-agency variance, so the model keys on real credit/rate/product structure rather than the agency label itself.

› Try it on the home page (Loan-level model scoring → GNMA EPO 6mo)

API connector

Programmatic access. Calibrated probability + risk band + operating recommendation in the response.

POST /api/score_gnma_epo_6mo
Content-Type: application/json

{
  "agency": "F",                    // F=FHA, V=VA, R=USDA-RD, N=PIH-184
  "credit_score": 680,
  "ltv": 96.5,
  "cltv": 96.5,
  "dti": 42,
  "opb": 320000,
  "loan_interest_rate": 6.75,
  "original_loan_term_months": 360,
  "number_of_borrowers": 1,
  "loan_purpose": "1",              // 1=purchase, 2=refi (see spec)
  "refinance_type": "N",
  "property_type": "SF",
  "first_time_home_buyer": "Y",
  "third_party_origination_type": "R", // R=retail, B=broker, C=correspondent
  "down_payment_assistance": "N",
  "buy_down_status": "N",
  "upfront_mip_rate": 1.75,         // FHA upfront MIP, percent
  "annual_mip_rate": 0.55,          // FHA annual MIP, percent
  "state": "GA",
  "msa": "12060",
  "origination_year": "2026",
  "origination_month": "08"
}

Response includes risk_band (P99 / P95 / P90 / BASE), risk_percentile (e.g., "top 5% risk"), and a recommendation tuned to broker triage on government files. Deliberately does NOT include a raw probability. Optional expected_market_rate_6mo input lets brokers plug in a rate-view forecast; default is today's per-agency OB rate (flat).

Schema reference (request / response shape): GET /api/score_gnma_epo_6mo/schema

Model metadata (training cohort, AUC, calibration): GET /api/score_gnma_epo_6mo/info

See also: How to read these AUC numbers.