Intelligent Open Banking APIs: Unlocking value through actionable insights

feature-image

Open Banking is undeniably still a nascent ecosystem, and unlocking its value will require much more than just offering basic connectivity services to the Open Banking ecosystem of banks and lenders. What is commonly referred to as “plumbing” just shifts the challenge in creating real insights and value from consumer data away from banks to other organisations without solving it.

Our vision is to enable a fair value exchange between businesses and consumers through our Open Banking intelligence platform to provide the actionable insights required to make better financial decisions.

Our view is also supported by Forrester Research in their New Tech: Open Banking Intermediaries, Q2 2020 report where it highlights that “true customer value lies in the insight that is unlocked from the data”.

“The aggregation of financial account information in one place is a benefit; however, true customer value lies in the insight that is unlocked from the data."
The Forrester New Tech: Open Banking Intermediaries, Q2 2020

This post outlines some of the key capabilities of our platform APIs and how we make them available to clients and users.

Intelligence

Intelligence for Ducit.ai is defined simply as actionable insights. Raw bank account transactions provide little value because it is onerous, time-consuming and error prone to derive meaningful analysis from them. Financial institutions often rely on legacy and manually intensive processes to assess the financial circumstances of consumers - this ranges from requesting several months of bank paper statements to conduct an income and expenditure assessment for mortgage applications to manual affordability assessments for personal loans. Our platform automates these processes and reduces by up to 80% the associated costs.

Categorisation

The starting point and foundation for almost all downstream analysis is categorisation. This is the process of understanding the context of each transaction. It is absolutely fundamental and, contrary to intuition, incredibly hard to do well. Refer to this post for further exploration of this.

There are numerous approaches, including everything from allowing customers to categorise their own data to fully automated through artificial intelligence and machine learning. Ducit.ai has developed a unique approach, combining natural language processing, artificial intelligence, pattern detection and business rules to classify transactions into a custom taxonomy in real-time. This is only possible after investing heavily in an integrated approach that includes everything from the development of custom data labelling platform, the implementation of the artificial intelligence parallel processing environment, the model management and deployment pipelines and the runtime application for real-time decisions.

Let’s have a look at how this is manifested in our API. Here is an example of a transaction returned from our API (truncated for brevity).

 {
    "AccountId": "7023AFA21E04592792A3C2B10707755E",
    "TransactionId": "155044800000794096519",

    // other transaction fields...

    },
    "_Metadata": {
      "Type": "transaction",
      "Category": "supermarket",
      "Group": "default",
      "ModelMetadata": [
        {
          "ProductId": "natwest/Personal/CurrentAccount",
          "ModelId": "1.2",
          "Type": "transaction",
          "Group": "default",
          "Amount": -13.24,
          "Balance": 11091.67,
          "Reference": "c tesco stores sydenham",
          "Category": "supermarket",
          "DayOfWeek": 2,
          "DayOfMonth": 18
        }
      ]
    }
}

We’ve extended the Open Banking standard to include a _Metadata block. Inside this, we then provide a Category field that shows our predicted category for the transaction. You can also see another block called ModelMetadata. This includes a number of other fields describing the input data and model version that was used to determine the transaction category. This is intended for auditing purposes, allowing the model to be re-run with the exact same parameters at some point in the future to explain how the decision was reached.

For clients leveraging Ducit.ai as an Account Information Service Provider, the categorisation is seamlessly integrated into the json schema.

Acting as a Technical Service Provider, Ducit.ai can also offer clients that already have Open Banking data from another source an industry leading categorisation capability; Simply POST a batch of customer transactions to our external transaction categorisation endpoint.

Both approaches are fully documented here.

Analytics

Having access to the granular categorised transaction data is incredibly powerful, but for many use cases, ingesting, storing and building the analytics needed can be a challenge. Ducit.ai also provides an analytics capability in the platform to help take the pain away from adding analytical capabilities to your app or accessing just the data you need to power your service.

After a customer consents to share their account data, our platform will automatically fetch the customer’s full transaction history, categorise each transaction and then generate an aggregate view of the monthly totals by category, account type and provider. This data is combined with any previously added accounts. The categorytotals API endpoint provides access to this data, providing parameters for filtering (category, provider, account_type, date_from, date_to), dimensional rollup (dimension) and sorting (sort) to get the desired view of the data.

