A rule-based AML transaction monitoring engine built to flag suspicious payment patterns — the kind of logic a bank's transaction monitoring team uses to surface potential structuring, layering, and circular money-flow behaviour before it reaches a human analyst. Every transaction is checked against same-day frequency, circular flow between the same two accounts, and high-risk country exposure.
Across 22 monitored transactions, exactly half were flagged — every flag traces back to a circular money flow between the same two accounts, and four of those also involved a high-risk jurisdiction (Turkey), stacking two red flags on the same transfer.
Rule logic
| Check | Column | Logic |
|---|---|---|
| Frequency | Tx Count / Day | Same account, multiple transactions same day |
| Circular flow | Circular Flag | Funds sent both directions between the same two accounts |
| Jurisdiction risk | High Risk Country | Destination country on a predefined high-risk list |
| Alert | Alert | FLAG if any rule above triggers, else OK |
Hover a flagged row to see the specific reason it was raised.
| Date | From | To | Amount | Country | Tx/Day | Total Out | Circular | High Risk | Alert |
|---|---|---|---|---|---|---|---|---|---|
| 01 Mar 2025 | A001 | A004 | €4.5 | NL | 3 | €70.5 | Yes | No | FLAG |
| 01 Mar 2025 | A001 | A004 | €4.8 | NL | 3 | €70.5 | Yes | No | FLAG |
| 01 Mar 2025 | A001 | A004 | €4.9 | NL | 3 | €70.5 | Yes | No | FLAG |
| 02 Mar 2025 | A004 | A001 | €4.7 | NL | 1 | €9.7 | Yes | No | FLAG |
| 02 Mar 2025 | A005 | A006 | €60.0 | TR | 1 | €60.0 | Yes | Yes | FLAG |
| 02 Mar 2025 | A006 | A005 | €59.5 | TR | 1 | €59.5 | Yes | Yes | FLAG |
| 03 Mar 2025 | A001 | A002 | €22.0 | FR | 1 | €70.5 | No | No | OK |
| 03 Mar 2025 | A003 | A001 | €21.5 | FR | 2 | €43.0 | No | No | OK |
| 03 Mar 2025 | A003 | A001 | €21.5 | FR | 2 | €43.0 | No | No | OK |
| 04 Mar 2025 | A009 | A010 | €2.2 | NL | 1 | €2.2 | No | No | OK |
| 04 Mar 2025 | A001 | A004 | €5.1 | NL | 2 | €70.5 | Yes | No | FLAG |
| 04 Mar 2025 | A010 | A011 | €3.5 | DE | 1 | €3.5 | No | No | OK |
| 04 Mar 2025 | A001 | A004 | €5.2 | NL | 2 | €70.5 | Yes | No | FLAG |
| 04 Mar 2025 | A012 | A013 | €8.0 | FR | 1 | €8.0 | No | No | OK |
| 04 Mar 2025 | A004 | A001 | €5.0 | NL | 1 | €9.7 | Yes | No | FLAG |
| 05 Mar 2025 | A014 | A015 | €12.0 | NL | 1 | €12.0 | No | No | OK |
| 05 Mar 2025 | A007 | A008 | €75.0 | TR | 1 | €75.0 | Yes | Yes | FLAG |
| 05 Mar 2025 | A016 | A017 | €9.5 | BE | 1 | €9.5 | No | No | OK |
| 05 Mar 2025 | A008 | A007 | €74.5 | TR | 1 | €74.5 | Yes | Yes | FLAG |
| 06 Mar 2025 | A018 | A019 | €6.0 | NL | 1 | €6.0 | No | No | OK |
| 06 Mar 2025 | A001 | A002 | €24.0 | FR | 1 | €70.5 | No | No | OK |
| 06 Mar 2025 | A020 | A021 | €4.3 | DE | 1 | €4.3 | No | No | OK |
Transactions by Country
OK vs. Flagged, by Destination Country
Circular Flow Network
Detected Circular Account Pairs
Each pair sent funds back and forth between the same two accounts within days — the A005↔A006 and A007↔A008 pairs (outlined in red) also involve a high-risk country, compounding the alert.