Interactive tool
Move a weighting, watch the rating move
Six factors, three synthetic customers, and the same arithmetic the product's scoring engine runs. Push the PEP weighting to zero and see what happens to the enhanced due diligence requirement — that one is the whole reason this page exists.
Sample customer
Three synthetic profiles. They are attribute sets rather than named people — a plausible name attached to a 'foreign PEP, correspondent banking' profile on a public page would be a fabricated record about someone who may share it.
- SAMPLE-01 — salaried retail customerNigerian resident, salaried, Tier 3 KYC, savings account, only low-severity monitoring alerts.
- SAMPLE-02 — bureau de change operatorNigerian bureau de change on a current account, Tier 2 KYC, medium-severity alerts, not a PEP.
- SAMPLE-03 — foreign PEP, correspondent relationshipForeign PEP in a grey-list jurisdiction holding a correspondent relationship, Tier 1 KYC, high-severity alerts.
The model
Weights are 0–100 each and are not required to total 100 — the shipped default totals 120 and relies on the engine's final clamp to 0–100. A factor at zero is skipped entirely rather than contributing zero.
Risk score
11.00
On a 0–100 scale, by weighted sum.
Rating band
low
Bands are matched descending: the first whose threshold the score reaches wins. This one starts at 0 and sets a 36-month review cycle.
Enhanced due diligence: not triggered
Neither the band nor any categorical trigger requires enhanced due diligence for this profile. Change PEP status, occupation or geography to see a trigger fire while the rating stays where it is.
Review cycle: 36 months.
Where the score falls on the scale
- low0–34
- medium35–64
- high65–100
What each factor contributed
Contribution is the factor’s score multiplied by its weight and divided by 100. These sum to the weighted total.
- Customer geography10 × 25 ÷ 100 = 2.50
- Occupation or business type10 × 20 ÷ 100 = 2.00
- Politically exposed person0 × 30 ÷ 100 = 0.00
- Product type10 × 15 ÷ 100 = 1.50
- Transaction-monitoring behaviour20 × 20 ÷ 100 = 4.00
- CBN KYC tier10 × 10 ÷ 100 = 1.00
| Step | Calculation | Result |
|---|---|---|
| Customer geography | NG → rule NG → 10 × 25 ÷ 100 | 2.50 |
| Occupation or business type | SALARIED → rule SALARIED → 10 × 20 ÷ 100 | 2.00 |
| Politically exposed person | NONE → rule NONE → 0 × 30 ÷ 100 | 0.00 |
| Product type | SAVINGS → rule SAVINGS → 10 × 15 ÷ 100 | 1.50 |
| Transaction-monitoring behaviour | ALERT_LOW → rule ALERT_LOW → 20 × 20 ÷ 100 | 4.00 |
| CBN KYC tier | TIER_3 → rule TIER_3 → 10 × 10 ÷ 100 | 1.00 |
| Weighted total | sum of contributions | 11.00 |
| Weight sum | sum of active weights | 120.00 |
| Aggregated | weighted total | 11.00 |
| Final score | clamped to 0–100 | 11.00 |
How this works
- Each factor is matched, then weightedThe customer's attribute is matched against the factor's rules — exact match first, then the catch-all, then the unmatched sentinel. The matched rule's score is multiplied by the weight and divided by 100.
- The contributions are aggregated and clampedWeighted sum adds them; weighted average divides by the active weight; max factor takes the largest single one. The result is then clamped to 0–100, which is what makes a weight total of 120 workable.
- Bands are matched descending, then triggers applyThe first band whose threshold the score reaches wins. Categorical EDD triggers are applied after that, and can require enhanced due diligence without moving the rating.
The factors, weights, value scores, band thresholds and triggers here are the product’s shipped default configuration, which every institution is expected to replace with its own approved risk policy. They are published defaults, not a recommendation about what your weighting should be, and the product itself refuses to invent them: its risk-model editor starts empty, on the grounds that factors and thresholds are institution policy rather than software.
The categorical triggers in this configuration
- pep_status ∈ { DOMESTIC_PEP, FOREIGN_PEP, RCA, WATCHLIST_PEP }
- Politically exposed person (BRD §8.1)
- occupation ∈ { CASH_INTENSIVE, BUREAU_DE_CHANGE }
- Cash-intensive business (BRD §8.1)
- geography ∈ { FATF_GREY, FATF_BLACK }
- High-risk jurisdiction (BRD §8.1)
Only explicit match rows can be selected as a trigger; a catch-all cannot stand in for a policy decision.
Start the conversation
Your weighting, not ours
The interesting version of this exercise uses your risk policy, your factors and your customer book. That is a working session with a compliance specialist, and it is the fastest way to find out whether your current model does what your policy says it does.