Risk Matrix
What it is for
Section titled “What it is for”The Risk Matrix is the ruler the engine uses to decide, on its own, where each process goes: continue without intervention, go to manual analysis or be rejected. It combines a risk score, calculated from the case data, with conditions that block the case or send it to review regardless of the score.
The screen appears in the menu for the Administrator and Supervisor profiles. Analyst and Viewer have no access.
Adjustments here change the analysis team’s workload and the operation’s risk appetite. Changes apply to processes analysed after saving; cases already decided keep the decision and the score they were evaluated with.
Which editor your instance shows
Section titled “Which editor your instance shows”The screen exists in two versions, and an instance shows only one of them. What decides is the language of the institution’s panel.
| Institution’s panel | Editor shown | In short |
|---|---|---|
| In Portuguese | Simple editor | A single matrix, with two thresholds and factors that add points |
| In Spanish (instances in Argentina and Uruguay) | Grouped editor | Matrices per flow and per person type, with four weighted factor groups, risk bands and blocking and review conditions |
Both versions carry the same title, RISK MATRIX, and the Reload and Save changes buttons. Everything else differs, and so does the decision logic. Read only the part that matches your panel.
Simple editor (panel in Portuguese)
Section titled “Simple editor (panel in Portuguese)”How the engine decides
Section titled “How the engine decides”The decision happens in two stages, in this order.
- Blocking factors. Evaluated first. If any of them is met, the case is blocked automatically and the score is not considered.
- Scoring factors. Every factor whose condition is met adds its Weight to the score. The total is compared against the two thresholds.
| Case score | Result |
|---|---|
| Greater than or equal to the Block value | Automatic block |
| Greater than or equal to the Review value | Manual analysis |
| Below the Review value | The matrix neither sends the case to review nor blocks it |
The same summary appears in the How risk is calculated box at the bottom of the screen.
Screen map
Section titled “Screen map”| Area | What it shows |
|---|---|
| Header | The title, the subtitle and the Reload and Save changes buttons |
| Information strip | Scope, Last update, Factors and the Active or Inactive badge |
| Decision thresholds | The Review and Block fields |
| Scoring factors | The table of factors that add points |
| Blocking factors | The table of factors that block the case |
| How risk is calculated | The summary of the decision logic |
On the information strip, Scope always shows Global (all flows): this editor works with a single matrix that applies to every flow. The Factors field tells how many scoring factors and how many blocking factors exist. The Active or Inactive badge is informational only; the screen offers no action to activate or deactivate the matrix.
Below the Decision thresholds title, a help sentence repeats the two values in use and follows what you type.
Factors
Section titled “Factors”Each row of the two tables is a condition on a piece of case data.
| Column | Use |
|---|---|
| Code | Factor identifier. It is the name that appears in validation messages |
| Name | Short description, for whoever reads the table |
| Field | Technical name of the data evaluated |
| Operator | How the data is compared with the Value |
| Value | The comparison value |
| Weight | Points added when the condition is met. Only in the Scoring factors table |
| Actions | Remove factor icon |
| Operator | Meaning |
|---|---|
| = | Equal to |
| ≠ | Different from |
| > | Greater than |
| ≥ | Greater than or equal to |
| < | Less than |
| ≤ | Less than or equal to |
An example condition: Field kyc.is_pep, Operator =, Value true describes the situation in which the person is a PEP.
The screen offers no list of fields and does not check whether the name typed exists. Type the exact data name; a typo is not flagged on saving.
A new scoring factor starts with the ≥ operator and Weight 10. A new blocking factor starts with the = operator. Weight accepts whole numbers from zero.
The header of the Scoring factors table shows the total weight, the sum of the weights of every scoring factor. It is the highest score a case can add up to, and it helps choose consistent thresholds: a review threshold above the total weight is never reached.
Actions
Section titled “Actions”| Action | Effect | Watch out |
|---|---|---|
| Add | Creates an empty row at the end of the matching table | |
| Remove factor | Deletes the row | Deletes immediately, without confirmation. Becomes permanent only on saving |
| Save changes | Validates and stores the matrix | If there is a problem, nothing is stored |
| Reload | Fetches the saved matrix again | Discards, without confirmation, everything not saved |
If no matrix exists yet, the screen opens with Review 151, Block 701 and no factors. The first save creates the matrix and shows the notice “Risk matrix created.”. On later saves, the notice is “Risk matrix updated.”.
The screen does not warn when you leave with pending changes. Switching screens or closing the browser tab loses whatever was not saved.
Validation on saving
Section titled “Validation on saving”The screen checks the matrix before storing it and shows the first message it finds. Fix it and save again.
| Message | How to fix it |
|---|---|
| Block limit must be greater than the review limit. | Keep Block above Review. Equal values are also refused |
| Limits cannot be negative. | Use zero or more in both thresholds |
| Every factor needs a code. | Fill in Code on the empty row |
| Factor “code” needs a name. | Fill in Name on the factor indicated |
| Factor “code” needs a field. | Fill in Field on the factor indicated |
| Negative weight on factor “code”. | Use zero or more in the Weight of the factor indicated |
Grouped editor (panel in Spanish)
Section titled “Grouped editor (panel in Spanish)”How the engine decides
Section titled “How the engine decides”The score runs from 0 to 1000 and is a two-level weighted average.
- Each subfactor receives from 0 to 100 points, according to the rule that applies to the case.
- Within each group, subfactors enter a weighted average by their own weight. The subfactor weights of a group add up to 100%.
- The four groups enter a weighted average by Group weight, which also adds up to 100%. The result is multiplied by 10, which takes the scale to 0 to 1000.
A subfactor with no data, or with no rule that applies to the case, is worth zero, and its weight stays in the calculation: it pulls the group average down instead of being ignored. The institution can ask support to redistribute that weight among the other subfactors; this option does not appear on the screen.
Once the score is calculated, the decision follows the bands and the conditions.
| Situation | Result |
|---|---|
| Score greater than Low up to | Manual analysis (that is, Medium and High cases go to review) |
| Score greater than the Block from value | Automatic rejection |
| Any blocking factor met | Automatic rejection |
| Any override with the Rejection effect met | Automatic rejection |
| Any override with the Force High or Manual review effect met | Manual analysis |
| Any manual review trigger met | Manual analysis |
Conditions only make the decision stricter, never lighter. When more than one applies, the most severe wins: rejection prevails over review, and review prevails over continuing without intervention. No override undoes a block.
Mind the exact boundaries. A score exactly equal to Low up to does not go to review, and a score exactly equal to the Block from value is not rejected: in both cases the value has to be exceeded. Despite the field’s name, the screen’s help sentence, “Score greater than”, describes the actual behaviour.
Separate review threshold. The institution may have a review threshold configured by support, independent of the bands. In that case manual review follows that threshold, and the bands only classify the risk. That threshold does not appear on the screen, and saving from the screen does not change it.
Screen map
Section titled “Screen map”| Area | What it shows |
|---|---|
| Header | Title, subtitle and the Reload, Export summary and Save changes buttons |
| View the restrictive lists register | Link to the read-only register of the lists used by the blocks |
| Scope | The selector for the matrix being edited, with a help sentence beside it |
| Summary panel | Scope, Last update, sum of the group weights, badges and the weight distribution bar |
| Person type tabs | Natural Person (KYC) and Legal Entity (KYB) |
| Group cards | Customer, Product and service, Geographic zone and Distribution channel |
| Risk bands | The Low up to, Medium up to and Block from fields |
| Automatic overrides | Conditions that force a decision |
| Blocking factors (hard blocks) | Conditions that reject the case |
| Manual review triggers | Conditions that send the case to manual analysis |
| How risk is calculated | Box with the summary of the logic |
The How risk is calculated box is the same as in the simple editor and speaks of review and block thresholds. In this editor, the description in the How the engine decides section above is what applies.
Scope: global matrix or per flow
Section titled “Scope: global matrix or per flow”There is a global matrix, which applies to every flow, and each flow can have its own. The Scope selector lists Global first and then each flow. In parentheses, each option tells for which person types that scope has its own matrix, for example “Natural Person (KYC) + Legal Entity (KYB)”, or says “no own matrix”.
On opening, the screen selects the first scope that has a matrix. If none has one, it selects Global.
While there are unsaved changes, the selector is locked and the sentence beside it becomes “There are unsaved changes. Save or reload before switching scope.”.
Flow without its own matrix. A flow without its own matrix uses the global one. When you select it, the summary panel warns: “This flow has no matrix of its own: you are looking at the global matrix. What you save here applies to every flow.”. Saving in that situation changes the global matrix, and therefore every flow. To change only that flow, first use the Create a dedicated matrix for this flow button: it copies the global matrix into a draft tied to the flow, and saving the draft creates the flow’s matrix without touching the global one.
Person type
Section titled “Person type”Each scope has one matrix for Natural Person (KYC) and another for Legal Entity (KYB), in tabs. The two are independent: weights, rules, bands and conditions of one do not affect the other.
If a person type has no matrix either in the flow or in the global scope, the tab shows “This scope has no configured matrix” and the Start from the baseline button. It builds a draft with the default configuration, marked with the Draft badge and with a notice that it does not exist on the server yet. The draft applies to no case until it is saved.
Check the bands before saving a draft. The baseline draft comes with Low up to 150, Medium up to 350 and Block from 700. With those values, a score above 700 is rejected automatically. The initial matrices of the instances in Argentina and Uruguay use other values, 400, 700 and 1000.
Groups and subfactors
Section titled “Groups and subfactors”Each group is a card with the name, a description, the number of subfactors and the Group weight field, from 0 to 100. Click the title to open or close the card.
| Group | Weight in the baseline | Subfactors in the baseline |
|---|---|---|
| Customer | 40% | PEP status, Economic activity, Obligated subject, Relationship length, Age (Natural Person only), Legal form (Legal Entity only), Company age (Legal Entity only) |
| Product and service | 15% | Product contracted, Monthly volume, Annual volume |
| Geographic zone | 25% | Country of nationality (on the Legal Entity tab, Country of incorporation), Postal code |
| Distribution channel | 20% | Onboarding channel |
The composition above is the baseline’s. The matrix saved in your instance may carry other weights.
The summary panel adds up the group weights and shows “The weights add up to 100%.” when the sum closes, or the message with the current total when it does not. The bar just below shows each group’s share.
With the card open, each subfactor shows its name, the Source field (the technical name of the data it reads, for reference only) and its weight. The subfactor’s weight field also carries the Group weight label; in that place, it is the subfactor’s weight within the group. The card reports the sum as “Subfactors: total%” and shows the ≠ 100% badge when the group’s sum does not close.
Rules of a subfactor
Section titled “Rules of a subfactor”The View values button opens a window titled with the subfactor’s name. What it contains depends on the kind of subfactor.
Subfactors with rules. The window is an editable table. Each rule defines a situation, the Band and the Score the case receives in it.
| Column | Use |
|---|---|
| From and To | Numeric interval. They appear in Relationship length, Age, Company age, Monthly volume and Annual volume. An empty To means no upper limit |
| Value | The exact value, in the other subfactors |
| Band | Low, Medium or High |
| Score | From 0 to 100 |
Add rule creates a row, and Remove rule deletes it immediately. With no rule, the table shows “No rules. Add one.”. Outside the window, the View values button shows how many rules the subfactor has.
Catalogue subfactors. Economic activity, Country of nationality or of incorporation, Postal code and Onboarding channel read a catalogue, and their View values button carries the Catalogue badge. The window is a read-only list, with search and the Value, Description and Risk columns. The score comes from the risk recorded in the catalogue and is not edited here.
| Risk in the catalogue | Subfactor score |
|---|---|
| Low | 0 |
| Medium | 50 |
| High | 100 |
The list shows at most 500 values. Beyond that, “Showing the first 500. Refine the search to find a value.” appears.
Risk bands
Section titled “Risk bands”| Field | Effect |
|---|---|
| Low up to | A score up to this value is Low. Above it, the case goes to manual analysis, unless a separate review threshold exists |
| Medium up to | A score up to this value is Medium; above it, High |
| Block from | A score greater than this value is rejected automatically |
Below the fields, a bar from 0 to 1000 shows the Low, Medium, High and Block bands with the values in use.
The ordering rule is: Low up to less than Medium up to, and Medium up to less than or equal to the block value.
Overrides, blocks and review triggers
Section titled “Overrides, blocks and review triggers”The three tables use conditions on a piece of case data, with the Code, Field, Operator and Value columns, and the Actions column. The Blocking factors (hard blocks) and Manual review triggers tables also have the Name column, and the Automatic overrides table has the Effect column. The operators are the same as in the simple editor: =, ≠, >, ≥, < and ≤.
| Table | When the condition is met | Button to add one |
|---|---|---|
| Automatic overrides | Applies the chosen Effect | Add override |
| Blocking factors (hard blocks) | Rejects the case, with no possibility of override | Add block |
| Manual review triggers | Sends the case to the manual analysis queue | Add trigger |
| Override effect | Result |
|---|---|
| Force High | Manual analysis |
| Rejection | Automatic rejection |
| Manual review | Manual analysis |
A new override starts with the Force High effect.
The Field is typed; the screen offers no list of fields. A condition on data the case does not have is never met, so a misspelt name simply has no effect. The Remove factor icon deletes the row immediately, without confirmation.
Save, reload and export
Section titled “Save, reload and export”| Action | Effect | Watch out |
|---|---|---|
| Save changes | Validates and stores the person types that changed | Unavailable while there are no changes |
| Reload | Fetches the scopes and the saved matrix again, keeping the selected scope | Discards, without confirmation, whatever was not saved |
| Export summary | Downloads the Customer Risk Matrix configuration summary document | Describes the saved configuration. Unavailable on a draft |
On saving, the screen stores only the person type that was changed. If there is a validation error, it switches to the tab with the problem, shows the message and stores nothing. Once the save completes, “Risk matrix updated.” appears.
The exported summary is a technical annex that attests how the customer risk classification model is parameterised, and accompanies the Risk Tolerance Statement signed by the institution. It covers the person type of the active tab, in the scope in use, and reads what is stored: unsaved changes do not appear in the document.
The screen does not warn when you leave with pending changes. If reading one of the tabs fails, only that tab shows the error, with the option to try again, and the other tab’s changes are kept.
Validation on saving
Section titled “Validation on saving”| Message | How to fix it |
|---|---|
| The group weights must add up to 100% (currently total%). | Adjust Group weight on the cards until it reaches 100% |
| The subfactor weights of “group” must add up to 100% (currently total%). | Open the card with the ≠ 100% badge and adjust the subfactor weights |
| The bands must satisfy: Low less than Medium, and Medium less than or equal to Block. | Reorder the three Risk bands fields |
In the subfactor message, the group appears under its internal name rather than the card label: cliente is Customer, producto is Product and service, canal is Distribution channel and jurisdiccion is Geographic zone.
Common tasks
Section titled “Common tasks”Shorten the manual analysis queue (simple editor).
- In the Review field, raise the value by a small increment.
- Check that Block is still greater than Review.
- Click Save changes.
- Follow the effect on the Dashboard’s Risk Matrix tab before adjusting again.
Create a blocking rule (simple editor).
- Under Blocking factors, click Add.
- Fill in Code and Name.
- Enter the Field, pick the Operator and type the Value.
- Click Save changes and check the confirmation notice.
Calibrate a single flow (grouped editor).
- In the Scope selector, choose the flow.
- If the notice says the flow uses the global matrix, click Create a dedicated matrix for this flow.
- Check the Draft badge on the summary panel.
- Make the adjustments and click Save changes. The global matrix is not changed.
Change the score of a situation (grouped editor).
- Choose the scope and the person type tab.
- Open the group card and click View values on the subfactor.
- In the rules table, change the Score or the Band of the rule you want, or use Add rule.
- Close the window and click Save changes.
Shorten the manual analysis queue (grouped editor).
- On the person type tab, find Risk bands.
- Raise Low up to by a small increment, keeping it below Medium up to.
- Click Save changes.
- If review does not change, the institution probably has a separate review threshold; contact support.
Produce the annex for the Risk Tolerance Statement (grouped editor).
- Save pending changes, because the document describes only what is stored.
- Choose the scope and the person type tab.
- Click Export summary and wait for the download while the button shows Generating…
- Repeat on the other tab if the statement covers both person types.
Frequently asked questions
Section titled “Frequently asked questions”My screen does not match this chapter. Why? There are two editors, and the panel’s language decides which one appears. See the Which editor your instance shows section and read the matching part.
Does a change apply to cases already decided? No. It applies to processes analysed after saving. Earlier cases keep the score and the decision they received.
I saved a flow’s matrix and it changed for every flow. What happened? The flow had no matrix of its own, and the screen was showing the global one, with the matching notice. Saving in that situation changes the global matrix. To adjust only the flow, use Create a dedicated matrix for this flow before editing.
Why is no case rejected by its score? In the initial matrices of Argentina and Uruguay, Block from is 1000. Since the highest score is 1000 and rejection requires exceeding the value, the score alone never rejects. Rejection is left to blocking factors and to overrides with the Rejection effect.
A case whose score equals Low up to went to review. Why? By score alone it should not: the value has to be exceeded. Check the overrides and the manual review triggers, which send the case to analysis regardless of the score, and confirm with support whether the institution has a separate review threshold.
Why can I not edit the score of Postal code or Economic activity? They are catalogue subfactors. The score comes from the risk recorded in the catalogue, and the View values window is for reference only.
The Scope selector does not open. Why? There are unsaved changes. Save, or use Reload, bearing in mind that Reload discards whatever was not saved.
The exported summary does not show what I just changed. The document describes the stored configuration. Save the changes and export again.
I removed a factor by mistake. Can I get it back? If you have not saved yet, yes: use Reload, which returns to the stored configuration and discards every pending change. After saving, the factor has to be created again.
Is there a version history of the matrix? No. The screen shows only the Last update date, and previous values are overwritten. Record the current configuration before a significant change; in the grouped editor, Export summary serves that purpose.
Version 18, updated on