themortgagellm

‹ All insights

Written by The Mortgage LLM Team—a group of industry analysts leveraging our proprietary mortgage-domain language models to synthesize and decode housing data.

📌 Executive takeaways by role

  • Loan officers and credit advisors: Two borrowers with identical FICO and LTV can score very differently on within-cell residual risk — driven by DTI, location, channel, and seller. The model gives you a quantified signal of “where in the grid cell does this borrower actually sit.” Useful for setting expectations on pricing and for explaining why two seemingly comparable files draw different secondary-market treatment.
  • Underwriting managers: A defensible signal for which loans warrant enhanced QC. Only ~13% of the cohort lands in elevated or high bands — that’s the targeted UW spend that captures the residual risk the grid misses, without a flat surcharge on the other 87%.
  • Secondary marketing and capital markets: A within-cell decile rank that maps onto the empirical 8.8× modification-rate variance documented in our LLPA-risk paper. Pairs naturally with spec pool execution decisions, MSR strip valuation, and lender overlay design — covered in detail in our capital-markets companion piece.
  • Compliance and fair-lending: Built on non-protected-class state-level proxies (not raw state geography). Phase 5 disparate-impact audit returned ACCEPTABLE with AIR(Q4/Q1) = 0.946 — within the 4/5ths rule. One state proxy (FEMA disaster index) is documented as a known limitation.

The problem this model addresses

The Fannie/Freddie LLPA grid (Loan-Level Price Adjustment matrix) prices conventional conforming loans at acquisition on essentially two axes: credit score and loan-to-value. A handful of attribute add-ons — investor property, second home, condo, manufactured housing — round it out. That’s the whole pricing surface for the GSE side of the conforming book.

In our May 2026 piece, we showed empirically that within a single LLPA cell — same FICO band, same LTV bucket, same base fee — realized modification rates vary 8.8 times across DTI sub-bands and 21 times across states. The grid is two-dimensional; the underlying credit risk is multi-dimensional. The mismatch creates a residual that doesn’t vanish — it gets absorbed by mortgage servicing rights pricing, by spec-pool pay-ups in the agency MBS market, by lender-level overlays, and ultimately by borrower rate spread.

That paper raised the question. This piece introduces the model we built to answer it: a quantified, defensible, per-loan signal of where in the residual a particular borrower sits.

How the model works

We use a two-stage architecture, which is the design decision that matters most. The reason is that we want the model’s output to be orthogonal to the LLPA grid itself — anything the grid already captures should not show up in the overlay.

Stage 1 trains on the same features the LLPA grid uses: FICO bucket, LTV bucket, loan purpose, occupancy, property type, units, product type, and a couple of structural flags. Stage 1 learns to mimic what the grid’s implicit credit-risk model would predict. Think of it as a “shadow grid” — same input dimensions, same output: an expected 60-month cumulative loss in basis points.

Stage 2 is the actual overlay. It trains on the residual — the gap between what Stage 1 (the shadow grid) predicts and what actually happened. Stage 2’s input universe is broader: it includes everything Stage 1 sees, plus DTI, four state-level proxies (house-price volatility from the FHFA, unemployment volatility from the BLS, FEMA’s National Risk Index for natural disasters, and a BLS measure of state-level employment concentration), origination channel, the borrower’s note rate, the seller (top-30 with everything else compressed into “OTHER”), a first-time-homebuyer flag, and the number of borrowers.

Because Stage 2 trains on the residual rather than the raw target, it cannot re-predict what the grid already does. It can only learn what the grid leaves unpriced.

A final calibration step (isotonic regression) re-anchors the combined prediction to the realized loss distribution in a 500K-loan state-stratified holdout that was never seen during training. A standard industry conversion factor — six basis points upfront for every 100 basis points of cumulative 60-month loss, anchored on a 7-year weighted-average-life conforming purchase — translates the calibrated loss prediction into an upfront fee that lines up with how rate sheets actually quote things.

What the model surfaces — within-cell DTI gradient. A concrete picture of what the grid leaves unpriced: average predicted overlay rises sharply with DTI, even after holding the FICO + LTV grid cell fixed. The grid does not price DTI directly; the model exposes the residual risk gradient the grid misses.

What the model produces

For each loan, the model returns two things you can actually use, plus one thing that’s informational only:

