Vom Modell zur Analyse: Komplexe Abfragen im Private Markets mit Ontologien und Graphen
Nachdem im zweiten Teil dieser Serie die konzeptionellen Grundlagen und das Basismodell des Commitment Lifecycles etabliert wurden, taucht dieser finale Teil in die operative Realität ein. Erfahren Sie, wie das ontologische Modell erweitert wird, um komplexe Szenarien wie Co-Investments und Währungsschwankungen abzubilden. Vor allem aber zeigt dieser Artikel den entscheidenden Mehrwert: Wie Sie mit eleganten Graph-Abfragen komplexe Business-Fragen beantworten und welche Werkzeuge Sie für den Einstieg benötigen.
Haftungsausschluss: Dieser Beitrag dient ausschließlich der allgemeinen Information und ersetzt keine individuelle Beratung.

Anwendungsfall in der Praxis: Modellierung des Commitment Lifecycles
Um die Konzepte aus dem vorherigen Artikel mit Leben zu füllen, wird nun der Commitment Lifecycle modelliert – eine klassische operative Ontologie (Ebene 2).
1. Die Bausteine: Die Kernentitäten definieren
Der erste Schritt in jedem Workshop ist die Definition der zentralen Objekte (Entitäten) und ihrer grundlegenden Beziehungen:
- Investor: Eine juristische oder natürliche Person, die Kapital bereitstellt.
- Fonds (Fund): Das Anlagevehikel, das Kapital sammelt und investiert.
- Commitment: Die vertragliche Zusage eines Investors, einen bestimmten Betrag in einen Fonds zu investieren.
- Capital Call: Der Abruf eines Teils des zugesagten Kapitals durch den Fonds. Ein Capital Call reduziert das verbleibende Commitment.
- Distribution: Die Ausschüttung von Erträgen oder Kapitalrückflüssen vom Fonds an den Investor.
2. Die Blaupause: Das UML-Klassendiagramm
Ein UML-Diagramm dient als statische Blaupause, um die Struktur und die Beziehungen (Kardinalitäten) formal zu definieren. Es ist das perfekte Werkzeug für die Kommunikation zwischen Fachbereich und IT.
+----------------+ +----------------+
| Investor | 1* | Commitment |
+----------------+--------+----------------+
| Name | | Betrag |
| ID | | Währung |
+----------------+ | Datum |
+----------------+
|
| gehört zu
v
+----------------+
| Fund |
+----------------+
| Name |
| Vintage |
+----------------+
|
+-----------------+-------+
| |
| reduziert durch |leistet
v v
+------------------+ +---------------+
| Capital Call | | Distribution |
+------------------+ +---------------+
| Datum | | Datum |
| Betrag | | Betrag |
+------------------+ +---------------+
Erweiterung des Modells um die reale Komplexität
Das im zweiten Teil vorgestellte Basismodell ist der Startpunkt. Die Realität im Private Markets ist jedoch komplexer. Ein robustes ontologisches Modell muss diese Komplexität abbilden können.
1. Co-Investments und Multi-Fund-Strukturen
Ein Investor ist selten nur in einem einzigen Fonds investiert. Das Modell muss daher die Beziehung eines Investors zu verschiedenen Vehikeln (z.B. Hauptfonds, Co-Investment-SPV) sauber abbilden können. Dies geschieht, indem die Beziehung [:ZEICHNET] mehrfach zwischen einem Investor-Knoten und verschiedenen Commitment-Knoten existieren kann, die jeweils zu unterschiedlichen Fonds-Knoten gehören.
2. Umgang mit Währungen und FX-Effekten
Ein Commitment kann in EUR zugesagt, der Capital Call aber in USD erfolgen. Um das verbleibende Commitment korrekt zu berechnen und FX-Gewinne/-Verluste nachvollziehen zu können, wird das Modell erweitert: Jede Transaktion (Capital Call, Distribution) erhält nun zwei Betragsfelder: den Betrag in der Transaktionswährung und den umgerechneten Betrag in der Fondswährung. Eine neue Entität FX_Rate mit den Attributen Währungspaar, Datum und Kurs wird eingeführt. Jede Transaktion wird mit dem tagesaktuellen FX_Rate-Knoten verknüpft, was eine lückenlose Auditierbarkeit sicherstellt.
3. Detaillierung der Transaktions-Status
Ein Capital Call ist kein einmaliges Ereignis, sondern ein Prozess mit verschiedenen Zuständen. Um den operativen Status exakt zu verfolgen, erhält die Entität Capital Call ein zusätzliches Attribut status mit möglichen Werten wie angekündigt, fällig, bezahlt oder überfällig. Dies ermöglicht ein präzises Cash- und Liquiditätsmanagement.
Der Payoff: Komplexe Business-Fragen einfach beantworten
Der wahre Wert einer Ontologie, die in einer Graph-Datenbank lebt, zeigt sich bei der Beantwortung von Fragen, die in traditionellen, tabellarischen Systemen oft nur mit extrem aufwändigen SQL-JOINs oder manueller Excel-Arbeit zu lösen sind. Hier sind drei Beispiele:
Frage 1: „Welche Capital Calls sind aktuell überfällig, und welche Investoren sind davon betroffen?“
Das Business-Problem: Das Operations-Team muss proaktiv auf Investoren zugehen, deren Zahlungen für Kapitalabrufe nicht fristgerecht eingegangen sind. Dies erfordert eine tagesaktuelle Übersicht.
Die Graph-Abfrage (in Cypher für Neo4j):
// Finde alle Capital Calls mit dem Status 'überfällig'
MATCH (cc:CapitalCall {status: 'überfällig'})
// Finde das zugehörige Commitment und den Investor
MATCH (i:Investor)-[:ZEICHNET]->(c:Commitment)<-[:REDUZIERT]-(cc)
// Gib den Namen des Investors und die Details des Capital Calls zurück
RETURN i.name AS Investor, cc.datum AS Fälligkeitsdatum, cc.betrag AS Betrag
Der Mehrwert: Die Abfrage ist intuitiv lesbar und folgt exakt den Geschäftsbeziehungen. Sie liefert in Millisekunden eine präzise Handlungsliste.
Frage 2: „Zeige mir alle Investoren, die in Fonds mit einem Vintage nach 2020 investiert sind und deren verbleibendes Commitment weniger als 20% des ursprünglichen Betrags ausmacht.“
Das Business-Problem: Das Fundraising-Team möchte gezielt Investoren identifizieren, die bald wieder Kapital für neue Fonds zur Verfügung haben könnten, weil ihre alten Commitments fast vollständig abgerufen sind.
Die Graph-Abfrage (in Cypher für Neo4j):
// Finde alle relevanten Fonds
MATCH (f:Fund) WHERE f.vintage > 2020
// Finde die zugehörigen Commitments und Investoren
MATCH (i:Investor)-[:ZEICHNET]->(c:Commitment)-[:GEHÖRT_ZU]->(f)
// Berechne die Summe der abgerufenen Beträge für jedes Commitment
OPTIONAL MATCH (c)<-[:REDUZIERT]-(cc:CapitalCall)
WITH i, c, sum(cc.betrag) AS abgerufenerBetrag
// Filtere nach der Bedingung (weniger als 20% verbleibend = mehr als 80% abgerufen)
WHERE abgerufenerBetrag / c.betrag > 0.8
// Gib die Namen der qualifizierten Investoren zurück
RETURN DISTINCT i.name AS Investor
Der Mehrwert: Diese Abfrage kombiniert Filterung, Traversierung über mehrere Beziehungen und eine On-the-fly-Berechnung auf elegante Weise. In Excel wäre dies eine extrem fehleranfällige, manuelle Aufgabe.
Frage 3: „Gib mir eine Übersicht aller Kapitalflüsse (Calls und Distributions) für das Family Office Müller über alle seine Investments im letzten Quartal.“
Das Business-Problem: Ein Key-Account-Manager bereitet sich auf ein Gespräch mit einem wichtigen Investor vor und benötigt eine konsolidierte 360-Grad-Sicht auf alle jüngsten Transaktionen, unabhängig davon, in wie vielen Fonds der Investor engagiert ist.
Die Graph-Abfrage (in Cypher für Neo4j):
// Finde den Investor
MATCH (i:Investor {name: 'Family Office Müller'})
// Finde alle Capital Calls dieses Investors im relevanten Zeitraum
OPTIONAL MATCH (i)-[:ZEICHNET]->(:Commitment)<-[:REDUZIERT]-(cc:CapitalCall)
WHERE cc.datum >= date('2024-01-01') AND cc.datum <= date('2024-03-31')
// Finde alle Distributions für diesen Investor im relevanten Zeitraum
OPTIONAL MATCH (i)<-[:GEHT_AN]-(d:Distribution)
WHERE d.datum >= date('2024-01-01') AND d.datum <= date('2024-03-31')
// Gib eine Liste der Transaktionen zurück
RETURN collect(cc) AS CapitalCalls, collect(d) AS Distributions
Der Mehrwert: Die Abfrage sammelt Informationen über verschiedene Pfade und Fonds hinweg und liefert ein konsolidiertes Ergebnis. Dies bricht die typischen Fonds-Silos auf und ermöglicht eine echte, investorenzentrierte Sicht.
Die Werkzeuge der Wahl: Der Freeware-Starter-Stack
Um von der Idee zum Prototypen zu gelangen, benötigen Sie keine teuren Lizenzen. Es ist allerdings Vorsicht hinsichtlich der Sicherheit der Daten geboren, so dass sie hier ihre Unternehmensstandards beachten sollten. Der folgende, komplett kostenlose „Starter-Stack“ deckt den gesamten Prozess ab:
Phase 1 (Konzeption): draw.io (diagrams.net)
In dieser Phase geht es um Brainstorming und die Visualisierung der strategischen Ontologie (Ebene 1) in Workshops mit den Fachbereichen. draw.io ist ein extrem leistungsfähiges, browserbasiertes Diagramm-Tool, das sich perfekt eignet, um einfache Box-und-Pfeil-Diagramme zu erstellen. Es ist kostenlos, erfordert keine Installation und ist ideal, um eine erste gemeinsame „Landkarte“ der Daten zu zeichnen.
Phase 2 (Formale Modellierung): Protégé
Hier wird das konzeptionelle Modell in eine formale, logisch konsistente und maschinenlesbare Struktur überführt (Ebene 2). Protégé ist der De-facto-Standard für die Erstellung von Ontologien. Diese kostenlose, open-source Desktop-Anwendung unterstützt den OWL-2-Standard und verfügt über leistungsstarke „Reasoner“, um logische Fehler im Modell automatisch zu finden. Es ist das Schweizer Taschenmesser für die ernsthafte Modellierung.
Phase 3 (Prototyping & Analyse): Neo4j Community Edition
In dieser Phase wird die Ontologie mit Leben gefüllt und der Mehrwert demonstriert. Die Neo4j Community Edition ist eine kostenlose und extrem leistungsfähige Graph-Datenbank. Sie können Ihre in Protégé erstellte Ontologie und einige Beispieldaten laden, um die im vorherigen Abschnitt gezeigten, komplexen Abfragen selbst zu schreiben und zu visualisieren. Dies ist der Moment, in dem das abstrakte Modell seinen konkreten Business-Wert beweist.
Fazit der Serie: Vom Aufwand zum Wettbewerbsvorteil
Diese Artikelserie hat den Weg von der strategischen Notwendigkeit einer Ontologie über die konzeptionelle Modellierung bis hin zur praktischen Anwendung gezeigt. Der anfängliche Aufwand, Geschäftslogik in einem formalen Modell abzubilden, mag hoch erscheinen. Doch wie die Beispiele zeigen, ist das Ergebnis mehr als nur eine saubere Datenbasis. Es ist eine hochgradig flexible und analysefähige Wissensplattform, die es ermöglicht, komplexe Fragen schnell und präzise zu beantworten. In einer immer datengetriebeneren Welt wird diese Fähigkeit von einem „Nice-to-have“ zu einem entscheidenden Wettbewerbsvorteil. Neugierig geworden, nutzen Sie den Freeware-Starter-Stack, um es selbst auszuprobieren.
Quellen
- Dokumentation der Cypher Query Language (Neo4j)
- Fachliteratur zu Graphen im Finanzwesen

