Skip to content

Transaction Model: Alert Model

Hiroki Kanezashi edited this page Oct 13, 2021 · 14 revisions

This page describes AML typologies (alert and SAR models). See this page for the definition of "alert" and "SAR".

Implementation

The Java implementation of all AML typologies (suspicious transaction models) is in the src/amlsim/model/aml/ directory (amlsim.model.aml package).

  • AMLTypology.java: The base class of SAR transaction typologies
  • FanOutTypology.java: fan-out
  • FanInTypology.java: fan-in
  • CycleTypology.java: cycle
  • BipartiteTypology.java: bipartite
  • StackTypology.java: stacked bipartite
  • RandomTypology.java: random transactions
  • ScatterGatherTypology.java: scatter-gather (fan-out -> fan-in)
  • GatherScatterTypology.java: gather-scatter (fan-in -> fan-out)

All subclasses must have these following methods:

  • getType: Return transaction type description
  • setSchedule: Set transaction schedules from the scheduling model ID
  • makeTransactions: Exchange money among members of the alert.

Parameters

  • simulation step range (start - end)
  • transaction scheduling model
    • simultaneous
    • sequential with the fixed interval
    • random

1. Fan-out (single sender and multiple receiver accounts)

Implementation: FanOutTypology.java

A suspicious account m (the main account of the AML typology) distributes (large or rounded amount of) money to other multiple accounts a, b and c.

alert-1-fanout

2. Fan-in (multiple sender and single receiver accounts)

Implementation: FanInTypology.java

Suspicious accounts (a, b, and c) send large or rounded amount of money to the main account m.

alert-2-fanin

3. Cycle

Implementation: CycleTypology.java

The main account m sends large amount of money to one of the neighbor members a. The beneficiary account sends 90% of the received money to another neighbor. Finally, the last member d sends money to the main account m.

alert-3-fanout

4. Bipartite (currently under construction)

Implementation: BipartiteTypology.java

Some originator accounts distribute money to other multiple accounts. The common originators (m and n) and beneficiaries (a, b, and c) may have unobvious relationships

alert-4-bipartite

5. Stacked Bipartite (currently under construction)

Implementation: StackTypology.java

Stacked (sequential) bipartite patterns. All transactions between the first originator accounts (m1 and m2) and the intermediate accounts (a1, a2 and a3) precede all transactions between the intermediate accounts and the last beneficiary accounts (b1 and b2).

alert-5-stack

6. Random (currently under construction)

Implementation: RandomTypology.java

Each account sends money to one of the neighboring members, and the beneficiary account sends 90% of the received money to another neighbor account. Unlike the cycle typology, the destination account is chosen randomly and the final beneficiary account is not always the main account.

alert-6-random

7. Scatter-Gather (currently under construction)

Implementation: ScatterGatherTypology.java

The main account distributes money to several members, and then these accounts send most of the received money to single account.

alert-7-scattergather

In this example, the main originator account m distributes a large sum of money to some intermediate accounts a1, a2 and a3 (fan-out phase). Then, these intermediate accounts send 90% of the received money to the beneficiary account n (fan-in phase). Finally, each intermediate account holds $10,000 (10% of the received money) as the margin.

8. Gather-Scatter (currently under construction)

Implementation: GatherScatterTypology.java

Some of member accounts send money to the main account, and then the main account distributes most of the total received money to other members.

alert-8-gatherscatter

In this example, some originator accounts a1, a2 and a3 send money to the main account m (fan-in phase). The main account distributes 90% of the total received money to other beneficiary accounts b1, b2 and b3 (fan-out phase). Finally, the main account holds $30,000 (10% of the total amount of received money) as the margin.