This repository contains the source code developed as part of my master’s thesis. The methods, models, and experiments implemented here contributed to the following publication:
Stan Verlaan, Ioana Hulpuș, and Erik Jan van Leeuwen (2025)
LAS-GNN: A Graph Neural Network for Temporal Money Laundering Motif Detection.
In Proceedings of the 6th ACM International Conference on AI in Finance (ICAIF ’25).
Association for Computing Machinery, New York, NY, USA, 256–264.
https://doi.org/10.1145/3768292.3770410
We enhance Graph Neural Networks (GNNs) for identifying suspicious accounts involved in money laundering patterns. Extending the work of Egressy et al. (AAAI 2024), we propose a novel GNN architecture to detect suspicious subgraph motifs in the weighted temporal networks underlying financial data. Our architecture allows for the indication of edge directionality within a single Aggregator function, element-wise edge weight multiplication, and an LSTM aggregator that can learn from the sequential order of edges imposed by timestamps. The resulting model, LAS-GNN, is based on an inductive learning framework and can generalize across different networks. Experimental results on synthetic networks show that LAS-GNN is robust and can identify basic money laundering motifs to near perfection, outperforming a graph isomorphism network benchmark with edge features.
The project is designed to run on Python 3.10. We recommend to install the dependencies inside an environment:
python -m venv .venv
source .venv/bin/activate
Once the environment is activated, install the required dependencies:
pip install -r requirements.txt
For the graph neural network implementation, we use PyTorch and PyTorch Geometric (+ additional libraries). For more detailed instructions, see this installation guide.
To run any of the WSM experiments, simply run main.py. The configuration used can be specified in configs/config.yaml. It can be used to tweak any combination of GNN techniques and parameter settings. For explanations of the parameters, see the README in the same directory. Settings can also be specified through command line arguments using hydra.
Some of the results of the thesis may not be reproduced exactly, given that some of the operations used are intrinsically non-deterministic on the GPU, as explained here. However, you should obtain results very close to those in the thesis.
This thesis was submitted for the master's degree in Computing Science at Utrecht University, 2024. Any acknowledgements and references can be found in the report or published paper.

