Zum Inhalt

Xolib Score -- Spezifikation v1

Format: DOCX Datei: docs/input/xolib_score_spezifikation.docx

Abgeloest durch v2: Xolib Score v2 Spezifikation

Ueberblick

Der Xolib Score ist ein objektiver, datengetriebener Gebaeude-Bewertungsindex von 0 bis 100. Er aggregiert Echtzeit-Daten aus der gesamten Plattform und berechnet taeglich (02:00 Uhr via Background Job) einen aktualisierten Score pro Property. Strategisch ist er das wichtigste Feature -- nicht als UI-Element, sondern als Daten-Asset und zukuenftiger B2B-Umsatzstrom fuer Banken, Versicherungen und Investoren.

Die fuenf Kategorien

Kategorie Gewicht Was gemessen wird Datenquellen v1
Substanz 25% Bauqualitaet, Alter, Sanierungsstand Baujahr, Renovierungshistorie, Heizungsalter (manuell)
Technologie 25% Energieeffizienz, Smart-Ausstattung Energiezertifikat (A-G), Heizungstyp, Glasfaser ja/nein
Ertrag 25% Belegung, Zahlungsverhalten, Mietperformance Belegungsquote, Zahlungshistorie, Leerstandstage
Compliance 15% Rechtsstatus, Zertifikate, Fristen Freistellungsbescheinigungen, Versicherungsstatus, offene Fristen
Instandhaltung 15% Wartungsqualitaet, Ticket-Performance Ticket-Loesung (Rate + Zeit), Wartungshistorie, Handwerker-Rating

Datenbankschema

Drei Kern-Tabellen mit Row-Level-Security via tenantId:

  • PropertyScore -- aktueller Score je Objekt (1:1 mit Property). Enthaelt totalScore, scoreGrade (A+ bis F), alle fuenf Kategorie-Scores, potentialScore/potentialGap, Trend-Deltas (30d/90d), riskFlags als JSON, dataCompleteness und confidenceScore.
  • PropertyScoreHistory -- jede Berechnung wird versioniert gespeichert (Append-Only, Loeschen verboten). Enthaelt Snapshot aller Scores, changedFactors, changeReason und triggeredBy fuer vollstaendigen Audit-Trail.
  • ScoreFactor -- einzelne Eingangsdaten je Berechnung. Pro Faktor: category, factorKey, rawValue, normalizedValue, weight, contribution, dataSource. Wichtig fuer Erklaerbarkeit und Bank-API-Transparenz.

Architektur-Grundprinzipien

  1. Score NIE manuell ueberschreibbar -- er ist berechnet, nicht gesetzt
  2. Jede Score-Aenderung wird versioniert mit Begruendung gespeichert
  3. Berechnung laeuft IMMER im Hintergrund -- nie synchron im API-Request
  4. Alle v1-Eingangsdaten kommen aus bestehenden Prisma-Modellen
  5. Mandanten-isoliert via tenantId -- kein Cross-Tenant ohne Pseudonymisierung
  6. Jede Kategorie unabhaengig berechenbar -- Teilscores auch ohne vollstaendige Daten sinnvoll
  7. Potenzialscore parallel zum Ist-Score: Was waere moeglich bei optimaler Verwaltung?

Grading-Skala

Score Grade
90-100 A+
80-89 A
65-79 B
50-64 C
35-49 D
0-34 F

Konfidenz-Dimension

Fehlende Daten senken nicht den Score, sondern die Konfidenz. Score und Konfidenz sind zwei unabhaengige Dimensionen. Unter 50% Konfidenz wird der Score als "Schaetzung" markiert.