  With the widespread digitization of finance and the increasing popularity of
cryptocurrencies, the sophistication of fraud schemes devised by cybercriminals
is growing. Money laundering -- the movement of illicit funds to conceal their
origins -- can cross bank and national boundaries, producing complex
transaction patterns. The UN estimates 2-5\% of global GDP or \$0.8 - \$2.0
trillion dollars are laundered globally each year. Unfortunately, real data to
train machine learning models to detect laundering is generally not available,
and previous synthetic data generators have had significant shortcomings. A
realistic, standardized, publicly-available benchmark is needed for comparing
models and for the advancement of the area.
  To this end, this paper contributes a synthetic financial transaction dataset
generator and a set of synthetically generated AML (Anti-Money Laundering)
datasets. We have calibrated this agent-based generator to match real
transactions as closely as possible and made the datasets public. We describe
the generator in detail and demonstrate how the datasets generated can help
compare different machine learning models in terms of their AML abilities. In a
key way, using synthetic data in these comparisons can be even better than
using real data: the ground truth labels are complete, whilst many laundering
transactions in real data are never detected.
