Writing Frameworks Calculators Editorial About Shop — Follow The Tail ↗ Let's talk
Interactive Framework

Auto Loan Application Scorecard

A real scorecard, fitted rather than invented. Twelve attributes — bureau data plus debt-to-income — weight-of-evidence binned and fed to a logistic regression, then scaled to points. Auto rate-shopping inquiries are de-duplicated, so shopping several lenders for one car costs nothing. Every factor has a “not available” option — because in bureau data, missing is a value, not a gap.

Target60+ DPD / 18mo
Attributes12
Dev sample60,000
Bad rate11.4%
Gini (out-of-time)0.739
KS0.591

Applicant bureau file

Attributes ordered by information value. Choose “not available” wherever the file is silent.

Application score

Predicted bad rate
Odds (good:bad)
Decision
384cut-off 560702

Points breakdown

Highlighted rows are attributes where the file had nothing to say.

AttributeSelectedPoints

What the missing bins are worth

Three attributes can be absent. They mean three different things — and the model priced each separately.

If this is missingIt meansPoints

How this scorecard was built

This is not a mock-up. A 60,000-record development sample was generated with a latent risk process and realistic bureau attribute correlations, then binned, fitted and validated. The points you see are the fitted coefficients, scaled. The build script and full report are reproducible.

1. Weight of evidence, not imputation

Each attribute is cut into bins, and every bin gets a weight of evidence: WOE = ln(% of goods in bin ÷ % of bads in bin). Positive WOE means the bin is over-represented among good accounts. The attribute’s total predictive power is its information value, IV = Σ(%good − %bad) × WOE.

The crucial move is that “missing” is simply another bin. It gets its own WOE, estimated from its own observed bad rate. There is no imputation, no mean-filling, no missing-indicator flag bolted on beside a filled value. The data is asked what absence means, and it answers.

2. Why that matters here

In this build, the four attributes that can be missing landed in four different places — one best, one worst, two in between. A single imputation strategy would have been wrong for at least three of them.

Months since delinquency, missing → the highest-scoring bin on the card. Missing here means never delinquent. Mean-imputing it would assign a clean applicant the average of the delinquent population — punishing them for an event that never happened. This is the single most common and most damaging imputation error in credit modelling.

Revolving utilisation, missing → near the bottom. Missing means no revolving trades exist, which is a thin-file signal, and the model prices it close to a borrower running 50–74% utilisation. Imputing zero — the intuitive choice, since they owe nothing — would have scored them as the best possible borrower. Exactly backwards.

Prior auto performance, missing → the worst bin of the five. No prior auto loan scores below having gone 90+ days late on one. That looks wrong until you sit with it: a known-bad borrower is a measured risk, while a first-time auto borrower is an unmeasured one, and on a low-severity attribute the unknown carries more expected loss than the mild known. Underwriters have always felt this. WOE quantifies it.

2b. Debt-to-income is not a bureau attribute

Income is not furnished to consumer credit bureaus, so DTI cannot come off a credit report. It comes off the application. Including it turns this from a pure bureau scorecard into a hybrid application+bureau model, which is what real auto lenders build — but it changes the risk profile of the attribute itself. Stated income is unverified, which means DTI carries misstatement exposure that bureau attributes do not, and it goes missing far more often.

Which is exactly why its missing bin is interesting. “Income not verified” prices at roughly the same risk as a 45–49% DTI — the model’s read is that an applicant who will not evidence income should be assumed stretched. That is a defensible underwriting posture, and here it is derived rather than asserted.

2c. Auto rate shopping carries no penalty

Someone buying one car may pull quotes from a dealer, a bank and two credit unions in a fortnight. Counting those as four separate credit-seeking events would penalise rational shopping behaviour. So the scorecard collapses all auto inquiries inside the window to a single event; only non-auto inquiries accumulate.

This is not a courtesy — it is what the data says. Across the development sample, bad rate is essentially flat as raw auto inquiries rise from 0 to 5+ (a spread of 1.7 percentage points). Across non-auto inquiries it climbs from 6.3% to 35.7% — a spread of 29.4 points, roughly 17× larger. Auto shopping volume simply does not predict default; other credit-seeking does.

Try the Rate shopper preset against Prime: an applicant who pulled six auto quotes last month scores identically to one who pulled a single quote, because both register as one inquiry event.

2d. Credit mix

Ordered from no trades through revolving-only, instalment-only, both, and both plus a mortgage. The points rise monotonically across that ladder, and the mortgage tier is the strongest — not because mortgages are magic, but because carrying one demonstrates sustained management of a large secured obligation. Note the modest information value: credit mix earns its place on the card, but it is nowhere near payment history, and no applicant should open an account they do not need in order to improve it.

3. Logistic regression on the WOE values

Binned attributes are replaced by their WOE values and fed to a logistic regression predicting P(bad). WOE-transformed inputs are already on a common log-odds scale, which is what makes the coefficients comparable and the final points additive. Attributes below IV 0.02 would be dropped as unpredictive; in this build all twelve cleared it.

4. Scaling to points

Points use the standard PDO convention: Factor = PDO ÷ ln(2), Offset = Base − Factor × ln(Base odds), anchored at 600 points = 30:1 odds with 20 points to double the odds. Each bin’s points are −(βi × WOE) × Factor plus an even share of the intercept and offset. The sign is flipped so the score rises with creditworthiness, which is the convention every downstream user expects.

5. Validation

Gini of 0.715 on development and 0.719 out-of-time — the gap between them is what tells you the model has not been overfitted. KS 0.567. Bad rates fall monotonically across every score band, and observed log-odds rise almost linearly with score, confirming the points-to-odds relationship the scaling promised.

The honest caveat: this is a synthetic sample, so the discrimination is cleaner than production reality. On a real bureau file, expect a Gini in the 0.45–0.60 range for an application scorecard of this type. The method transfers; the number flatters.

What would change in production

Reject inference, to correct for only observing outcomes on approved applicants. Formal monotonic binning with statistical tests rather than judgement cuts. Population stability monitoring on every attribute. Adverse action reason codes derived from the largest negative point contributions. And a fair-lending review — several bureau attributes correlate with protected characteristics, and a scorecard that is statistically sound can still be legally unusable.

Educational model built on synthetic data. Not a production scorecard, not a lending recommendation, and not fit for credit decisioning. Runs entirely in your browser — no inputs are stored or transmitted.