GARG-AML against Smurfing: A Scalable and Interpretable Graph-Based Framework for Anti-Money Laundering
Organizations: KU Leuven · University of Antwerp - imec · University of Southampton
Abstract
Money laundering, a global problem estimated to account for 2%-5% of the global GDP, required regulators to enforce stringent rules on financial institutions to combat it. One prominent laundering method, called smurfing, relies on breaking up transactions into smaller amounts to evade detection. Given the complexity of laundering schemes, involving numerous transactions across multiple parties, network analytics is an important tool for anti-money laundering. However, recent advances in network analytics have leaned heavily on black-box network embedding methods, limiting their utility in businesses. To address the specific nature of smurfing and banks' operational requirements, this paper introduces GARG-AML, a novel graph-based method that quantifies smurfing risk through a single interpretable metric derived from the structure of the second-order transaction network. Unlike traditional methods, GARG-AML provides a balance between computational efficiency and transparency, enabling integration into existing AML workflows. We demonstrate the scalability of GARG-AML on large random networks, and its performance on two open-source money laundering datasets. Our results highlight the potential of GARG-AML to enhance smurfing detection and support investigative decision-making.
Figures & tables
| Paper | Pattern | Client Scoring | Parallel Calculation | All Nodes | Code | Scalable |
| Zhdanova et al. (2014) | Scatter-gather | ✓ | ✓ | ✓ | ||
| Li et al. (2020) | Scatter-gather | ✓ | ✓ | ✓ | ||
| Lee et al. (2020) | Scatter-gather | ✓ | ✓ | |||
| Starnini et al. (2021) | Scatter-gather & gather-scatter | ✓ | ✓ | |||
| Shadrooh and Nørvåg (2024) | Scatter-gather | ✓ | ✓ | |||
| Prado-Romero et al. (2018) | Gather-scatter | ✓ | ✓ | ✓ |
| Paper | Dataset | Size Dataset (nodes) | Metrics |
| Zhdanova et al. (2014) | Simulated | 10,000 | Precision, recall |
| Li et al. (2020) | Proprietary & Czech Financial | 6,130,000 & 11,374 | F1, Time |
| Lee et al. (2020) | Czech Financial & Enron | 11,374 & 16,771 | Accuracy |
| Starnini et al. (2021) | Proprietary | 18,000,000 (reduced to 21,000) | Time |
| Shadrooh and Nørvåg (2024) | Czech Financial & Enron & Darpa | 11,374 & 16,771 & 371,000 | Time, Precision, Recall, F1 |
| Prado-Romero et al. (2018) | Bitcoin | 942,204 | Recall |
| Parameter | Values | Barabási- Albert | Erdős- Rényi | Watts- Strogatz |
| Number of initial nodes | {100; 10,000; 100,000} | ✓ | ✓ | ✓ |
| Number of edges | { 1; 2; 5 } | ✓ | ✗ | ✓ |
| Edge (rewiring) probability | { 0.001; 0.01 } | ✗ | ✓ | ✓ |
| Number of smurfing patterns | { 3; 5 } | ✓ | ✓ | ✓ |
| Total number of combinations | 18 | 12 | 36 |
| 3 smurfing patterns | 5 smurfing patterns | |||||||
| Generator | Nodes | Edges | Labels (%) | Nodes | Edges | Labels (%) | ||
| 100 initial nodes | ||||||||
| Barabási-Albert | 1 | – | 145 | 199 | 46.90 | 180 | 291 | 70.00 |
| Barabási-Albert | 2 | – | 155 | 345 | 60.00 | 179 | 385 | 69.83 |
| Barabási-Albert | 5 | – | 141 | 582 | 50.35 | 175 | 678 | 74.29 |
| Erdős-Rényi | – | 0.001 | 151 | 122 | 52.32 | 182 | 196 | 70.33 |
| Dataset | # nodes | # edges | percentage ML |
| HI-Small | 515,080 | 5,078,345 | |
| LI-Large | 2,054,390 | 176,066,557 |
| Type of pattern | HI-Small | LI-Large |
| Fan-out | 342 | 1,985 |
| Fan-in | 318 | 1,935 |
| Gather-scatter | 716 | 3,857 |
| Scatter-gather | 626 | 3,694 |
| Cycle | 287 | 1,871 |
| Random | 191 | 1,458 |
| In percentage | 0 | 10 | 20 | 30 | 50 | 90 |
| Is Laundering | 1.234 | 0.445 | 0.175 | 0.103 | 0.020 | 0.013 |
| Fan-out | 0.070 | 0.029 | 0.013 | 0.009 | 0.002 | 0.001 |
| Fan-in | 0.066 | 0.022 | 0.006 | 0.005 | 0.002 | 0.001 |
| Gather-scatter | 0.133 | 0.056 | 0.018 | 0.014 | 0.003 | 0.001 |
| Scatter-gather | 0.072 | 0.036 | 0.023 | 0.010 | 0.003 | 0.000 |
| Cycle | 0.053 | 0.019 | 0.013 | 0.005 | 0.000 | 0.000 |
| In percentage | 0 | 10 | 20 | 30 | 50 | 90 |
| Is Laundering | 6.292 | 0.216 | 0.041 | 0.019 | 0.002 | 0.000 |
| Fan-out | 0.105 | 0.005 | 0.002 | 0.001 | 0.000 | 0.000 |
| Fan-in | 0.101 | 0.005 | 0.002 | 0.002 | 0.000 | 0.000 |
| Gather-scatter | 0.184 | 0.008 | 0.004 | 0.003 | 0.000 | 0.000 |
| Scatter-gather | 0.106 | 0.015 | 0.005 | 0.002 | 0.000 | 0.000 |
| Cycle | 0.085 | 0.009 | 0.002 | 0.001 | 0.000 | 0.000 |
| Hyperparameter | Value | Origin |
|---|---|---|
| FlowScope ( Li et al., 2020 ) | ||
| Number of blocks | 3 | default |
| Penalty weight ( in the paper) | 4 | default |
| Search strategy | fast greedy decreasing ( level ) | default |
| Maximum block size | 10 accounts per mode (source, middle, target) | set a |
| Flow graph | 3-partite, with the directed transaction graph as both hops | set |
| Method | Precision | F1-score | AUC-ROC | AUC-PR | P@10 |
| All laundering | |||||
| FlowScope | – | ||||
| AutoAudit | – | ||||
| GARG-AML Undirected | |||||
| GARG-AML Directed | |||||
| GARG-AML Undir. Tree | |||||
| Metric | Pattern | Reject | ||
| AUC-ROC | laundering | 303.99 | 8.5e-62 | True |
| AUC-ROC | separate | 212.54 | 2.5e-42 | True |
| AUC-ROC | new mules | 345.30 | 1.2e-70 | True |
| AUC-ROC | existing mules | 150.18 | 3.7e-29 | True |
| AUC-PR | laundering | 303.86 | 9.1e-62 | True |
| AUC-PR | separate | 224.27 | 8.2e-45 | True |
| Hub removal (top ) | Louvain resolution ( ) | ||||||||
| Pattern | 5 | 10 | 100 | 1 | 5 | 10 † | 20 | 50 | |
| GARG-AML targets | |||||||||
| Gather-scatter | 661 | 0.0 | 0.0 | 0.0 | 49.2 | 58.7 | 57.0 | 58.4 | 60.7 |
| Scatter-gather | 601 | 0.0 | 0.0 | 0.0 | 22.5 | 9.7 | 4.3 | 1.7 | 0.7 |
| Other injected patterns | |||||||||
| Fan-out | 331 | 0.0 | 0.0 | 0.0 | 45.3 | 48.9 | 48.3 | 50.8 | 48.3 |
Appendix figures & tables14 assets
Supplementary material from the paper’s appendix.
Appendix
| Bank | Clients | Transactions | Laundering tx. | |||
| % | % | % | ||||
| 012 | 2,639 | 0.51 | 99,452 | 1.96 | 146 | 2.82 |
| top-50 | 55,423 | 10.76 | 1,592,556 | 31.36 | 1,722 | 33.26 |