The band. A four-level ordinal label:

Band What it means How often
low Grid prices this loan correctly. No overlay warranted. 51%
baseline Grid is roughly correct. Modest overlay (or none) depending on appetite. 37%
elevated Grid likely under-prices. Consider a 5-15 bps overlay or tighter UW. 10%
high Grid materially under-prices. Recommend 15+ bps overlay + enhanced UW review. 3%

The headline distribution above is from the out-of-time validation cohort (2021-2022 vintages, 1.25M loans). About half the book is low — the grid prices those loans correctly. The other half splits across the three nonzero bands, with elevated + high together representing the ~13% of loans where the residual is material enough to warrant pricing or underwriting attention.

The decile. A finer-grained rank within the nonzero subset (Q0 = no overlay; Q1 through Q10 = quantile rank among loans the model thinks warrant some overlay). Useful for portfolio-level analysis and within-cell comparisons.

The raw bps. A direct estimate of the upfront overlay in basis points. This number is informational only — see the next section.

Considerations and guardrails

We are deliberate about what we ship and what we don’t. The most important thing to understand about this model is that the rank order is reliable and the magnitudes are not — at least not yet. This came out of our out-of-time validation against the 2021-2022 origination vintages, and the honest framing is worth walking through.

When we tested the trained model against the 2021-2022 cohort, the rank-ordering performance was strong: the model’s overlay decile correctly identifies higher-credit-event loans (AUC 0.67 for the overlay alone, 0.74 for the full combined prediction). That’s solidly above the threshold where industry treats a model as having useful rank-order signal.

The magnitude calibration was off. The model under-predicted the realized loss on the 2021-2022 cohort by roughly 60% — every decile bin missed the calibration gate of ±15%.

The decile bars above tell the story: the rank is right (realized loss rises monotonically across deciles in lockstep with the predicted rank), but the level is off — realized loss in the top decile is roughly double the calibrated prediction. That’s why we ship the band and the decile, not the raw bps, as the load-bearing output.

We dug into the mechanism, and the explanation is mostly outside the model. Even when we matched the 2021-2022 cohort against a similar-seasoning subset of the training data (loans that resolved within 36 months of origination), the 2021-2022 vintages had five times the training cohort’s realized loss rate. The 2021-2022 vintages behaved meaningfully worse than the 2014-2020 vintages even at matched observation depth — driven by rate-shock, post-stimulus DTI drift, and the rate-and-term refi mix shift, none of which were in the training distribution. The model can’t predict magnitudes for a regime it never saw.

Our internal validation framework calls this the NARROW verdict: ship the rank order, label the magnitudes informational, retrain when the 2025-2026 reporting data adds 2-3 more years of seasoning to the 2021-2022 vintages. That’s what the model surfaces today.

The fair-lending audit. The model uses state-level proxies (HPA volatility, unemployment volatility, disaster risk, employment concentration) rather than raw property state — a deliberate design choice to keep the model from inadvertently encoding race or ethnicity via geography. Our Phase 5 disparate-impact audit, tested against Census ACS 2023 state demographics, returned ACCEPTABLE: AIR(Q4/Q1) = 0.946 (within the EEOC 4/5ths rule); the regression coefficient on minority concentration after FICO/LTV/DTI controls is immaterial (+0.067 bps). One state proxy (FEMA disaster index) correlates with minority concentration at r = +0.63, which we document as a known limitation. We have a mitigation playbook ready (re-fit with disaster index capped or removed) if a future fair-lending examination requires it.

Other assumptions worth knowing. Loss given default is held flat at 30% across credit events (the industry midpoint; per-event severity is too noisy to learn from the available data). Loans still active at the end of the 2025 observation window are excluded from training (only loans with observed outcomes contribute). The high-balance flag is currently hardcoded to False — the relevant lookup against county conforming limits is queued for v2, and the modal value is False for ~94% of the cohort so the impact on a typical scoring is minor.

How to use it

The model is live at /api/score_llpa_overlay. Minimum inputs are borrower_fico, original_ltv, loan_purpose, and property_state — everything else uses sensible defaults. The full request/response shape is documented in the model card.

If you want the deeper technical and capital-markets framing — including how to operationalize the band into rate-sheet overlays, MSR strip valuations, and spec pool execution decisions — see our capital-markets companion piece.