Case studies

A large Czech bank automatically categorizes 98% of its 1.5 million daily transactions. This is possible thanks to an application from Adastra that uses 25 Data Science models.

A large Czech bank with millions of clients, who carry out several million transactions every day, wanted to better understand the financial behavior of individual customers as well as customer segments. The bank was trying to find a way to automatically assign a predefined category to every banking transaction – card and non-card. Building on their previous efforts to categorize and analyze transactions, their aim was to categorize primarily non-card transactions quicker and more precisely, and to automate the whole process.

Together with the bank, we developed an application that retains a separate approach to card and non-card transactions but, unlike the original solution, consolidates all types of categorization into a single structure – the same, detailed categorization tree.


Compared with the original solution, the new app has made the categorization of card transactions 40% more accurate.


The new app has doubled the number of categories assigned to non-card transactions.

1.5 million

Every day, the app assigns categories to 1.5 million banking transactions.


The app automatically categorizes 95% of card transactions.

25 models

Currently, 25 different advanced analytics and Data Science models are used to categorize non-card transactions.


For over a year, we have been working together with the bank on developing an app to label banking transactions.

The app automatically categorizes 98% of banking transactions


Text analytics form the basis of the automated categorization method for card transactions.


A system of models was developed for non-card transactions. Each uses a unique categorization method, from automatically generated lists of known company accounts, to machine learning models, to more complex analytics.

Currently, the bank uses 25 different Advanced Analytics and Data Science models to categorize primarily non-card transactions.

The bank’s representatives welcomed Adastra’s comprehensive approach.

Michal Kratochvíl, Banking Division Director, Adastra

The bank now communicates more effectively, in a more personalized way, at a higher level

The clear categorization of card transactions and bank payments has contributed to a better understanding of customer behavior and of entire customer segments.

The new app has doubled the number of categories assigned to non-card transactions.

In the short to medium term, this will rise rapidly thanks to the backflow of self-categorization by mobile- and Internet-banking users.

Categorization for card transactions is now 40% more accurate.


Retail banking uses the project’s outputs

  • for reports and aggregated data for specified customer segments,
  • as a basis for banking advisors and automated client advisory, among others.

Marketing, based on precise knowledge of their habits, interests, favorite communication channels, and other preferences, can create specific campaigns tailored to individual clients.

Operations can now

  • display categories in mobile and Internet banking,
  • let clients manage their own categorizations,
  • display categories in the banking advisors’ app, and so on.

Banking clients use the app in their online and mobile banking

  • They can easily and clearly see how much money they spend in which categories (housing, insurance, education, health, hobbies, vacations, etc.) and have an immediate and accurate overview of their income and expenditures.

  • They can then adjust their spending and investment portfolio accordingly, either on their own or together with their banking advisors, and thus increase their financial stability and literacy.

  • They can create and manage their categories by themselves, setting the rules and tailoring the categorization.

The strategy for keeping categorization sustainable in the future


Conventions for adding categories to the tree in the future


A unified review process before adding new categories to production


Templates for writing categorization modules to get internal team members involved


Overall application orchestration and monitoring in batch and real-time operation

The bank appreciates our efforts to make the categorization as precise as possible, while also emphasizing sustainability and scalability for long-term operation.

Michal Kratochvíl, Banking Division Director, Adastra

  • The individual categories were identified using unrelated scripts written in various programming languages and with minimal effort at optimization.

  • The resulting categories often overlapped and problematic maintenance quickly made them obsolete, so classification accuracy rapidly declined.

  • For business, the output was difficult to grasp, as categories were not separated into different levels and category ID conventions were inconsistent.

  • In practice, the bank used only card-transaction categories; due primarily to low accuracy, non-card categories were not used.

Do you also want to categorize banking transactions automatically? Contact us!

Thank you

We will contact you as soon as possible.

Michal Kratochvíl

Banking Division Director

Dagmar Bínová

Big Data & Data Science Team Lead