Transaction Monitoring

More Info


Being a bank, bunq deals with transaction fraud on a regular basis. All transactions that are handled by bunq are monitored for these cases of fraud by a transaction monitoring system. When this system flags a transaction as being possibly fraudulent, a bunq employee has to manually check this transaction. The problem with the current system is that it proves to be time consuming and labor intensive. This is caused by the fact that there are a lot of transactions which are falsely flagged as possibly fraudulent, these transactions are called false positives. This resulted in a demand for a system which reduced the number of false positives and thereby the time needed to manually check the flagged transactions.

To fulfill this demand, bunq has been working on creating a machine learning model which classifies transactions as fraudulent or legitamte. This machine learning model has shown promising results during test runs on historical data. However, it was not yet production ready, because it was very slow and there existed no connection with the existing bunq back-end.

During the project, a new transaction monitoring system was designed and implemented. The new system uses a combination of a bunq-made machine learning model and a set of pre-defined rules to flag a transaction as possibly fraudulent or not. The final system implementation consists out of 5 different components: (1) an incoming transaction system, responsible for noticing new transactions and segregating those over different workers so that they can be classified in parallel, (2) an information gathering system, which efficiently gathers large sets of needed information for the classification, (3) a machine learning model server, which enables fast communication with altering machine learning models, (4) a set of pre-defined rules, which check transactions for indicators of fraud and (5) a Grafana dashboard which monitors the performance and statistics of the machine learning model, the pre-defined rules and our system.

The system is fully tested by unit and integration tests. Furthermore, new machine learning models and pre-defined rules can be easily adopted. All the above mentioned components are implemented and fully working. The final implementation is focused on integrating the system in the currently existing bunq back-end, because the system will actually be used in production.


(.pdf | 0.819 Mb)