The scorecard studio

How does a weight of evidence scorecard turn an application into a score and a reason?

Harborline's installment scorecard keeps 8 of 13 candidate characteristics and ranks out of time loans with an AUROC of 0.662. Every point on it comes from a bin's weight of evidence, so a declined applicant's reasons are the characteristics furthest below their best points. Move a bin edge below and watch the information value and the monotonicity respond; then score an applicant at the cutoff of 580.

AUROC, test months
0.662
Gini 0.324
Characteristics kept
8 of 13
Cutoff
580
Approval rate, test months 80.3%
Same engine on real accounts
0.768
AUROC on 30,000 UCI credit card accounts

Bin a characteristic

Drag a handle to move a coarse bin edge, click a gap between two bars to add one, or select a handle and press Delete to remove it. Arrow keys move a selected handle.

0.0%4.8%9.6%-inf to 0.0697: 1.05% default, 287 loans0.0697 to 0.1011: 1.39% default, 287 loans0.1011 to 0.1322: 1.40% default, 286 loans0.1322 to 0.1577: 2.10% default, 286 loans0.1577 to 0.1832: 1.74% default, 287 loans0.1832 to 0.212: 3.51% default, 285 loans0.212 to 0.23680000000000004: 2.11% default, 285 loans0.23680000000000004 to 0.2625: 2.80% default, 286 loans0.2625 to 0.2897: 4.20% default, 286 loans0.2897 to 0.3169: 2.08% default, 288 loans0.3169 to 0.3486: 2.46% default, 285 loans0.3486 to 0.3784: 4.55% default, 286 loans0.3784 to 0.4089: 4.91% default, 285 loans0.4089 to 0.4416000000000001: 3.85% default, 286 loans0.4416000000000001 to 0.48: 3.85% default, 286 loans0.48 to 0.5197: 4.88% default, 287 loans0.5197 to 0.5687: 7.69% default, 286 loans0.5687 to 0.6275: 5.61% default, 285 loans0.6275 to 0.6987: 8.74% default, 286 loans0.6987 to +inf: 8.04% default, 286 loansAdd an edge hereAdd an edge hereAdd an edge hereAdd an edge hereAdd an edge hereAdd an edge hereAdd an edge hereAdd an edge hereAdd an edge hereAdd an edge hereAdd an edge hereAdd an edge here0.06970.1320.1830.2370.290.3490.4090.480.5690.699revolving_utilization, fine bins in order (upper edge)
The pipeline's bins
Information value
0.333
fitted 0.333
Monotone
✓ yes
WoE falls with the value
Bins
8
none under 5%
BinShareDefaultWoEIVPoints
(-inf, 0.0697]5.0%1.05%1.3310.05196.1
(0.0697, 0.1322]10.0%1.40%1.0380.06991.3
(0.1322, 0.1832]10.0%1.92%0.7150.03786.1
(0.1832, 0.3486]30.0%2.86%0.3070.02579.4
(0.3486, 0.48]20.0%4.29%-0.1130.00372.5
(0.48, 0.5197]5.0%4.88%-0.2490.00370.3
(0.5197, 0.6275]10.0%6.65%-0.5780.04464.9
(0.6275, +inf]10.0%8.39%-0.8290.10260.9

Points are at the coefficient fitted on the pipeline's bins (-0.566). Moving an edge changes the weight of evidence and so the points; the coefficient is refit only when the pipeline runs with new bins.

Score an applicant

The API scores the application when it is awake; otherwise the browser scores it from the same published scorecard file, and the result says which. Protected attributes and their listed proxies are not on the form because the scorecard cannot use them.

Fill in the form and press Score.

The scorecard

Points per bin, scaled so 600 points are odds of 30 to one and every 20 points double the odds. Source: generated, booked installment loans with an observed outcome, seed 20260831, as of 2026-08-31.

revolving_utilization

BinDefaultPoints
(-inf, 0.0697]1.0%96.1
(0.0697, 0.1322]1.4%91.3
(0.1322, 0.1832]1.9%86.1
(0.1832, 0.3486]2.9%79.4
(0.3486, 0.48]4.3%72.5
(0.48, 0.5197]4.9%70.3
(0.5197, 0.6275]6.7%64.9
(0.6275, +inf]8.4%60.9

bureau_score

