Posts

Showing posts from July 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 ...

Cracking the bKash Code: 8 Years of Uncovering Hidden Transaction Patterns

Image
Photo by Shelby Murphy Figueroa on Unsplash I still remember the day our team detected a massive structuring ring in bKash transactions - over BDT 10 million in suspicious activity. It was a wake-up call, and we knew we had to act fast. But here's the thing: standard approaches to detecting structuring patterns just weren't cutting it in Bangladesh. The Hidden Problem In Bangladesh, most Anti-Money Laundering (AML) systems fail to account for the unique nuances of our local fintech landscape. bKash, Nagad, and other Mobile Financial Services (MFS) providers have their own set of rules and thresholds - like the BDT 100,000 monitoring threshold. But when it comes to detecting structuring patterns, these systems often fall short. Why Standard Approaches Fail For one, they rely too heavily on predefined rules and thresholds. But in reality, structuring patterns can be incredibly complex and subtle. They require a deep understanding of local transaction patterns, user behavior, and...