Berechnungsmodell – Überblick¶
Status: informativ
Spezifikationsversion: 1.0.1
Modellbezug: 0.6.2
Stand: 2026-07-05
1. Zweck¶
Diese Datei beschreibt das Immohai-Berechnungsmodell ausschließlich auf Überblicksebene. Die vollständige und allein verbindliche Formelwahrheit steht in:
docs/calculations/model-specification.md
Diese Datei definiert keine parallelen Formeln, Schwellen oder Ratingregeln.
2. Quellenhierarchie¶
1. docs/calculations/model-specification.md
2. docs/specification/data-quality-and-validation/data-model.md
3. docs/specification/model-and-calculations/calculation-interfaces.md
4. weitere führende Spezifikationen des jeweiligen Themas
5. maschinenlesbare Modellkonfiguration
6. Implementierung und Tests
7. UI und Reports
Die vollständige Eigentümerschaft steht in docs/governance/documentation-system.md.
3. Ziel der Berechnung¶
Immohai bewertet:
Gesamtinvestition
Eigenkapital und Darlehen
LTV und Kapitaldienst
NOI und Cashflow vor Steuer
Liquiditätsbedarf
Immobilienvermögen
ETF-Alternative
Exit
Best-/Base-/Stress-Robustheit
Investment Rating
Datenqualität und offene Prüfungen
4. Rechenarchitektur¶
Einzelanalyse ─┐
├──> PropertyInput -> Single-Property-Engine -> AnalysisResult
Batch-Analyse ─┘
Identische PropertyInputs und versionierte Konfigurationen liefern unabhängig vom Eingabeweg identische Ergebnisse.
5. Quick und Expert Mode¶
Quick und Expert Mode verwenden dieselbe Engine.
Quick:
wenige Pflichtfelder
sichtbare Defaults
Expert:
zusätzliche Annahmen
vollständige Herkunft
finale Overrides
6. Annahmenauflösung¶
finaler manueller Wert
manuelle Eingabe
bewusst übernommener Schätzwert oder Importwert
Profilwert
Objektprofil-Anpassung nur auf Profil- oder Defaultwert
Default
missing
Finale Werte bleiben unverändert.
7. Szenarien¶
Base:
aufgelöste Annahmen ohne Szenario-Delta
Best und Stress:
dokumentierte Deltas nur auf scenario_adjustable-Felder
ETF-Rendite bleibt zwischen den Immobilien-Szenarien identisch.
Fachstatus wie rent_basis und interest_basis bestimmt mit, ob ein Wert fixed oder scenario_adjustable ist.
8. Erwerb und Finanzierung¶
closing_costs = purchase_price × closing_costs_pct
total_acquisition_cost = purchase_price + closing_costs
total_initial_investment = total_acquisition_cost + initial_renovation_costs
loan_amount = max(0, total_initial_investment - equity_contributed)
non_purchase_costs_financed_amount = max(0, loan_amount - purchase_price)
cash_reserve_after_closing ist ein Informationsfeld.
9. Kosten und Cashflow¶
NOI
= Nettokaltmiete
- Leerstand
- nicht umlagefähige Betriebskosten
Cashflow vor Steuer
= NOI
- Reservebeitrag
- wiederkehrender CAPEX
- Sonder-CAPEX
- Kapitaldienst
Die gewählte CAPEX-Methode steuert genau eine Berechnungsmethode.
10. DSCR und LTV¶
initial_ltv = loan_amount / purchase_price
current_ltv_y = debt_y / property_value_y
dscr_y = (noi_y - reserve_contribution_y) / debt_service_y
Bei fehlendem Kapitaldienst ist DSCR null und not_applicable.
11. Rendite¶
gross_yield_y1 = gross_rent_y1 / purchase_price
noi_yield_y1 = noi_y1 / total_initial_investment
net_yield_before_financing_y1 ist nur ein Legacy-Lesealias.
12. ETF und Exit¶
ETF und Side Account verwenden Jahresend-Timing. Die ETF-Alternative startet mit dem eingesetzten Eigenkapital und erhält dieselben negativen Nachschüsse. Hauptvergleich ist terminal_net_vs_etf_after_exit nach Verkaufskosten und Restschuld.
13. Datenqualität und Rating¶
Fehlende oder unzureichende Datenqualität führt zu UNRATED; es gibt keinen Ersatzscore.
Best und Stress erhalten ScenarioAssessment. Nur Base beziehungsweise AnalysisResult erhält das vollständige Investment Rating. Robustness wird aus Stress abgeleitet.
14. Market Screening und Vollanalyse¶
Pre-Screening enthält objektbezogene Kennzahlen. NOI-basierte Kennzahlen sind nur mit vorhandenen oder transparent defaulted Kosten- und Erwerbsdaten zulässig. Vollanalyse ergänzt Finanzierung und verwendet die vollständige Single-Property-Engine.
15. Marktmiet-Schnittstelle¶
published RentReferenceDataset innerhalb seines Scope
-> RentEstimate
-> PropertyInput.rental.monthly_cold_rent
-> Engine
Die Engine berechnet keine Marktmiete.
16. Versionierung¶
Zusammengehörige Versionen stehen in:
model/config/model-manifest.json
frontend/assets/config/model-manifest.json
17. Weiterführende Spezifikationen¶
docs/governance/documentation-system.md
docs/calculations/model-specification.md
docs/specification/data-quality-and-validation/data-model.md
docs/specification/model-and-calculations/calculation-interfaces.md
docs/specification/data-quality-and-validation/data-quality-assessment.md
docs/specification/model-and-calculations/kpi-assessments.md
docs/specification/data-quality-and-validation/validation.md
docs/specification/user-interface-and-reporting/reporting.md