themortgagellm

‹ All scoring models

Scoring Models · Credit Denial Probability

Category: Origination

What it does

Gradient-boosting classifier rating the probability that an application is denied for credit reasons (action_taken = 3). Trained on the 2018-2023 HMDA Snapshot LAR (49M applications, 50% deterministic sample of the ~99M-app universe), tested on 2024-2025 (22.5M apps): AUC 0.91 (cross-cycle holdout; random-split within 2018-2023 also gives AUC 0.91). Isotonic-calibrated; calibration is near-perfect (ECE = 0.0004 on test). Empirical denial rate ~15.7% in train, 18.7% in OOT (2024-2025 reflects continued credit tightening); class_weight="balanced" applied. Same HMDA-style input schema.

Why it matters. Denial probability matters in three directions. (1) Lead pricing — scoring leads pre-credit-pull saves $30-60 per wasted hard inquiry in originator cost plus the applicant-side credit-score impact. (2) Fair-lending self-assessment — pair the predicted denial probability with the realized decision to surface unexplained outcome gaps for compliance review (do NOT use the model output as the denial reason — it's a screen, not an adverse-action driver). (3) Counter-offer / channel-fit routing — the model's loan_type feature distinguishes Conventional / FHA / VA / USDA, so you can score the same applicant twice (e.g. loan_type="1" vs "2") and compare denial probabilities to find the channel most likely to approve. Same S-learner pattern as the Fannie-vs-Freddie channel-choice model. Captures volume that would otherwise be lost to outright decline.

› Try it on the home page (Loan-level model scoring → Credit Denial Probability)

API connector

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

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

{ ...same payload shape as /api/score_pullthrough... }

Note: The denial probability is a pre-decision screening signal, not an adverse-action driver. Use it to triage lead flow and flag fair-lending review candidates, but not as the documented reason for a credit decision.

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

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

See also: How to read these AUC numbers.