Skip to content

Credit Scoring Engine

The Credit Scoring Engine provides a configurable, weighted scorecard system for evaluating borrower creditworthiness during loan application processing. Scores are calculated automatically from client data, with manual overrides available.

Navigation: Administration → Products → Loan Products → Credit Score Cards

Overview

The engine follows the industry-standard 5C model (Character, Capacity, Capital, Conditions, Collateral) and supports:

  • Weighted criteria — each factor carries a configurable weight
  • Point ranges — map raw values to point scores (numeric ranges, categories, booleans)
  • Risk grades — translate final scores into approval decisions (A–E)
  • Auto-resolve — pull client data automatically from the system (age, tenure, DTI, balances)
  • Manual input — officers can enter values for criteria that require judgement
┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│  Score Card  │────▶│   Criteria   │────▶│    Ranges    │
│  (template)  │     │  (factors)   │     │ (value→pts)  │
└──────────────┘     └──────────────┘     └──────────────┘


┌──────────────┐     ┌──────────────┐
│    Grades    │────▶│   Decision   │
│  (A/B/C/D/E) │     │  (approve/   │
│              │     │   review/    │
│              │     │   reject)    │
└──────────────┘     └──────────────┘

Key Concepts

ConceptDescription
Score CardA named scorecard template with a score range (e.g. 0–1000) and version
CriterionA single scoring factor (e.g. Client Age, DTI Ratio) with a weight and max points
RangeA mapping rule within a criterion: "if value is 26–35, award 70 points"
GradeA risk tier defined by score thresholds: "600–799 = Grade B = Auto Approve"
Data SourceWhere the raw value comes from — AUTO (system-resolved) or MANUAL (officer input)
Evaluation TypeHow values are matched: NUMERIC_RANGE, CATEGORY, or BOOLEAN

Score Cards

Score cards are managed from the Credit Score Cards tab on the Loan Products page.

Score Card Fields

FieldDescriptionRequired
Card NameDescriptive name (e.g. "Standard Risk Card")Yes
Model VersionVersion tag (e.g. "v1.0")Yes
Score MinMinimum possible score (default 0)No
Score MaxMaximum possible score (default 1000)No

Actions

  • Create — add a new score card
  • Edit — modify card name/version/range
  • Configure — open the criteria & grades management dialog
  • Delete — remove a score card

Configuring a Score Card

Click the Configure (⚙) action on a score card row to open the configuration dialog with two tabs:

Scoring Criteria Tab

Each criterion represents a factor in the credit assessment.

FieldDescription
CodeUnique identifier (e.g. CLIENT_AGE, DTI_RATIO)
NameDisplay name
Category (5C)CHARACTER, CAPACITY, CAPITAL, CONDITIONS, COLLATERAL, or CUSTOM
Evaluation TypeNUMERIC_RANGE, CATEGORY, or BOOLEAN
Data SourceAUTO (system resolves) or MANUAL (officer enters)
Auto SourceWhen AUTO, which system data point to pull (see Data Sources below)
WeightRelative importance (0.00–1.00). All weights should sum to 1.0
Max PointsMaximum points this criterion can award
Default PointsPoints when no range matches (fallback)
RequiredWhether this criterion must have a value to evaluate

Point Ranges

Each criterion has one or more ranges that map raw values to point scores:

For NUMERIC_RANGE:

Range LabelMin (≥)Max (<)Points
18–25182530
26–35263570
36–503650100
51+5112060

For CATEGORY: Each range specifies a category value (e.g. "MALE", "MARRIED").

For BOOLEAN: Each range specifies true (1) or false (0).

Risk Grades Tab

Grades map final scores to risk tiers and approval decisions.

FieldDescription
CodeGrade code (e.g. A, B, C, D, E)
NameDisplay name (e.g. "Excellent", "Good")
Min ScoreLower bound of score range (inclusive)
Max ScoreUpper bound of score range (inclusive)
DecisionAUTO_APPROVE, MANUAL_REVIEW, or AUTO_REJECT
Rate Adj (bps)Interest rate adjustment in basis points (e.g. +50bps for Grade B)
Max LTV %Maximum loan-to-value percentage (optional)
ColorHex color for UI display

Example Grade Scale (0–1000):

GradeRangeDecisionRate Adjustment
A — Excellent800–1000Auto Approve+0 bps
B — Good600–799Auto Approve+50 bps
C — Fair400–599Manual Review+150 bps
D — Poor200–399Manual Review+300 bps
E — Very Poor0–199Auto Reject+500 bps

Available Data Sources

When a criterion uses AUTO data source, the engine resolves the value from client/application data at evaluation time. Available sources:

