optNetwork cycle

Erkennung von Kreislaufbuchungen (Geldwäsche)

Scénario de test & Cas d'usage

Geschäftskontext

Eine Bank möchte verdächtige Transaktionsmuster identifizieren, bei denen Geld über mehrere Konten im Kreis fließt (Smurfing/Structuring), um die Herkunft zu verschleiern. Es sollen alle gerichteten Zyklen im Transaktionsnetzwerk gefunden werden.
Über das Set : optNetwork

Netzwerkanalyse und Graphenalgorithmen.

Entdecken Sie alle Aktionen von optNetwork
Datenaufbereitung

Erstellung einer Transaktionstabelle mit einem versteckten 3-Knoten-Zyklus (A->B->C->A).

Kopiert!
1DATA mycas.transactions; INPUT SOURCE $ target $ amount; DATALINES;
2KontoA KontoB 1000
3KontoB KontoC 950
4KontoC KontoA 900
5KontoA KontoD 200
6KontoD KontoE 200
7; RUN;

Étapes de réalisation

1
Laden der Daten in den CAS-Speicher.
Kopiert!
1 
2PROC CASUTIL;
3load
4DATA=mycas.transactions casout="transactions" replace;
5 
6RUN;
7 
2
Ausführung der Cycle-Aktion zur Identifizierung aller gerichteten Zyklen.
Kopiert!
1 
2PROC CAS;
3optNetwork.cycle / direction="DIRECTED" links={name="transactions", vars={from="
4source", to="target"}} out={name="cycle_nodes"} outCyclesLinks={name="cycle_links"} maxCycles="ALL";
5 
6RUN;
7 

Erwartetes Ergebnis


Die Aktion muss erfolgreich laufen und den Zyklus KontoA -> KontoB -> KontoC -> KontoA identifizieren. Die Tabelle 'cycle_nodes' sollte 3 Einträge für diesen Zyklus enthalten.