Skip to main content

Calculation engines in Financial Services - A key differentiator in the business strategy


All business processes in the banking industry contain quite some specific business logic. Rather than coding this aggregated in one business application, it is wise to setup separate components for this logic. These components we will refer to as financial engines in this blog. Usually these engines can be quite easily isolated, as they receive a well-defined input and provide a well-defined output and typically don’t execute themselves any operational data manipulations (thus avoiding the data segregation issues which are probably the most complex issues to solve in a microservices architecture). These engines can manage the orchestration of the workflow (workflow engines), the characteristics of products (product engines), the next-best-offer/recommended products (recommendation engines), the generation of output notifications (notification engines - cfr. my blog "Notification management - Don’t underestimate its importance and complexity" - https://bankloch.blogspot.com/2020/03/notification-management-dont.html) or the authorization/role of a user (authorization engines). However in this blog we will focus on the engines which primarily do a financial calculation, the so-called financial calculation engines.

In financial services a lot of financial calculation engines exist, which determine based on (complex) algorithms and table lookups one or more output figures.
Obviously every banking domain has its specific calculation engines, like the KYC scoring engine in the customer management domain, the interest calculation engine in the account domain, the valuation, cash-flow forecasting, performance analysis or market risk (e.g. VaR) calculation engines in the securities space or the credit risk and collateral valuation engines in the credit space.
4 calculation engines are however present in almost every banking domain, i.e.

  • A tax calculation engine for the calculation of taxes on transactions like VAT, withholding tax, stock exchange tax, tax on capital gains, stamp duty…​

  • A fee/commission engine for the calculation of fees charged by the bank, e.g. service fees, security transaction fees, custody fees, transfer fees, management fees…​

  • A pricing engine for the calculation of the price of a banking product, e.g. the calculation of an insurance premium or the calculation of the credit interest rate of a loan

  • A discount engine for the calculation of a standard and maximum discount that can be applied for a specific transaction of a specific customer

The interesting thing about those calculation engines is that a certain abstraction from the business domain can be applied. By stripping away the business logic they can be abstracted to a technical calculation component, with several commonalities between all those calculation engines:

  • They all receive a high number of input variables, like the type of banking product involved, customer segment, activity of the customer (e.g. number of transactions, number of products at the bank…​), transaction amount, product duration, input channel (branch, web, mobile…​)…​ A first step of the calculation engine will therefore be a validation of the quality of those input variables, e.g. has a value for all mandatory variables been provided, do all values fit the syntax validations…​

  • These validated variables are then translated into values (often via a lookup table managed by the business product owner) and then aggregated using pre-defined (but configurable) weights. This aggregated value will be a relative or absolute value.

  • This resulting value can then still be capped with a minimum or maximum cap, which in its turn can also be calculated using multiple variables, a mechanism of lookups and a weighted aggregation. Apart from a capping, it might also be that a pro-rata calculation is done to take the notion of time into account.

  • In the end the calculation engine outputs a 1 or more output values.

Obviously more complex algorithms are also possible, e.g. algorithms based on an optimization problem (cfr. my blog "Optimisation problems - Far from being a commodity" - https://bankloch.blogspot.com/2020/05/optimisation-problems-far-from-being.html) or using AI (cfr. my blog "AI in Financial Services - A buzzword that is here to stay!" - https://bankloch.blogspot.com/2020/09/ai-in-financial-services-buzzword-that.html).

On top of this common flow, they also have in common that ideally they should be composed of 3 parts:

Design module

The "Design" module allows to configure the parameters of the model used to perform the calculation. Ideally a business owner should have an easy front-end in order to manipulate the main parameters of the model, thus giving a high flexibility to the business.

This means following features should ideally be foreseen in the module:

  • Authenticate/Login to the "Design" module. As these parameters can have a very strong impact on the bank’s business, this module should be well protected to avoid that anyone can make modifications to these parameters. In the same context it would be wise to foresee a 4-eyes principle for modifications (i.e. 1 user making the modification and another one validating the change).

  • A user-friendly cockpit to visualize and update the parameterization, with good data validations and possibility to work on draft parameterizations, which are not yet published

  • Support features like historization of parameterizations, input of parameterizations which only take effect as of a specific date, possibility to apply a parameterization only to a subset of customers (i.e. to support Canary and A/B testing) or the possibility to manage very specific derogations (e.g. individual derogations for large customers).

  • Ideally also foresee a simulator tool to manually test a specific parameterization and potentially even execute a back-testing with the new parameterization.

Run module

The "Run" module is the actual execution platform, where the financial calculations are executed. This module is the heart of the engine and applies the defined model on the input parameters to calculate the output(s).

The "Run" module should support both "simulation" and "operational" mode. This makes no difference for the financial calculations itself, but it will be important to store this information, in order to split these 2 modes in the Monitoring/Analytics module.

The module should furthermore support both real-time individual calls (synchronous requests), but also executions of (large) batches (asynchronous requests). These batches can be used for back-testing, but also for other simulations and predictions or for pre-calculations (e.g. the credit scoring engine can be called in batch for all customers in order to pre-approve customers for a specific loan amount).

Operate/Monitor module

The "Operate/Monitor" module allows to follow-up the usage of the financial engine. This can be via a specific custom front-end on top of the engine or the engine can also expose certain metrics and end points for integration in specific monitoring (e.g. ELK stack, an APM tool like Datadog or a BAM tool like WSO2 BAM) and analytics/BI tools (e.g. Tableau, Power BI, Metabase, cumul.io…​).

Ideally the following features should be available to end-user (i.e. either directly exposed by engine or via a Monitoring/Analytics tool):

  • All executed calculations should be stored in the database of the engine, with the value of the input parameters, the calculated output(s), the used version of the parameterization and the calculation mode (i.e. simulation vs. operational and synchronous vs. asynchronous). Furthermore meta-data like the timestamp, requesting channel and potentially the requesting user should also be stored. Obviously it should be very easy to search in this dataset, in order to analyse specific cases, but also to proof to auditors that the engine works correctly and has no bias (no discrimination).

  • The engine should also capture certain internal statistics, like failures to execute a calculation (due to invalid input, technical issues…​) or the time spent on a calculation

  • This stored and calculated data allows to expose different types of dashboards, like an engine monitoring dashboard (supervising the average and 50th/75th/90th/99th percentiles for calculation time or the number of errors occurring in the engine) or a business dashboard (showing the distribution of the input variables and/or calculated outputs)

As those financial calculation engines are not always the most visible (compared to apps and other front-end channel application), they are often overlooked when defining priorities in an IT roadmap. Nonetheless these calculation engines are the core of a financial services company and often contain strong differentiating "métier" knowledge of the bank. As such well-functioning and highly flexible financial calculation engines can be an important competitive differentiator.

Given the commonalities of different calculation engines (and the same applies for non-calculation engines) even across different business domains, it can be interesting to setup a central team building those engines (obviously supported by product owners of the individual business domains). This way the independence of those engines can be assured (other domains call them via well-documented APIs) and the commonalities between those engines can be maximum leveraged.

Comments

  1. Wonderful writing! Great tips as always. A quick browser of my blog post which was about fintech app development cost, and I can see many examples where I should have implemented the steps you describe. I'm getting better, but still want some opinions on IT consulting companies in NYC.

    ReplyDelete
  2. Finance services are for those people who take a lot of courage to move forward; it saves you from all the services. Finance Management Service is associated with Naioti financial service, With the help of which maximum people can be helped. Jessica is a very good person who takes her time for her customer service to get to know about customer problems. A life policy is very well explained in Finance Management Service; everything except discipline is taken care of here. Furthermore, you can visit here at Finance Management Service

    ReplyDelete
  3. Great writing! Wonderful and so helpful tips as always. It seems to be very knowledgeable to me as I am searching for credit risk management company. Thanks for the great post.

    ReplyDelete

Post a Comment

Popular posts from this blog

Transforming the insurance sector to an Open API Ecosystem

1. Introduction "Open" has recently become a new buzzword in the financial services industry, i.e.   open data, open APIs, Open Banking, Open Insurance …​, but what does this new buzzword really mean? "Open" refers to the capability of companies to expose their services to the outside world, so that   external partners or even competitors   can use these services to bring added value to their customers. This trend is made possible by the technological evolution of   open APIs (Application Programming Interfaces), which are the   digital ports making this communication possible. Together companies, interconnected through open APIs, form a true   API ecosystem , offering best-of-breed customer experience, by combining the digital services offered by multiple companies. In the   technology sector   this evolution has been ongoing for multiple years (think about the travelling sector, allowing you to book any hotel online). An excelle...

Are product silos in a bank inevitable?

Silo thinking   is often frowned upon in the industry. It is often a synonym for bureaucratic processes and politics and in almost every article describing the threats of new innovative Fintech players on the banking industry, the strong bank product silos are put forward as one of the main blockages why incumbent banks are not able to (quickly) react to the changing customer expectations. Customers want solutions to their problems   and do not want to be bothered about the internal organisation of their bank. Most banks are however organized by product domain (daily banking, investments and lending) and by customer segmentation (retail banking, private banking, SMEs and corporates). This division is reflected both at business and IT side and almost automatically leads to the creation of silos. It is however difficult to reorganize a bank without creating new silos or introducing other types of issues and inefficiencies. An organization is never ideal and needs to take a numbe...

RPA - The miracle solution for incumbent banks to bridge the automation gap with neo-banks?

Hypes and marketing buzz words are strongly present in the IT landscape. Often these are existing concepts, which have evolved technologically and are then renamed to a new term, as if it were a brand new technology or concept. If you want to understand and assess these new trends, it is important to   reduce the concepts to their essence and compare them with existing technologies , e.g. Integration (middleware) software   ensures that 2 separate applications or components can be integrated in an easy way. Of course, there is a huge evolution in the protocols, volumes of exchanged data, scalability, performance…​, but in essence the problem remains the same. Nonetheless, there have been multiple terms for integration software such as ETL, ESB, EAI, SOA, Service Mesh…​ Data storage software   ensures that data is stored in such a way that data is not lost and that there is some kind guaranteed consistency, maximum availability and scalability, easy retrieval...

IoT - Revolution or Evolution in the Financial Services Industry

1. The IoT hype We have all heard about the   "Internet of Things" (IoT)   as this revolutionary new technology, which will radically change our lives. But is it really such a revolution and will it really have an impact on the Financial Services Industry? To refresh our memory, the Internet of Things (IoT) refers to any   object , which is able to   collect data and communicate and share this information (like condition, geolocation…​)   over the internet . This communication will often occur between 2 objects (i.e. not involving any human), which is often referred to as Machine-to-Machine (M2M) communication. Well known examples are home thermostats, home security systems, fitness and health monitors, wearables…​ This all seems futuristic, but   smartphones, tablets and smartwatches   can also be considered as IoT devices. More importantly, beside these futuristic visions of IoT, the smartphone will most likely continue to be the cent...

PSD3: The Next Phase in Europe’s Payment Services Regulation

With the successful rollout of PSD2, the European Union (EU) continues to advance innovation in the payments domain through the anticipated introduction of the   Payment Services Directive 3 (PSD3) . On June 28, 2023, the European Commission published a draft proposal for PSD3 and the   Payment Services Regulation (PSR) . The finalized versions of this directive and associated regulation are expected to be available by late 2024, although some predictions suggest a more likely timeline of Q2 or Q3 2025. Given that member states are typically granted an 18-month transition period, PSD3 is expected to come into effect sometime in 2026. Notably, the Commission has introduced a regulation (PSR) alongside the PSD3 directive, ensuring more harmonization across member states as regulations are immediately effective and do not require national implementation, unlike directives. PSD3 shares the same objectives as PSD2, i.e.   increasing competition in the payments landscape and en...

Trade-offs Are Inevitable in Software Delivery - Remember the CAP Theorem

In the world of financial services, the integrity of data systems is fundamentally reliant on   non-functional requirements (NFRs)   such as reliability and security. Despite their importance, NFRs often receive secondary consideration during project scoping, typically being reduced to a generic checklist aimed more at compliance than at genuine functionality. Regrettably, these initial NFRs are seldom met after delivery, which does not usually prevent deployment to production due to the vague and unrealistic nature of the original specifications. This common scenario results in significant end-user frustration as the system does not perform as expected, often being less stable or slower than anticipated. This situation underscores the need for   better education on how to articulate and define NFRs , i.e. demanding only what is truly necessary and feasible within the given budget. Early and transparent discussions can lead to system architecture being tailored more close...

Low- and No-code platforms - Will IT developers soon be out of a job?

“ The future of coding is no coding at all ” - Chris Wanstrath (CEO at GitHub). Mid May I posted a blog on RPA (Robotic Process Automation -   https://bankloch.blogspot.com/2020/05/rpa-miracle-solution-for-incumbent.html ) on how this technology, promises the world to companies. A very similar story is found with low- and no-code platforms, which also promise that business people, with limited to no knowledge of IT, can create complex business applications. These   platforms originate , just as RPA tools,   from the growing demand for IT developments , while IT cannot keep up with the available capacity. As a result, an enormous gap between IT teams and business demands is created, which is often filled by shadow-IT departments, which extend the IT workforce and create business tools in Excel, Access, WordPress…​ Unfortunately these tools built in shadow-IT departments arrive very soon at their limits, as they don’t support the required non-functional requirements (like h...

An overview of 1-year blogging

Last week I published my   60th post   on my blog called   Bankloch   (a reference to "Banking" and my family name). The past year, I have published a blog on a weekly basis, providing my humble personal vision on the topics of Fintech, IT software delivery and mobility. This blogging has mainly been a   personal enrichment , as it forced me to dive deep into a number of different topics, not only in researching for content, but also in trying to identify trends, innovations and patterns into these topics. Furthermore it allowed me to have several very interesting conversations and discussions with passionate colleagues in the financial industry and to get more insights into the wonderful world of blogging and more general of digital marketing, exploring subjects and tools like: Search Engine Optimization (SEO) LinkedIn post optimization Google Search Console Google AdWorks Google Blogger Thinker360 Finextra …​ Clearly it is   not easy to get the necessary ...

AI in Financial Services - A buzzword that is here to stay!

In a few of my most recent blogs I tried to   demystify some of the buzzwords   (like blockchain, Low- and No-Code platforms, RPA…​), which are commonly used in the financial services industry. These buzzwords often entail interesting innovations, but contrary to their promise, they are not silver bullets solving any problem. Another such buzzword is   AI   (or also referred to as Machine Learning, Deep Learning, Enforced Learning…​ - the difference between those terms put aside). Again this term is also seriously hyped, creating unrealistic expectations, but contrary to many other buzzwords, this is something I truly believe will have a much larger impact on the financial services industry than many other buzzwords. This opinion is backed by a study of McKinsey and PWC indicating that 72% of company leaders consider that AI will be the most competitive advantage of the future and that this technology will be the most disruptive force in the decades to come. Deep Lea...

The UPI Phenomenon: From Zero to 10 Billion

If there is one Indian innovation that has grabbed   global headlines , it is undoubtedly the instant payment system   UPI (Unified Payments Interface) . In August 2023, monthly UPI transactions exceeded an astounding 10 billion, marking a remarkable milestone for India’s payments ecosystem. No wonder that UPI has not only revolutionized transactions in India but has also gained international recognition for its remarkable growth. Launched in 2016 by the   National Payments Corporation of India (NPCI)   in collaboration with 21 member banks, UPI quickly became popular among consumers and businesses. In just a few years, it achieved   remarkable milestones : By August 2023, UPI recorded an unprecedented   10.58 billion transactions , with an impressive 50% year-on-year growth. This volume represented approximately   190 billion euros . In July 2023, the UPI network connected   473 different banks . UPI is projected to achieve a staggering   1 ...