CodeLabelCategoryType
CLIENT_AGEClient Age (years)CHARACTERNUMERIC_RANGE
CLIENT_GENDERClient GenderCHARACTERCATEGORY
MARITAL_STATUSMarital StatusCHARACTERCATEGORY
CUSTOMER_TENURE_MONTHSCustomer Tenure (months)CHARACTERNUMERIC_RANGE
EXISTING_LOAN_COUNTActive Loan CountCHARACTERNUMERIC_RANGE
ARREARS_LOAN_COUNTLoans in Arrears CountCHARACTERNUMERIC_RANGE
DTI_RATIODebt-to-Income RatioCAPACITYNUMERIC_RANGE
AFFORDABILITY_RATIOAffordability RatioCAPACITYNUMERIC_RANGE
MONTHLY_GROSS_INCOMEMonthly Gross IncomeCAPACITYNUMERIC_RANGE
MONTHLY_NET_INCOMEMonthly Net IncomeCAPACITYNUMERIC_RANGE
MONTHLY_EXPENSESMonthly ExpensesCAPACITYNUMERIC_RANGE
DISPOSABLE_INCOMEDisposable IncomeCAPACITYNUMERIC_RANGE
SAVINGS_BALANCESavings / Deposit BalanceCAPITALNUMERIC_RANGE
TOTAL_OUTSTANDING_DEBTTotal Outstanding DebtCAPITALNUMERIC_RANGE
COLLATERAL_COVERAGECollateral Coverage RatioCOLLATERALNUMERIC_RANGE
REQUESTED_AMOUNTRequested Loan AmountCONDITIONSNUMERIC_RANGE

Evaluating a Loan Application

During loan application processing, the Credit Scoring stage includes the scoring engine:

Workflow

  1. Select Score Card — choose which scorecard to evaluate against
  2. Click Evaluate — the engine:
    • Loads all active criteria for the selected card
    • For each AUTO criterion, resolves the value from client/application data
    • Matches each value against configured ranges to determine points
    • Calculates weighted score: Σ(points × weight) / Σ(max_points × weight) × score_max
    • Looks up the matching grade based on the final score
  3. Review Breakdown — the evaluator displays:
    • Per-criterion results (raw value, matched range, points, weight, weighted score)
    • Total score, weighted score, assigned grade, and decision
  4. Auto-Fill — results automatically populate the form fields:
    • Score, Risk Grade, Pass/Fail, Application Score
    • Credit Assessment JSON (full breakdown for audit)
  5. Override — officers can manually adjust any field before submitting

Score Calculation

For each criterion:
  weighted_points = points_earned × weight

Total weighted = Σ weighted_points
Maximum weighted = Σ (max_points × weight)

Final score = (Total weighted / Maximum weighted) × score_max

Example:

CriterionPointsWeightWeighted
Client Age (32 yrs → "26–35")700.3021.0
DTI Ratio (0.28 → "Good 20–35%")750.4030.0
Customer Tenure (18 mo → "1–3 years")800.3024.0
Totals1.0075.0 / 100.0

Final score = 75.0 / 100.0 × 1000 = 750 → Grade B (Good)Auto Approve

Permissions

PermissionDescription
CREATE_CREDIT_SCORE_CARDCreate new credit score card templates
UPDATE_CREDIT_SCORE_CARDEdit score cards, manage scoring criteria, ranges, and risk grades
DELETE_CREDIT_SCORE_CARDRemove score cards and their associated criteria and grades
VIEW_CREDIT_SCORE_CARDView score cards, criteria, ranges, grades, and data sources
EVALUATE_CREDIT_SCORECARDRun the scoring engine during loan application processing
VIEW_CREDIT_SCORE_HISTORYView client credit score history records

API Endpoints

MethodPathDescription
GET/credit-score-card-criteriaList criteria for a score card
POST/credit-score-card-criteriaSave (upsert) criteria with ranges
DELETE/credit-score-card-criteriaDelete a single criterion (cascades ranges)
GET/credit-score-card-gradesList grades for a score card
POST/credit-score-card-gradesSave (replace all) grades
POST/evaluate-credit-scorecardRun the evaluation engine
GET/credit-scoring-data-sourcesList available auto-resolve data sources

All endpoints are under the loan application setup base path.

Best Practices

  1. Weights should sum to 1.0 — while not strictly enforced, the weighted calculation is most meaningful when total weight equals 1.0
  2. Cover the full score range with grades — ensure no gaps between grade min/max boundaries
  3. Start with 3–5 criteria — the 5C model provides a natural grouping; avoid over-engineering with too many factors
  4. Use AUTO sources where possible — reduces manual data entry and ensures consistency
  5. Version your score cards — create new versions (v1.1, v2.0) rather than modifying active cards, so historical scores remain traceable
  6. Review grade thresholds periodically — calibrate against actual loan performance data
  7. Set Default Points conservatively — when no range matches (data unavailable), a low default prevents inflated scores

Troubleshooting

IssueCauseFix
Evaluate button disabledNo score card selectedSelect a score card from the lookup
Score returns 0All criteria have no matching rangesCheck that ranges cover the expected value space
AUTO source returns NULLClient data missing (e.g. no date_of_birth)Ensure client profile is complete, or use MANUAL
Grade shows "—"Final score falls outside all grade rangesEnsure grades cover the full score_min to score_max
Weights don't sum to 1.0Criteria weights misconfiguredEdit criteria and adjust weights

PinkApple ERP by Stat Solutions Network