Banks rarely hand a loan officer a raw probability — they hand over a score. A credit scorecard takes the log-odds output of a trained classifier and rescales it onto a simple integer scale using a "points to double the odds" (PDO) convention, so that every applicant's total can be decomposed into points contributed by income, debt-to-income ratio, payment history and utilisation. This simulation generates a synthetic population of applicants, trains a real logistic regression by gradient descent on cross-entropy loss, and rescales the trained weights into an additive scorecard.
Dragging the score cutoff changes who gets approved, and the approval rate, default rate among approvals, and expected portfolio profit all update together from the same threshold sweep over the same underlying population — all three numbers are read from the same sorted list of scores, so they cannot move independently of one another.
What is a credit scorecard, and how is it different from just using a raw probability?
A scorecard takes the log-odds output of a trained logistic regression and rescales it onto a simple integer scale, typically 300–850, using an offset and a factor. Because the rescaling is a straight affine transform of the log-odds, it preserves all of the model's discriminating power exactly. What is gained is interpretability and additivity: the score decomposes into points per feature, so a bank can show an applicant exactly how many points came from income, DTI, payment history and utilisation.
How are the points for each feature actually computed?
The simulation trains a logistic regression by gradient descent on cross-entropy loss, producing a weight per standardised feature plus a bias. PDO scaling converts that into a factor and offset: factor = PDO / ln(2). Each feature's points are −factor × weight × (standardised value); the bias becomes fixed base points. The base points plus the four feature points always sum exactly to the total score.
Why do approval rate, default rate and profit all move together when I drag the cutoff?
All three are computed from the same sorted list of scores and the same fixed population of good/bad outcomes — only the cutoff changes who is approved. Raising the cutoff always shrinks approvals and always removes the riskiest applicants first, so all three curves trace out one single threshold sweep.
PDO defines how many score points correspond to a doubling of the good:bad odds ratio — if PDO = 20 and 600 corresponds to 50:1 odds, then 620 corresponds to 100:1 and 580 to 25:1. Twenty points per doubling is a long-standing bureau-score convention that spreads scores meaningfully across a 300–850 range without over- or under-sensitising the scale.
A very high cutoff drives default toward zero but rejects many profitable good accounts, so profit is low. Lowering the cutoff lets in more marginal-but-profitable goods, raising profit even as the default rate creeps up, until the marginal accounts being admitted are bad often enough that their expected losses exceed the margin earned on the marginal goods — a genuinely different optimum from minimising default rate alone.
Each applicant's true outcome is a Bernoulli draw from a ground-truth logistic function of income, DTI, payment history and utilisation plus noise. Real banks only observe outcomes for accounts they actually approved — rejected applicants never generate a repayment history — a gap called reject inference that this simulation's fully-observed population sidesteps.
Adverse selection is the way the mix of applicants who accept an offer can shift with price — safer applicants may walk away from a higher rate while riskier ones stay. This simulation holds the population fixed and only changes who is approved, isolating scorecard mechanics cleanly rather than mixing in offer-acceptance dynamics.
Model quality scales how strongly the four features separate good and bad applicants before any training happens. Higher quality means less overlap between the two score distributions, so the same scorecard achieves lower default at any approval rate and the profit curve lifts and sharpens; lower quality squeezes the distributions together and every point on the trade-off gets worse at once.