Scoring Models · Credit Denial Probability
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
themortgagellm™