ML Analytica × Van Lanschot KempenVLKWorking hypothesis · not a final proposalAdjust assumptions

ML Analytica × Van Lanschot Kempen

From finding information
to understanding the client.

A secure AI foundation connecting structured client data with the knowledge hidden in notes, emails and documents.

Based on our initial discussion, and designed to be corrected.

01What I understood

First, did I understand you correctly?

This picture comes from one conversation over lunch. It intentionally contains assumptions, and every one of them is marked.

Rather than pretending to know your architecture, I'd like you to correct it. The proposal further down adapts to whatever turns out to be true.

How to read the tags

Confirmed
Stated in our discussion
Assumed
Our reading. Likely, not verified
To clarify
Open. Shapes the design
Proposed
What we would add

Current data flow · as I understood it

Finnova

Confirmed

Core banking system, the source of client and portfolio data

Microsoft SQL Server

Assumed

Database behind the CRM

Internal CRM

Confirmed

The bank’s own CRM application

Python / Streamlit interface

Assumed

How users work with the CRM

Connected, or potentially connected, to the CRM

CRM notes

Assumed

Free text written by relationship managers

Emails

To clarify

Linked to clients? Stored where?

Documents

To clarify

Profiles, agreements, meeting notes

AI infrastructure

NVIDIA DGX Spark

Confirmed

On-premise inference hardware

Local / in-house LLM

Assumed

Which model and workloads: still open

02Interactive

Correct our assumptions

The architecture below updates as you change the assumptions. Clicking an option, even the current one, confirms it.

Assumptions

0 of 9 confirmed

CRM frontendAssumed
Primary CRM databaseAssumed
Finnova sourceAssumed
Finnova to CRM synchronisationAssumed
Emails availableTo clarify
Documents availableTo clarify
PostgreSQL plannedTo clarify
Semantic / vector layerTo clarify
LLMAssumed
Send corrections

Opens your mail client with a summary. Nothing is stored on a server; your selections stay in this browser.

Existing landscape · as understoodProposed AI layerdaily batchassumedstructured query (SQL)ingest: chunk · embed · indexrecord IDs, not a copypassagesingest: chunk · embed · indexcontextanswers with sources, inside the existing interfaceFinnovacore bankingOracle databaseCONFIRMED · DB ASSUMEDMicrosoft SQL ServerCRM databaseASSUMEDInternal CRMclient records · notesCONFIRMEDPython / Streamlituser interface+ AI search and briefsASSUMEDPostgreSQL · planned? TO CLARIFYCRM notesASSUMEDEmails? TO CLARIFYDocuments? TO CLARIFYNVIDIA DGX Spark · confirmedLocal LLMinterchangeable modelon-premise inferenceASSUMEDRetrieval serviceSQL · full-text · semanticpermissions · citationsPROPOSEDRetrieval indexstart: full-text + metadata filtersvectors where they add value? TECHNOLOGY TO DECIDE

Swipe sideways to see the full diagram.

What this means

  • Start with full-text search and metadata filters in the existing database. Choose the vector technology once semantic matching shows measurable value.
  • Answers reflect Finnova data as of the last daily load. Fine for briefs and reporting; not for intraday positions.
  • CheckWhere emails and documents live decides the ingestion design (open question 1).
  • Prompts, client context and answers stay on the bank's own infrastructure.
03The core idea

One interface. Two fundamentally different questions.

01Structured retrieval

Filter what we know.

Step 1 · Question

“Show me advisory and discretionary clients whose revenue changed by more than 20%.”

Precise questions about known attributes (balances, mandates, revenue, dates, relationships) are answered by structured queries. Embeddings are not used for problems SQL solves better.
02Semantic retrieval

Find what we said.

Step 1 · Question

“What have we discussed with this client regarding mortgages?”

Searches CRM notes, emails, documents and meeting notes by meaning, so relevant information is found even when the wording differs.

Structured + semantic

Together, they produce client context.

Neither system can answer this alone. SQL finds who changed. Only the recorded conversations can suggest why. And where nothing was recorded, the system says so instead of guessing.

“Which clients had a significant revenue decline, and what do we know about why?”

Structured

9 clients, revenue −20% or more

+
Semantic

What notes and emails say about each

