How Scoring Works
Every assessment is built from structured evidence, bounded by confidence limits, and produced by versioned deterministic code. Same inputs, same policy version, same result. Every time.

The scoring engine evaluates cash-flow evidence across seven components. Each captures a different dimension of the applicant's financial pattern, and each carries its own confidence level.
The scoring engine does not use a machine-learning model to calculate the assessment. It uses versioned code with fixed rules. Given the same extracted transactions and the same policy version, the engine will always produce the same score. There is no randomness, no hidden state, and no model discretion in the scoring step.
AI is used in the extraction and categorisation phase: identifying transactions, normalising amounts, and assigning categories. The scoring engine is a separate, deterministic process. The AI never sets credit limits, adjusts policy weights, or makes lending decisions. When the extraction model produces low-confidence results, the system flags affected transactions for human review rather than silently including them.
Every assessment produces a structured summary that the lender can review, question, and use alongside their own policies. This is a contract example, not application code.
type Assessment = {
scoreRunId: string
statementPeriod: { from: string; to: string }
dataQuality: "sufficient" | "limited" | "needs_review"
extractionConfidence: number
incomeFloorMinor: number | null
consistency: number | null
volatility: number | null
trend: "improving" | "stable" | "declining" | "uncertain"
flags: Array<{
code: string
severity: "information" | "review" | "material"
evidenceTransactionIds: string[]
}>
score: number | null
tier: string | null
scoringPolicyVersion: string
extractionModelVersion: string
limitations: string[]
}The assessment is designed to be explainable. Pilot access includes full visibility into the evidence, confidence, and policy versions behind each assessment.