themortgagellm

‹ All scoring models

Scoring Models · Credit Approval Probability

Category: Origination

What it does

Positive-framing sibling of Credit Denial Probability. Gradient-boosting classifier rating the probability that an application receives a lender approval decision (action_taken IN ('1','2') — originated OR approved-but-not-accepted). Trained on the same 2018-2023 HMDA Snapshot LAR universe as the denial model (49M applications, 50% deterministic sample), tested on 2024-2025. Same HMDA-style input schema, same architecture (HistGradientBoosting + isotonic calibration), same application universe filter (action_taken IN ('1','2','3','4','5')). The only difference is the target column — what counts as "1" in the binary outcome. class_weight=None (approval is the majority class at ~65%, so balancing would hurt rather than help).

Why it matters. The approval and denial models score the same applications but in opposite directions, and they are not complements of each other. The two probabilities will not sum to 1.0 because the application universe includes withdrawn and incomplete files (action_taken IN ('4','5')) where the lender never rendered a final decision. That gap (typically 15-20% of HMDA applications) is the reason we ship both models rather than just one and its inverse.

When to use which: denial is the right surface for risk management, fair-lending self-assessment, and exam-defense workflows (regulators ask about denial rates and disparate denial outcomes). Approval is the right surface for loan-officer triage, lead prioritization, and any borrower-facing context where the directional tone of "78% likely to be approved" reads better than "22% likely to be denied". Same numeric information, different operational framing for different users.

What's not included. Approval here means a lender approval decision was rendered, not that the file ultimately funded. P(funded | application) = P(approved) × P(pull-through | approved), and the pull-through model handles the second factor independently. Use approval + pull-through together when you need the joint fund probability.

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

API connector

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

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

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

Note: The approval probability is a pre-decision indicator, not an underwriting decision. Treat it as a positive-framing screening signal — useful for lead workflow but not as documentation supporting any actual credit approval.

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

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

See also: How to read these AUC numbers.