Posts

Showing posts from May 31, 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 ...

Why Most Bangladeshi Banks Struggle with SAR Narrative Writing

Image
Photo by Brett Jordan on Unsplash I still remember the day our team at a leading Bangladeshi bank was tasked with reviewing over 10,000 Suspicious Activity Reports (SARs) in a matter of weeks. The pressure was on, with the Bangladesh Financial Intelligence Unit (BFIU) breathing down our necks. We were struggling to keep up, and I couldn't help but wonder: why was writing SAR narratives such a nightmare? As it turns out, standard approaches to SAR narrative writing just don't cut it in Bangladesh. The hidden problem lies in the unique characteristics of our financial landscape. With the rise of mobile financial services (MFS) like bKash and Nagad, transactions are becoming increasingly complex. The BDT 100,000 threshold for monitoring transactions is a good starting point, but it's not enough to catch all suspicious activity. The Hidden Problem So, what's going wrong? For starters, most banks are using outdated systems that can't handle the sheer volume of transact...