Gajendra Deshpande - Fighting Money Laundering w/ Python & Open Source Software | PyData Global 2023

Discover a Python-based solution to combat money laundering using open-source software, processing bank statements, and applying Benford's law to detect anomalies, with a step-by-step process for integrity and portability.

Key takeaways
  • Money laundering is a significant problem, and to combat it, a Python-based solution is proposed.
  • The solution involves processing bank statements from different banks, identifying relationships between accounts, and applying Benford’s law to detect anomalies.
  • Benford’s law states that in listings, tables, or statistics, digit 1 tends to occur with a probability of 30%.
  • The solution also uses graph theory to visualize the relationships between accounts and transactions.
  • The challenge is to bring multiple bank accounts into a uniform format and detect money laundering through various techniques, such as structuring or smurfing.
  • The proposed solution uses NetworkX to create a graph showing links between accounts and transactions, and then applies machine learning on the graph to predict possible money laundering.
  • The solution also incorporates hash functions and logging modules to record and validate transactions.
  • The Financial Action Task Force (FATF) provides guidelines for anti-money laundering, and the proposed solution follows these guidelines.
  • The solution is presented as a step-by-step process, including identification, collection, validation, examination, preservation, and presentation, to ensure the integrity of the evidence.
  • The solution is designed to be portable and reproducible, with the code available on GitHub for review and testing.
  • The presentation includes several examples of money laundering techniques, such as trade-based laundering, offshore accounts, and structuring or smurfing.
  • The solution is not limited to Python and can be applied to other open-source programming languages, such as Julia.