optNetwork connectedComponents

Erkennung von Geldwäscherings (Anti-Money Laundering)

Scénario de test & Cas d'usage

Geschäftskontext

Eine Bank möchte verdächtige Netzwerke von Konten identifizieren, die Geld untereinander transferieren. Ziel ist es, isolierte Cluster von Kunden zu finden, die stark miteinander interagieren, was auf Geldwäscherings hindeuten könnte. Wir betrachten die Transaktionen als ungerichtete Beziehungen.
Über das Set : optNetwork

Netzwerkanalyse und Graphenalgorithmen.

Entdecken Sie alle Aktionen von optNetwork
Datenaufbereitung

Erstellung einer Transaktionstabelle mit zwei offensichtlichen Clustern (Ring A-B-C und Paar D-E) sowie isolierten Transaktionen.

Kopiert!
1 
2DATA mycas.bank_transactions;
3INPUT sender $ receiver $ amount;
4DATALINES;
5Acc1 Acc2 1000 Acc1 Acc3 500 Acc2 Acc3 200 Acc4 Acc5 10000 Acc6 Acc7 50 Acc7 Acc8 50 ;
6 
7RUN;
8 

Étapes de réalisation

1
Laden der Daten und Ausführung der Standard-Komponentenanalyse (Ungerichtet)
Kopiert!
1 
2PROC CAS;
3ACTION optNetwork.connectedComponents / links={name="bank_transactions"} direction="UNDIRECTED" outNodes={name="CustomerClusters", replace=true} out={name="ClusterSummary", replace=true};
4 
5RUN;
6 
2
Überprüfung der Ergebnisse: Identifizierung der Cluster-IDs pro Kunde
Kopiert!
1 
2PROC CAS;
3ACTION TABLE.fetch / TABLE={name="CustomerClusters"} sortBy="concomp";
4 
5RUN;
6 

Erwartetes Ergebnis


Die Tabelle `CustomerClusters` sollte jedem Konto (`sender`/`receiver`) eine `concomp` (Komponenten-ID) zuweisen. Acc1, Acc2 und Acc3 sollten dieselbe ID haben. Acc4 und Acc5 eine andere, ebenso Acc6, Acc7 und Acc8. `ClusterSummary` zeigt die Gesamtzahl der Ringe.