Skip to content

Credit Decisioning

When credit is declined, the applicant must be told the specific reasons. This project makes those reasons checkable.

The application page: model attributions, the eight verifier checks, the drafted notice and the reviewer's decision The application page

A calibrated logistic regression scores a consumer-credit application. Code, not AI, applies a cost-derived policy, derives up to four principal reasons from the model's coefficients, and writes the adverse-action notice from a reviewed template. A separate code verifier checks every notice with eight rules, and a mutation suite proves those rules catch 14 kinds of defect. A human decides. Beside the product, a read-only AI analyst answers questions and drafts reports; code checks every number it states.

Owner Step
Model Calibrated probability that the applicant would not repay
Code Cost policy (decline is cheaper above p = 1/6), principal reasons, notice text, eight verifier checks
Human Approve, send the verified notice, or override with a comment
AI (read-only) Explain the evidence and cases, explore aggregates, draft reports (saved only with approval)

A method demonstration, not a lender

Built on the 1994 UCI German Credit benchmark (1,000 applicants, amounts in Deutsche Marks). The review queue holds 60 synthetic applicants derived from it. Not compliance or legal advice. See Honest limits.

Start with the case study, or run it yourself in two commands.