Skip to content

Overview

Toyo Suzumura edited this page Nov 6, 2020 · 14 revisions

Background

Transaction monitoring systems (TMS) such as Prime (The Prime Compliance Suite from FIS Risk and Compliance Solutions), Oracle Mantas, and Nice/Actimize issue "alerts" by the TMS rules. However, it is often said that small fractions of alerts are actually "SARs" (Suspicious Activity Reports), and the rest of the alerts are not actual SARs and called "false alert.

AMLSim firstly attempt to reflect real situations by generating alerts imitating such TMS rules with SAR labels for supervised learning, and users can use the generated data to evaluate their machine learning models to detect SAR alerts with higher accuracy.

Approach

  • First, it generates a transaction network structure in a Python program. It defines some alert (or SAR) transaction patterns such as cycle, fan-in/out, bipartite network with non-obvious relationships as well as the whole transaction network structure. It also generates timestamps, amounts and other transaction properties.
  • Then, it performs a transaction simulation. Each account sends money to the destination accounts determined by the transaction graph generator. Some accounts involved in the alert transaction patterns send money to each other.

Architecture

The simulator has two components: "Transaction Graph Generator" and "Transaction Simulator".

Workflow

Transaction Graph Generator

The transaction graph generator is a Python program which creates a transaction network structure.

  1. First, it Generates all accounts with attributes (e.g. country and business type).
  2. Next, it constructs the base transaction graph from the degree distribution parameter file.
  3. It constructs the whole transaction graph with alert transaction patterns. It constructs a whole transaction graph with accounts (vertices) and transactions (edges) and then loads parameter files and adds properties to all accounts.
Loadfile

Transaction Simulator

The transaction simulator is a multi-agent simulation program to simulate transactions.

  1. It constructs account and alert group objects from the generated transaction graph with alert patterns.
  2. It iterates the simulation step. In each simulation step, account agents make transactions with their neighbor accounts.