Let’s look at an example of the data returned for total category value in a year:

 {
    "status": "Ready",
    "progress": 0,
    "lines": [
      {
        "key": "salary_payment",
        "value": 55331.7
       },
      {
        "key": "mortgage",
        "value": -16150.679999999998
      },
      {
        "key": "clothing",
        "value": -5403.35
      },

      // more lines...

    ]
}

Or monthly trend for an individual category:

  {
    "status": "Ready",
    "progress": 0,
    "lines": [
      {
        "key": "natwest:Personal:CurrentAccount:supermarket:201901",
        "value": -41.6
      },
      {
        "key": "natwest:Personal:CurrentAccount:supermarket:201902",
        "value": -64.04
      },
      {
        "key": "natwest:Personal:CurrentAccount:supermarket:201903",
        "value": -300
      },

      // more lines...

    ]
}

You can find the complete documentation for the Category Totals Endpoint here.

Affordability

The Affordability endpoint takes the amount, term and interest rate of a loan and generates an affordability assessment for a customer based on their categorised transaction data. The resulting Affordability Score ranging from 0 to 5 indicates whether the customer is likely to be able to afford the loan.

Balance History

The Balance History endpoint provides a historic view of a customer’s balance across all their accounts.

Category Suggestions

The Category Suggestion endpoint allows a different category to be specified for transactions that have been incorrectly categorised. The suggested categories can then (optionally) be used in place of the predicted categories when calling other endpoints that depend on the categorised data. These suggestions are also reviewed by us and fed back into our models to improve the accuracy of future predictions.

Sharing data

Ducit.ai are very proud to support debt advice organisations and the ability for our users to share data securely with our partners is built into our mobile app and available through our API.

There are three elements required for successful sharing:

  1. Customer reference

    A unique ID or reference is needed to link the user in our platform to the same user in our partner’s application. This could be a case ID, account ID or often the email address used to register their accounts

  2. Validation

    Validation ensures that the unique reference obtained above is actually linking the correct accounts. For example, we may make a call to a partner’s system to check the email address provided exists in their system, or that a case ID exists and that the details associated to the ID match those in our system. This is a bespoke integration as every partner is different

  3. Consent

    Finally, continuing the ethos of Open Banking, explicit consent from the user is required before any data will be shared. This has been implemented through a dedicated user interface in our mobile app

If you’re interested in using our sharing capability for your application, please get in touch.

Resilience

The Open Banking ecosystem is increasingly complex, with many different account providers supporting different sets of features through their APIs. In order to ensure a seamless, fast and reliable service we employ a combination of infrastructure and software techniques.

At the infrastructure level, our platform is 100% cloud-based and distributed across multiple data centres. Should one or two of these go down for some reason, our service should continue uninterrupted.

Our APIs are deployed as containerised services. There are a number of benefits to this approach including straightforward scaling to match demand and automatic self-healing should an instance go off-line.

At the software level, when a customer consents to share their account data, we fetch the data from the provider, store it locally, and refresh it periodically (usually hourly). The data is then served directly from our platform, drastically reducing latency and avoiding any request throttling employed by some account providers.

Every time a customer’s data is refreshed, we re-categorise transactions and re-compute aggregates across the entire data set ensuring that our analytics is always accurate and up-to-date. If, for some reason, an error occurs fetching data for a particular account (typically due to a temporary issue with the account provider) then we flag the offending account and alert the customer via our app, or client via our api. The next time the data if refreshed, if the problem has been resolved, the flag will be cleared.

How can we help businesses?

We offer a selection of engagement models to cater for the different needs of financial institutions, fintechs and debt advice organisations.

  1. TSP Model (Technical Service Provider) - for entities already regulated by the FCA we can provide our platform APIs to help build Open Banking products and services.

  2. AISP Agent Model (Account Information Service Provider) - for entities who are not FCA regulated and don’t plan to become an AISP, we offer an agent model where third parties can provide Open Banking products and services using our license.

  3. Ducit.ai Mobile App - our mobile app caters for 2 main use cases:

    • Debt advice organisations: we offer a multi-tenant capability in our existing consumer mobile app for debt advice organisations looking to empower their customers to securely share data. It automates the income and expenditure assessment process to help consumers become debt free.
    • End to end mobile app white labelling: we also provide a white labelling solution of our existing mobile app for organisations looking to offer Open Banking services directly to consumers. This significantly reduces the time to market and the risks associated with complex technology development programmes.

Please get in touch to find out more about any of these.