> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Punteggio di rischio delle transazioni: formula e soglie

> Didit assegna a ogni transazione un punteggio di rischio tramite regole e soglie. 1,000 al mese incluse, poi $0.001 ciascuna.

Ogni transazione riceve un **punteggio** (**score**), un numero intero che riassume il suo rischio. Il punteggio determina lo stato della transazione (`APPROVED`, `IN_REVIEW`, `DECLINED`) e la decisione di creare un alert, aprire un caso o richiedere un intervento dell'utente.

## La formula

```
score = Σ(score_delta of every matched rule)
```

* Punteggio base: 0.
* Ogni regola corrispondente contribuisce con il proprio `score_delta` configurato (in genere 25–35).
* Una transazione senza regole corrispondenti ottiene un punteggio di 0.

## Soglie e stati

Le soglie del punteggio si configurano per applicazione in *Transactions → Settings*.

| Impostazione | Predefinito | Significato |
| - | - | - |
| `preferred_review_score_threshold` | 75 | I punteggi ≥ questo valore passano a `IN_REVIEW` |
| `preferred_decline_score_threshold` | 500 | I punteggi ≥ questo valore passano a `DECLINED`. Il valore predefinito è anche il massimo (`500`) e significa "non rifiutare mai in base al punteggio", quindi abbassalo per iniziare a rifiutare in base al punteggio. |

Assegnazione dello stato:

```
if decline_threshold < 500 and score >= decline_threshold: status = DECLINED
else if score >= review_threshold: status = IN_REVIEW
else: status = APPROVED
```

Le singole azioni delle regole possono sovrascrivere questa logica. Ad esempio, una regola con `action: change_status → DECLINED` rifiuta la transazione indipendentemente dal punteggio.

## Contributi delle regole: esempio pratico

Supponiamo che queste regole si attivino su un'unica transazione:

| Regola | `score_delta` |
| - | - |
| Transazione in uscita di importo elevato (>\$10,000) | 30 |
| Controparte in una giurisdizione ad alto rischio | 35 |
| Pattern di frazionamento rilevato | 35 |

Punteggio totale = 30 + 35 + 35 = **100**.

Con una soglia di revisione di 60 e una soglia di rifiuto di 85, questa transazione risulta `DECLINED`.
Con le soglie predefinite (75 per la revisione, 500 per il rifiuto), risulta `IN_REVIEW`, perché il valore predefinito non rifiuta mai in base al punteggio.

## Azioni che sovrascrivono lo stato

Le regole possono anche impostare direttamente lo stato, bypassando le soglie del punteggio:

| Azione della regola | Effetto |
| - | - |
| `change_status → DECLINED` | Transazione rifiutata indipendentemente dal punteggio |
| `change_status → IN_REVIEW` | Transazione inviata in revisione indipendentemente dal punteggio |
| `change_status → AWAITING_USER` | La transazione attende che l'utente rimedi: il workflow indicato nell'azione della regola; le regole di libreria ricorrono alla scelta nelle tue impostazioni, poi al tuo workflow di Autenticazione biometrica (che richiede un volto memorizzato), quindi al tuo workflow predefinito |
| `add_score(n)` | Contribuisce solo al punteggio; nessuno stato forzato |
| `add_tags([...])` | Aggiunge tag per il filtraggio nella console; nessun effetto sul punteggio |
| `add_to_list(...)` | Aggiunge un identificatore a una blocklist |

Una singola regola può avere più azioni. Ad esempio: `add_score(35)` + `add_tags(["structuring"])` + `add_note("Auto-tagged by structuring preset")`.

## Perché i punteggi sono migliori delle regole rigide

Una soglia pura (ad esempio "rifiuta ogni transazione superiore a \$100k") colpisce sia le transazioni di valore elevato legittime sia i rischi reali. Combinare più regole con `score_delta` moderati e una soglia di revisione e di rifiuto ti offre:

* **Punteggio stratificato**: nessuna singola regola causa un rifiuto; devono concordare più segnali.
* **Sensibilità regolabile**: alza o abbassa le soglie senza modificare la definizione delle regole.
* **Ordine di gravità**: una transazione con punteggio 65 va in revisione (da controllare); con punteggio 90 viene rifiutata (caso grave).

## Configurare le soglie

Da *Transactions → Settings*:

* **Soglia di revisione**: alzala se la coda di revisione è sovraccarica; abbassala per intercettare più casi limite.
* **Soglia di rifiuto**: alzala per ridurre i rifiuti dovuti a falsi positivi; abbassala per orientarti verso un blocco più aggressivo. Impostala al valore massimo (`500`) per inviare i punteggi elevati in revisione invece di rifiutarli automaticamente.

Le modifiche si applicano solo alle **nuove** transazioni: quelle storiche mantengono lo stato assegnato al momento della valutazione.

## Modalità test per le regole

Le regole possono essere eseguite in modalità `TEST`:

* La regola valuta le transazioni ma non contribuisce al punteggio né allo stato.
* Vengono creati record `TransactionRuleRun` con `is_test = true`.
* Ti permette di verificare la selettività di una regola senza rischiare rifiuti in produzione.

Passa ad `ACTIVE` quando sei soddisfatto della selettività.

## Campo severity e campi legacy

Il campo `severity` di Transaction e TransactionAlert può avere valore nullo ed è un campo legacy. Le nuove valutazioni delle regole non lo impostano. Usa `score` come segnale principale di rischio.

## Ispezionare i punteggi

### Tramite API

Ogni risposta relativa a una transazione include `score` e un array `rule_runs[]` con una voce per ogni regola corrispondente (consulta lo [schema della risposta](https://docs.didit.me/it/transaction-monitoring/response-schema.md#esecuzioni-delle-regole) per tutti i campi):

```json theme={null}
{
  "txn_id": "tx-0002",
  "status": "IN_REVIEW",
  "score": 65,
  "rule_runs": [
    {
      "rule_title": "High-value outbound",
      "matched": true,
      "score_delta": 30,
      "severity": null,
      "status_target": null,
      "action_summary": "score +30"
    },
    {
      "rule_title": "High-risk jurisdiction counterparty",
      "matched": true,
      "score_delta": 35,
      "severity": "HIGH",
      "status_target": "IN_REVIEW",
      "action_summary": "score +35; add_tag:high_risk_country"
    }
  ]
}
```

### Nella console

Nella pagina di dettaglio della transazione, la scheda **Punteggio** mostra la ripartizione del contributo di ogni regola corrispondente e la mappatura finale dello stato. Passa il mouse sul badge del punteggio per vedere i valori di soglia usati al momento della valutazione.

## Prossimi passi

> [card] [Regole](https://docs.didit.me/it/transaction-monitoring/rules.md)
>
> Struttura delle regole e valutazione.

> [card] [Alert](https://docs.didit.me/it/transaction-monitoring/alerts.md)
>
> Cosa succede quando si attiva una regola.

> [card] [Impostazioni](https://docs.didit.me/it/transaction-monitoring/settings.md)
>
> Configura le soglie.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.