Client context

  • A. Meier−23%Considering a property purchase in Ticino; asked about mortgage rates.Email 12 Sep · Note 03 Sep
  • C. Brunner−31%Liquidity withdrawn for a planned business succession.Note 22 Aug
  • R. Family−27%No recorded contextNo recorded interaction explains the change
04Start simple

Semantic search doesn't need to start with vectors.

  1. Step 1Start here

    Full-text search + metadata filters

    Use the existing database and search capabilities where possible. Search notes, emails and document text; filter by client, RM, type, date and mandate.

  2. Step 2Technology open

    Semantic retrieval

    Add embeddings and vector search where semantic matching provides measurable additional value. PostgreSQL + pgvector or SQL Server vector functionality, depending on your roadmap.

  3. Step 3Local LLM

    LLM synthesis

    Retrieve first, then let the local LLM summarise and reason over the retrieved context, always with sources.

Step 1, working · try it

Source type

4 results

Fictional records · keyword match, no AI

  • Email12 Sep · A. Meier · Anna B.

    We are looking at a house in Ticino and would like to understand the mortgage and financing options before making an offer.

  • CRM note03 Sep · A. Meier · Anna B.

    Client concerned about mortgage rates; asked whether a 10-year fixed mortgage makes sense now.

  • Meeting note22 Aug · C. Brunner · Marc S.

    Business succession planned for 2027. Liquidity to be withdrawn in tranches; no mortgage needed.

  • Document02 Jun · L. Keller · Anna B.

    Mortgage renewal on the family home confirmed with partner bank, term 5 years.

Build the retrieval foundation first. Add intelligence where it creates measurable value.

05What this enables

One foundation. Many use cases.

Use case 01·Relationship manager search

“What did we discuss with the client about financing their property?”

Search notes, emails and documents in one place and return the relevant sources, not just an answer.

StructuredSemanticLLM
Illustrative outputFictional data
  1. [1]Email · 12 Sep…understand the mortgage and financing options before making an offer.
  2. [2]CRM note · 03 SepConcerned about mortgage rates; 10-year fixed?
  3. [3]Meeting note · 14 JunMentioned selling the Zurich flat.
06Hero use case

The Relationship Manager Brief

Every statement points to its source. Fictional client, fictional data.

Client Brief · internalWed 30 Sep 2026 · 07:42

Client · 14:00

Alexander Meier

RelationshipPrivate BankingMandateAdvisoryClient since2018

What changed

Portfolio value

CHF 4.8m

8.2%

Revenue YTD

CHF 31k

23%

Structured data · Finnova via CRM · as of last load

Last interactions

  1. 112 SepEmailDiscussed potential property acquisition in Ticino.
  2. 203 SepCRM noteClient expressed concerns about mortgage rates.
  3. 318 AugDocumentUpdated investment profile.

AI brief

Local LLM · generated from the sources cited · verify before use

“Revenue has declined primarily alongside lower transaction activity . Recent conversations indicate that the client is considering a property acquisition and has asked about mortgage conditions .”

Suggested topicsProperty financingLiquidity requirementsPortfolio implications

Structured data

Finnova · CRM attributes

+

Semantic retrieval

Notes · emails · documents

+

Local LLM

Synthesis with citations

=

RM Brief

Traceable to its sources

Phase 3 · Copilot
07The AI foundation

Not another AI use case. A reusable foundation.

Select an application to see what it reuses. Labels follow your corrections above.

Layer 4

Applications

Layer 3

AI

Local LLMEmbeddingsRerankingPrompt / context orchestration

Layer 2

Retrieval

Structured query layerFull-text searchVector retrievalMetadata filtering

Layer 1

Sources

Finnova / OracleCRM / MS SQLEmailsDocumentsNotes

Each application on top reuses the same sources, retrieval and governance. The second use case is much cheaper than the first, and the permissions model is defined once, not per project.

08Why the local LLM matters

The model stays close to the data.

Bank perimeter

Sources

Finnova · CRM · notes · emails · documents

Retrieval

permissions · citations · evaluation

NVIDIA DGX SparkConfirmed

Model slot

Model family A

Swap the model:
Sources, retrieval and permissions: unchanged.

The architecture should keep the model interchangeable.