BinDefaultPoints
(-inf, 672]8.6%60.9
(672, 694]6.5%65.7
(694, 716]4.5%71.7
(716, 747]3.7%74.9
(747, 763]2.0%84.9
(763, 795]1.7%87.6
(795, +inf]1.2%92.9

dti

BinDefaultPoints
(-inf, 0.1193]1.2%96.2
(0.1193, 0.1672]2.3%84.5
(0.1672, 0.2117]2.6%82.2
(0.2117, 0.2491]3.0%78.9
(0.2491, 0.2713]3.3%77.2
(0.2713, 0.2843]4.9%69.8
(0.2843, +inf]5.9%65.9

employment_months

BinDefaultPoints
(-inf, 15]6.2%62.7
(15, 25]5.2%66.9
(25, 71]4.1%73.1
(71, 206]3.4%77.5
(206, +inf]1.9%91.1

oldest_trade_months

BinDefaultPoints
(-inf, 77]6.2%69.3
(77, 95]4.8%72.1
(95, 134]4.0%74.0
(134, 150]3.8%74.5
(150, 170]3.4%75.6
(170, 196]3.0%76.9
(196, +inf]2.8%77.5

purpose

BinDefaultPoints
home_improvement4.8%67.7
auto4.3%71.1
other3.8%74.6
debt_consolidation3.7%75.3
major_purchase2.2%91.6

inquiries_6m

BinDefaultPoints
(-inf, 1]3.5%75.3
(1, 2]4.8%72.6
(2, +inf]5.3%71.7

loan_amount

BinDefaultPoints
(-inf, 5,600]2.8%83.2
(5,600, 14,100]3.6%76.1
(14,100, 15,200]3.8%74.7
(15,200, +inf]4.6%69.3

Every candidate, kept or dropped

characteristicivkept
revolving_utilization0.333kept
bureau_score0.310kept
dti0.233kept
employment_months0.074kept
oldest_trade_months0.069kept
purpose0.045kept
inquiries_6m0.030kept
loan_amount0.024kept
annual_income0.011information value 0.0113 below the floor
housing_status0.009information value 0.0087 below the floor
term_months0.008information value 0.0084 below the floor
delinquencies_24m0.004information value 0.0036 below the floor
channel0.002information value 0.0021 below the floor

Source: generated, booked installment loans with an observed outcome, seed 20260831, as of 2026-08-31.

Did it recover what the generator put in?

The loan book was generated with a stated risk structure, so the pipeline had to recover it before any number here was trusted.

parameterstatedestimateinterval_lowinterval_hightolerancewithin
Latent risk rank order (Spearman; perfect ordering is 1)1.0000.7750.7750.7750.600true
Latent risk coefficient0.9500.9400.8900.9910.150true
Macro sensitivity per point of unemployment0.3000.3050.2540.3560.100true
Loose vintage effect0.4500.4700.3970.5430.150true
Deposit beta, checking0.0200.0200.0200.0200.010true
Deposit beta, savings0.3800.3800.3800.3800.030true
Deposit beta, time0.7200.7200.7200.7200.030true
Recovery share at 24 months, installment0.2200.2040.2040.2040.050true

Source: generated, booked installment loans with an observed outcome, seed 20260831, as of 2026-08-31.

The same engine on real accounts

measuregenerateduci
Loans or accounts with an outcome13,18830,000
Default rate6.3%22.1%
Characteristics kept87
Scorecard AUROC, test0.6620.768
Scorecard Gini, test0.3240.536
Challenger AUROC, test0.6670.788
Logistic AUROC, test0.6680.750
Scorecard calibration error, test0.02860.0125

Source: generated, booked installment loans with an observed outcome, seed 20260831, as of 2026-08-31.

The first reason on declined test applications

reasondeclinesshare
Proportion of balances to credit limits on revolving accounts is too high1,53961.1%
Credit history reported by the credit bureau is insufficient or delinquent68027.0%
Income insufficient for amount of credit requested28411.3%
Length of employment140.6%

Source: generated, booked installment loans with an observed outcome, seed 20260831, as of 2026-08-31.

Method and limitations

  • The applications are generated. Nothing here is a real person's credit file, and the bureau score is a generated stand in for one.
  • The scorecard under predicts default on the loosened vintages (mean predicted 4.44% against 9.61% observed on the validation months), which is why its validation report concludes approved with conditions and expected loss applies an overlay.
  • Moving a bin edge in the studio recomputes weight of evidence, information value and points at the fitted coefficient. It does not refit the regression; the pipeline does that.