Concepts and terminology
| Term | Meaning |
|---|---|
| AIOps | The Cortex data-science stage that derives analytical features and risk signals from normalized applicant data. |
| Actionable Intelligence | The final Cortex engine, which combines enriched data, risk configuration, and rules into an explained recommendation and onward actions. |
| BVN | Bank Verification Number, a unique banking identity number used in Nigeria. |
| Capacity to pay | An assessment of repayment ability using cash flow, affordability, and available security. |
| CIM | Common Information Model, the canonical schema into which applicant data is normalized. |
| Config plane | Merchant Activation: the tenant-specific policy layer that governs downstream enrichment and decisioning. |
| Credit Risk Framework | The scoring categories and point budgets that define how the TrustScore is structured. |
| CRIPE | Credit Risk Intelligence Platform for Enterprise, the unified Cortex platform hosting the five-engine underwriting flow. |
| Direct debit | A consent-based instruction that permits an authorized amount to be collected from a bank account. |
| DBR / IIR / DSCR | Debt Burden Ratio / Income-to-Installment Ratio / Debt Service Coverage Ratio, measures that compare repayment obligations with income or cash available for debt service. |
| DTI / EDTI | Debt-to-Income / Effective Debt-to-Income, measures comparing debt obligations with income. |
| EDA Store | Exploratory Data Analysis Store, where low-confidence or unparsed data can be held for review. |
| ETL | Extract, Transform, Load: the stage that converts source inputs into the normalized model used downstream. |
| GSM | Global Standing Mandate, a consent-based multi-bank direct-debit mechanism used by Recova Pro. |
| Ingestion | The secure gateway that associates incoming data with its tenant and source provenance. |
| Origination | The intake stage that captures applications from supported channels and sources. |
| Override trail | The record showing whether an authorized person changed a computed outcome and why. |
| Propensity to pay | A forward-looking assessment of repayment likelihood based on available behavioral and financial signals. |
| RADAR | CreditChek account-discovery capability used to identify bank accounts linked to a borrower's BVN. |
| Recova Pro | CreditChek's mandate and automated collection service for consent-based repayment. |
| Risk modelling | The weighted factors that translate risk signals into score contributions. |
| Risk signal | A derived indicator—such as income stability, affordability, delinquency, or exposure—used in assessment. |
| Rules | Hard policy conditions that can enforce an outcome independently of the weighted score. |
| Spectrum | CreditChek infrastructure for reporting loan-lifecycle activity to licensed credit-bureau partners. |
| TrustScore | CreditChek's explainable, points-based credit score with category and reason-level attribution. |
| Willingness to pay | A behavioral assessment of repayment intent based on available credit history and repayment patterns. |
Decision engine response​
The decision engine response combines the final recommendation with the evidence used to reach it. Field names and string values retain their response casing. A nullable field can return null when the value is unavailable, is not applicable, or cannot be calculated from the available data.
Top-level fields​
| Key | Type | Meaning |
|---|---|---|
metadata | object | Identifiers that connect the response to the assessment, business, and applicant. |
decision | object | The engine's final lending recommendation, amount, confidence, and decision timestamps. |
trust_score | object | The overall TrustScore result and its explainable scoring breakdown. |
willingness_to_pay | object | Assessment of the applicant's demonstrated repayment behavior and intent. |
capacity_to_pay | object | Assessment of whether the applicant has sufficient, verifiable resources to repay. |
risk_factors | array of objects | Material risks identified during assessment, with an explanation and severity for each one. |
macro_context_summary | string | Summary of relevant macroeconomic conditions considered alongside applicant-level evidence. |
explanation | string | Plain-language explanation of the main evidence and rules behind the final recommendation. |
override | object | Indicates whether the computed TrustScore outcome was overridden and records the reason. |
Metadata​
| Key | Type | Meaning |
|---|---|---|
metadata.assessment_id | string | Unique identifier for this assessment run. Use it to trace the request, response, and related records. |
metadata.business_id | string | Unique identifier for the merchant or business account under which the assessment was performed. |
metadata.bvn | string | Applicant's Bank Verification Number. Treat this value as sensitive identity data. |
Decision​
| Key | Type | Meaning |
|---|---|---|
decision.recommendation | string | Final action proposed by the engine, such as approve or decline. A recommendation can reflect both scoring and hard policy rules. |
decision.approved_amount | number | Maximum principal amount approved by the engine in the product's configured currency. A value of 0.0 means no amount was approved. |
decision.confidence | string | Categorical indication of how strongly the available evidence supports the recommendation, such as low, medium, or high; it is not a probability. |
decision.conditions | object | Proposed commercial terms, repayment structure, covenants, and special requirements attached to the recommendation. Conditions may be present even when individual terms are not yet available. |
decision.decided_at | datetime string | Time at which the engine produced the decision, including its UTC offset. |
decision.saved_at | datetime string | Time at which the decision was persisted, including its UTC offset. This can be later than decided_at. |
Decision conditions​
| Key | Type | Meaning |
|---|---|---|
decision.conditions.interest_rate | number or null | Interest rate proposed for the facility, using the rate convention configured for the lending product. null means no rate was produced. |
decision.conditions.tenor_days | integer or null | Proposed loan duration in calendar days. null means no tenor was produced. |
decision.conditions.repayment_frequency | string or null | Proposed repayment interval, such as daily, weekly, or monthly. null means no frequency was produced. |
decision.conditions.covenants | array of strings | Ongoing obligations or restrictions the borrower must observe during the facility. An empty array means no covenants were returned. |
decision.conditions.special_conditions | array of strings | Additional requirements, exceptions, or decision-specific conditions that must be noted or satisfied. An empty array means none were returned. |
TrustScore​
| Key | Type | Meaning |
|---|---|---|
trust_score.score | number | Final TrustScore on the platform's reporting scale after the scoring model has processed the available factors. |
trust_score.recommendation | string | Score-level action indicated by the TrustScore. Its uppercase presentation, such as DECLINE, does not change its meaning. |
trust_score.breakdown | object | Detailed attribution showing how the TrustScore was constructed and interpreted. |
trust_score.breakdown.trust_score | number | The final TrustScore repeated inside the breakdown so the detailed attribution is self-contained. |
trust_score.breakdown.risk_band | string | Human-readable risk tier mapped from the final TrustScore, such as High Risk. |
trust_score.breakdown.raw_achieved | number | Total unscaled points earned from the applicable scoring factors before conversion to the reported TrustScore scale. |
trust_score.breakdown.raw_max | number | Maximum raw points available under the configured scoring framework. It provides context for raw_achieved. |
trust_score.breakdown.category_breakdown | object | Raw points earned within each configured scoring category. |
trust_score.breakdown.category_breakdown.Personal Details | number | Points contributed by applicant-profile factors such as age, education, marital status, dependants, and residence. |
trust_score.breakdown.category_breakdown.Policy Norms | number | Points contributed by policy-defined eligibility and operating factors, such as employment or business characteristics. |
trust_score.breakdown.category_breakdown.Financial Analysis | number | Points contributed by affordability, income, turnover, and other financial-performance factors. |
trust_score.breakdown.category_breakdown.Credit History | number | Points contributed by bureau history, active facilities, enquiries, repayment performance, and related credit behavior. |
trust_score.breakdown.reasons | array of strings | Factor-level audit trail showing the points earned or why no points were awarded. For example, +50 is a positive contribution, while 0 (no data or poor indicator) means the factor earned no points because evidence was missing or did not meet the configured threshold. |
The affordability reason DBR / IIR / DSCR groups three related measures: Debt Burden Ratio compares recurring debt payments with income, Income-to-Installment Ratio compares income with installment obligations, and Debt Service Coverage Ratio compares cash available for debt service with required debt payments. The exact thresholds and weighting depend on the configured credit policy.
TrustScore reason labels​
| Label | Meaning |
|---|---|
Age | Points based on the applicant's age and the configured eligibility or risk ranges. |
Educational Qualification | Points based on the highest verified education level supplied for the applicant. |
Marital Status | Points assigned to the applicant's declared marital-status category under the configured model. |
Dependents | Assessment of the number of people financially dependent on the applicant and its effect on disposable income. |
Home Ownership | Assessment of the applicant's housing tenure, such as owned, mortgaged, or rented. |
How Long Have You Lived Here | Length of residence at the current address, used as a stability indicator. |
Age in Employment | Length of time in the current employment or occupation, used as an income-stability indicator. |
Business Location | Assessment of the business's operating location using the configured location and verification criteria. |
Business Registration | Whether the business has a recognized and verified registration. |
Net Income | Income remaining after applicable expenses or deductions, used to assess resources available for repayment. |
DBR / IIR / DSCR | Combined affordability assessment based on debt burden, income relative to installments, and cash available for debt service. |
Banking Turnover | Value of account activity over the analysis period, used as evidence of business or income volume. |
Outward Cheque Returns | Cheques issued from the applicant's account that were returned unpaid; repeated returns can indicate liquidity or account-management risk. |
Repayment of Existing Active Loans | Observed payment performance on loans that are currently open or being serviced. |
No. of Enquiries | Number of recent credit-information searches recorded for the applicant. A high count can indicate frequent credit seeking. |
No. of Loans Servicing | Number of active loans on which the applicant is currently making or expected to make payments. |
Overall Score | Any configured composite or upstream score used as an additional scoring factor. The reason output shows whether it contributed points. |
Willingness to pay​
| Key | Type | Meaning |
|---|---|---|
willingness_to_pay.score | number | Component score for repayment behavior and intent on the configured willingness-to-pay scale. |
willingness_to_pay.classification | string | Risk label derived from the willingness-to-pay evidence, such as High Risk. |
willingness_to_pay.positive_signals | array of strings | Favorable repayment-behavior evidence identified by the engine. An empty array means no positive signals were identified from the available data. |
willingness_to_pay.risk_signals | array of strings | Adverse behavioral or credit-history indicators that weaken confidence in repayment intent. |
willingness_to_pay.behavioural_observations | array of strings | Plain-language findings derived from the applicant's observed repayment and bureau history. |
willingness_to_pay.summary | string | Concise narrative explaining the willingness-to-pay assessment. |
willingness_to_pay.verdict | string | Overall acceptability judgment for repayment willingness, such as Acceptable or Unacceptable. |
willingness_to_pay.recommended_lending_confidence | string | Suggested confidence level for lending based specifically on willingness-to-pay evidence. This can differ from the confidence on the final combined decision. |
Capacity to pay​
| Key | Type | Meaning |
|---|---|---|
capacity_to_pay.score | number | Component score for affordability and repayment ability on the configured capacity-to-pay scale. |
capacity_to_pay.classification | string | Capacity category derived from available financial evidence. Insufficient Data means the engine could not verify enough evidence to make a reliable capacity assessment. |
capacity_to_pay.recommended_monthly_repayment | number or null | Estimated monthly repayment the applicant can support. null means a reliable repayment amount could not be calculated. |
capacity_to_pay.recommended_loan_amount | number or null | Estimated principal amount supportable by the assessed capacity. null means a reliable loan amount could not be calculated. |
capacity_to_pay.positive_signals | array of strings | Favorable income, cash-flow, employment, or affordability evidence. An empty array means none was identified from the available data. |
capacity_to_pay.collateral_valuation | object | Assessment of security or receivables available to support the proposed exposure. |
capacity_to_pay.cash_flow_metrics | object | Calculated measures describing account inflows, their stability, and the relationship between inflows and outflows. |
capacity_to_pay.risk_signals | array of strings | Adverse or missing financial evidence that reduces confidence in repayment capacity. |
capacity_to_pay.cashflow_observations | array of strings | Plain-language findings derived from cash-flow analysis. The response uses cashflow without an underscore in this key. |
capacity_to_pay.summary | string | Concise narrative explaining the capacity-to-pay assessment. |
capacity_to_pay.verdict | string | Overall sufficiency judgment for repayment capacity, such as Sufficient or Insufficient. |
capacity_to_pay.lending_recommendation | string | Lending action suggested by the capacity analysis alone. The final decision can also incorporate willingness, TrustScore, policy rules, and other risks. |
Collateral valuation​
| Key | Type | Meaning |
|---|---|---|
capacity_to_pay.collateral_valuation.collateral_type | string | Form of security supporting the exposure. Unsecured means no pledged collateral supports the facility. |
capacity_to_pay.collateral_valuation.receivables_backed | boolean | Whether eligible invoices or other receivables are being used as repayment support or security. |
capacity_to_pay.collateral_valuation.total_invoice_value | number or null | Combined face value of invoices submitted for receivables-backed assessment. |
capacity_to_pay.collateral_valuation.advance_rate_percentage | number or null | Percentage of eligible receivables that may be advanced as financing, before other limits or deductions. |
capacity_to_pay.collateral_valuation.discount_fee_percentage | number or null | Percentage fee or discount applied to receivables financing. |
capacity_to_pay.collateral_valuation.eligible_invoices_count | integer or null | Number of invoices that satisfy the configured eligibility rules. |
capacity_to_pay.collateral_valuation.unsecured_portion | number or null | Part of the proposed exposure not covered by recognized collateral or eligible receivables. |
capacity_to_pay.collateral_valuation.summary | string | Plain-language summary of the security assessment. |
capacity_to_pay.collateral_valuation.verdict | string | Overall collateral judgment. None indicates that no collateral was provided or assessed, rather than a positive or negative collateral quality rating. |
Cash-flow metrics​
| Key | Type | Meaning |
|---|---|---|
capacity_to_pay.cash_flow_metrics.monthly_average_inflow | number | Average incoming account value per month over the analysis period, in the account's currency. High inflow alone does not prove that income is stable or available for repayment. |
capacity_to_pay.cash_flow_metrics.income_stability | string | Categorical assessment of how consistent verified inflows are over time, such as STABLE. |
capacity_to_pay.cash_flow_metrics.inflow_outflow_ratio | number or null | Ratio of total or average inflows to outflows over the analysis period. A value above 1 generally means inflows exceed outflows; null means it could not be calculated reliably. |
Risk factors​
Each entry in risk_factors uses the following fields:
| Key | Type | Meaning |
|---|---|---|
factor | string | Short name of the risk area, such as Credit History, TrustScore, or Graph Risk. Graph risk refers to risk inferred from relationship or network checks; an unavailable graph check may cause the engine to apply a conservative buffer. |
detail | string | Applicant-specific explanation of the evidence or condition that created the risk factor. |
severity | string | Relative materiality of the risk, commonly low, medium, or high. Severity helps prioritize factors and is not itself a probability of default. |
Context and explanation​
| Key | Type | Meaning |
|---|---|---|
macro_context_summary | string | Narrative of relevant external conditions—such as inflation, monetary policy, interest rates, or default pressure—that may affect affordability and portfolio risk. Macroeconomic context supplements rather than replaces applicant-level evidence. |
explanation | string | Consolidated reason for the final recommendation, including decisive rules, critical alerts, missing evidence, and the strongest risk findings. |
In macroeconomic summaries, CBN means the Central Bank of Nigeria and MPR means Monetary Policy Rate, the benchmark policy rate set by the CBN. Delinquency means a repayment remained unpaid after its due date; overdue days measures how long it remained past due. A critical alert is a signal configured to trigger or strongly influence a policy outcome, including an automatic decline where the applicable rule requires it.
Override​
| Key | Type | Meaning |
|---|---|---|
override.agent_overrode_trustscore | boolean | Whether an authorized decision agent or reviewer replaced the outcome implied by the computed TrustScore. false means no override occurred. |
override.override_reason | string or null | Recorded justification for an override. It is normally null when agent_overrode_trustscore is false. |