network centrality

Detección de mulas de dinero y redes de lavado

Scénario de test & Cas d'usage

Contexto empresarial

Una entidad financiera necesita identificar cuentas que actúan como 'puentes' o 'hubs' en una red de lavado de dinero. Se busca analizar las transacciones entre cuentas para encontrar nodos con alta centralidad de intermediación (cuentas puente) y alto PageRank (cuentas donde se acumulan fondos), considerando el monto de las transacciones como peso.
Preparación de datos

Simulación de transacciones bancarias sospechosas. Nodos = Cuentas, Enlaces = Transferencias (peso = monto).

¡Copiado!
1DATA mycas.transacciones_bancarias;
2 LENGTH from_acc $10 to_acc $10;
3 INPUT from_acc $ to_acc $ monto;
4 DATALINES;
5ACC_01 ACC_02 5000
6ACC_01 ACC_03 2000
7ACC_02 ACC_04 4500
8ACC_03 ACC_04 1900
9ACC_04 ACC_MASTER 6000
10ACC_05 ACC_04 3000
11ACC_06 ACC_05 1000
12;
13RUN;

Étapes de réalisation

1
Carga de la tabla de enlaces en memoria.
¡Copiado!
1 
2PROC CAS;
3 
4TABLE.loadTable / caslib="casuser" path="transacciones_bancarias.sashdat" casout={name="transacciones", replace=true};
5 
6RUN;
7 
8QUIT;
9 
2
Ejecución de centrality con grafo dirigido y métricas ponderadas.
¡Copiado!
1PROC CAS;
2 ACTION network.centrality /
3 links={name="transacciones_bancarias"}
4 direction="DIRECTED"
5 linksVar={from="from_acc", to="to_acc", weight="monto"}
6 between="WEIGHT"
7 pageRank="WEIGHT"
8 outNodes={name="scores_fraude", replace=true};
9RUN; QUIT;

Resultado esperado


Se genera la tabla 'scores_fraude'. Las cuentas como ACC_04 deberían tener una alta centralidad de intermediación ponderada (al recibir y enviar fondos de múltiples fuentes) y un alto PageRank, señalándolas como puntos críticos para investigación.