network community

Detección de Anillos de Lavado de Dinero (AML)

Scénario de test & Cas d'usage

Contexto empresarial

Una institución financiera necesita identificar grupos de cuentas sospechosas que realizan transferencias cíclicas entre sí para ocultar el origen de los fondos. El objetivo es aislar estas 'comunidades' transaccionales para una investigación forense más profunda.
Preparación de datos

Creación de un conjunto de datos de transacciones bancarias con patrones circulares deliberados (anillos de fraude) y transacciones legítimas dispersas.

¡Copiado!
1 
2DATA mycas.transacciones_aml;
3INPUT cuenta_origen $ cuenta_destino $ monto;
4DATALINES;
5A01 A02 5000 A02 A03 4800 A03 A01 4900 B01 B02 100 B02 B05 50 C01 C02 9000 C02 C03 8500 C03 C04 8000 C04 C01 9200 D01 E01 200 ;
6 
7RUN;
8 

Étapes de réalisation

1
Carga de la tabla de enlaces en memoria.
¡Copiado!
1 
2PROC CAS;
3TABLE.loadTable / path='transacciones_aml.sashdat' casout={name='transacciones_aml', replace=true};
4 
5RUN;
6 
2
Ejecución del algoritmo de Louvain en modo dirigido para detectar ciclos de flujo de dinero.
¡Copiado!
1 
2PROC CAS;
3network.community / links={name='transacciones_aml'} direction='DIRECTED' algorithm='LOUVAIN' outNodes={name='aml_comunidades', replace=true} outCommunity={name='aml_stats', replace=true};
4 
5RUN;
6 

Resultado esperado


Se espera que la tabla 'aml_comunidades' asigne el mismo ID de comunidad a las cuentas A01, A02, A03 (Anillo 1) y C01, C02, C03, C04 (Anillo 2), separándolas de las transacciones legítimas o aisladas.