Models improve every few months. The retrieval layer, the permissions and the evaluation set are what you build once and keep. Candidate model families are compared on:

  • Quality · on your own questions and documents, measured with an evaluation set
  • Languages · German, English and Dutch
  • Context length · how much retrieved material fits into one answer
  • Hardware performance · latency and throughput on the DGX Spark
  • Licensing · commercial use and redistribution terms
  • Security requirements · provenance, update policy, offline operation
09What comes next

Retrieval answers questions.
Agents can execute workflows.

  1. 01Search“What do we know?”
  2. 02Understand“What matters?”
  3. 03Recommend“What should I look at?”
  4. 04Act“Execute the workflow.”

Largely built on the proposed AI foundation. Search, context and signals reuse the same retrieval layer.

Requires additional agentic infrastructure.

10Lighthouse vision

The Private Banking Agent

An RM starts their morning. The preparation is already done, and nothing has happened that they did not approve.

Boundaries, by design

  • Makes no investment decisions
  • Never contacts clients on its own
  • Changes no CRM data without approval
  • Acts only within the user's permissions

Human approval remains explicit.

  1. 06:30 · automatedDetects material changesAcross Anna's client book: revenue, portfolio value, maturities, new documents.
  2. 06:31 · automatedRetrieves contextRelevant CRM notes, emails and documents for every change.
  3. 06:33 · automatedIdentifies clients needing attentionRanked, each with the reason and its sources.
  4. 06:35 · automatedPrepares the client briefFor today's meetings and the top three flagged clients.
  5. 06:36 · automatedProposes a follow-upe.g. a call with A. Meier about property financing.
  6. 06:36 · automatedDrafts the communicationA draft only. Nothing is sent.
  7. after approvalCreates a CRM taskOnly after Anna approves. Logged with the reasoning and sources.
    Human approval
11What agentic requires

An additional layer beyond retrieval.

Agentic infrastructure

Agent orchestration

  • Tool calling
  • Workflow / state management
  • Planning
  • Retry and error handling

Agentic infrastructure

Integrations

  • Finnova APIs
  • CRM APIs
  • Email
  • Calendar
  • Document systems

Agentic infrastructure

Control

  • Human-in-the-loop approvals
  • Fine-grained permissions
  • Audit logs
  • Action boundaries

Agentic infrastructure

Observability

  • Agent traces
  • Cost / performance monitoring
  • Evaluation
  • Failure analysis

Underneath · already built in phases 1 to 3

Retrieval foundation: the knowledge layer

Sources · structured + semantic retrieval · local LLM · governance

The retrieval foundation is not throw-away work. It becomes the knowledge layer underneath future agents.

12Proposed roadmap

Small first step. Every step stands on its own.

  1. Phase 1Start here

    Search

    • Full-text
    • Metadata filters
    • Structured reporting

    GoalDeliver immediate value using the existing data landscape.

  2. Phase 2

    Semantic

    • Embeddings
    • Vector retrieval
    • RAG
    • Source attribution

    GoalFind information by meaning rather than exact wording.

  3. Phase 3

    Copilot

    • Client 360
    • Meeting preparation
    • Natural-language reporting
    • Proactive RM signals

    GoalTurn retrieved information into usable client context.

  4. Phase 4

    Agentic

    • Workflow execution
    • Tool calling
    • CRM actions
    • Human approvals

    GoalMove from information retrieval to controlled execution.

Scope, sequence and timing follow the answers to the open questions below. Each phase is decided on its own, based on what the previous one delivered.

13Open questions

Before designing the target architecture, I'd validate five things.

0 / 5 answered

  1. 01

    Where exactly are emails and documents currently stored?

  2. 02

    Which information is replicated from Finnova into the CRM database?

  3. 03

    What is the planned role of PostgreSQL in the future Finnova / data architecture?

  4. 04

    Which models and workloads are intended to run on the DGX Spark?

  5. 05

    Which user groups and data permissions must the AI layer inherit?

Your marks and notes stay in this browser and are included in the email, together with any corrected assumptions.

Start with finding.
Build toward understanding.
Prepare for acting.

ML Analytica

AI × Data × Banking

Contact
Dr. sc. ETH Pascal Leuenberger
Email
pascal.leuenberger@mlanalytica.com
Phone
+41 71 575 22 15

Working hypothesis based on our initial discussion. Architecture subject to technical validation.
All client names, figures and messages on this page are fictional. © 2026 Mountain Lion Analytica GmbH · mlanalytica.com