Posts

Showing posts from August 17, 2026

I Built a BFIU-Compliant AML Detection System in Python (Here's Why the Kaggle Approach Doesn't Work

I Built a BFIU-Compliant AML Detection System in Python (Here's Why the Kaggle Approach Doesn't Work)

Most AML tutorials end with a confusion matrix and a 99% accuracy score. Here's why that doesn't work — and what I built instead. I've been working in fintech compliance data for a while. The one thing I kept noticing: every "fraud detection project" on GitHub or Kaggle uses the same dataset — the UCI credit card fraud dataset from 2013. It has 284,000 rows, 30 features labeled V1-V28, and approximately zero explanatory value for anyone who wants to understand how financial crime actually works. So I built something different. The problem with the standard approach Real transaction monitoring engines don't work like Kaggle competitions. They don't take a CSV, train a model, and output a probability score. They work like this: A rule engine runs first — deterministic, auditable, regulatory-cited rules that generate alerts Those alerts get scored and triaged by risk tier An ML layer reduces false positives among the high-risk alerts ...

8 Years of STR Filing: How I Brought Automation to a Bangladeshi Fintech with Python

Image
Photo by Nick Fewings on Unsplash I still remember the day our team was slammed with over 10,000 suspicious transaction reports (STRs) to file with the Bangladesh Financial Intelligence Unit (BFIU) in a single week. It was chaos. Our manual process, which involved filling out templates and submitting them individually, was on the verge of collapse. We had to automate, and fast. The Hidden Problem In Bangladesh, the BFIU requires financial institutions to report suspicious transactions exceeding BDT 100,000. But with millions of transactions happening daily through mobile financial services (MFS) like bKash and Nagad, manual reporting just isn't scalable. Standard approaches to automation often fall short due to the complexity of our local regulatory landscape and the nuances of MFS transactions. The Technical Challenge To automate STR filing, we needed a system that could accurately identify suspicious transactions, generate reports in the required format, and submit them to the B...