---
title: "Küche oder Balkon? Was sich für Vermieter wirklich lohnt"
subtitle: "Drei unabhängige Methoden, ein klares Ergebnis: Die Küchenrenovierung schlägt den Balkonanbau — und zwar deutlich."
description: "Datenanalyse von 8.259 Berliner Mietwohnungen (2026) zeigt: Eine moderne Küche steigert die Miete um +3,48 €/m², ein Balkon um +1,08 €/m². KI-Bildanalyse von 55.000 Wohnungsfotos enthüllt neue Zusammenhänge."
author: "Klaus Redel"
date: "2026-03-17"
categories: [Renovation, ROI, Berlin, Data Analysis]
image: kitchen-vs-balcony.png
lang: de
keywords:
- Küchenrenovierung Mietwohnung
- Balkon Mietsteigerung
- Renovierung ROI Vermieter
- Berlin Mietrendite
- Wohnungsrenovierung lohnt sich
open-graph:
title: "Küche oder Balkon? Datenanalyse für Vermieter"
description: "8.259 Berliner Wohnungen analysiert (2026). Küche: +3,48 €/m². Balkon: +1,08 €/m². Mit KI-Bildanalyse."
---
```{python}
#| echo: false
#| output: false
# Setup — load data and define colors
import plotly.graph_objects as go
import plotly.express as px
from plotly.subplots import make_subplots
# RentSignal brand colors
GREEN = "#00BC72"
GREEN_LIGHT = "#E6F9F0"
RED = "#DC2626"
RED_LIGHT = "#FEE2E2"
TEAL = "#004746"
ACCENT = "#E8913A"
GRAY = "#6B7280"
BG = "#FAFAFA"
# Data from our analysis — v4.3 model (2026 data, no inflation adjustment)
# Matching v2: trained on 4,828 regular listings, 27 confounders incl. AI photo features
treatments = ["Moderne Küche", "Aufzug", "Gartenzugang", "Balkon"]
cate = [3.48, 1.59, 1.36, 1.08] # from matching v2 (2026 data, excl. Tauschwohnungen)
wtp = [4.13, 1.41, 0.67, 1.01] # from conjoint (unchanged)
shap = [0.92, 0.12, 0.10, 0.18] # from v4.3 SHAP
costs = [15000, 45000, 5000, 8000]
payback_months = [56, 365, 47, 95] # recalculated with v2 CATE
roi_annual = [21.5, 3.3, 25.6, 12.6] # recalculated
cate_ci_low = [2.81, 0.75, 0.53, 0.21] # from matching v2
cate_ci_high = [4.20, 2.49, 2.17, 1.97]
# Colors per treatment
colors_cate = [GREEN if v > 0 else RED for v in cate]
```
## TL;DR
```{python}
#| echo: false
#| label: fig-tldr
#| fig-cap: "Kausaler Effekt auf die Kaltmiete (€/m²) — Propensity Score Matching, 4.828 reguläre Berliner Wohnungen (2026)"
fig = go.Figure()
fig.add_trace(go.Bar(
y=treatments,
x=cate,
orientation='h',
marker_color=colors_cate,
text=[f"+{v:.2f} €" if v > 0 else f"{v:.2f} €" for v in cate],
textposition='outside',
textfont=dict(size=13, family="Inter"),
error_x=dict(
type='data',
symmetric=False,
array=[h - v for v, h in zip(cate, cate_ci_high)],
arrayminus=[v - l for v, l in zip(cate, cate_ci_low)],
color=GRAY,
thickness=1.5,
width=4
),
hovertemplate="<b>%{y}</b><br>CATE: %{x:.2f} €/m²<extra></extra>"
))
fig.add_vline(x=0, line_dash="solid", line_color=GRAY, line_width=1)
fig.update_layout(
height=300,
margin=dict(l=10, r=80, t=10, b=40),
plot_bgcolor="white",
paper_bgcolor=BG,
font=dict(family="Inter", size=12),
xaxis=dict(
title="Kausaleffekt auf Kaltmiete (€/m²)",
gridcolor="#E5E7EB",
zeroline=False,
range=[-0.5, 5.0]
),
yaxis=dict(autorange="reversed"),
)
fig.show()
```
**Die Kernaussage:** Eine moderne Küche steigert die Miete kausal um **+3,48 €/m²**. Ein Balkon bringt **+1,08 €/m²** — deutlich weniger als die Küche, aber positiv (anders als in früheren Analysen ohne KI-Bildkontrolle). Die Konfidenzintervalle sind statistisch robust.
## Die Frage
Jeder Vermieter steht irgendwann vor der Entscheidung: Wo investiere ich? Die üblichen Verdächtigen — Küche modernisieren, Balkon anbauen, Aufzug nachrüsten — kosten unterschiedlich viel. Aber welche Investition bringt tatsächlich mehr Miete?
Die meisten Antworten basieren auf Bauchgefühl, Maklerweisheiten oder bestenfalls auf Korrelationen aus Immobilienportalen. Das Problem: **Korrelation ist nicht Kausalität.** Wohnungen mit Balkon sind im Schnitt teurer — aber liegt das am Balkon, oder daran, dass Balkone häufiger in besseren Lagen vorkommen?
## Unsere Methode
Wir haben drei unabhängige Analysemethoden auf denselben Datensatz angewandt:
### 1. SHAP-Analyse (Machine Learning)
Ein XGBoost-Modell (R²=0,814, 80 Features inkl. KI-Bildanalyse und Satellitenindizes) wurde auf 8.259 Berliner Mietwohnungen (März 2026) trainiert. Die SHAP-Werte zeigen den marginalen Beitrag jedes Features zur Mietprognose:
- **Küche (hasKitchen):** SHAP = +0,92 €/m²
- **Balkon:** SHAP = +0,18 €/m²
Der Unterschied: **5×** zugunsten der Küche.
### 2. Propensity Score Matching (Kausalinferenz)
Um den kausalen Effekt zu isolieren, haben wir ein Propensity Score Matching durchgeführt. Das Verfahren:
1. Für jede Wohnung *mit* Küche wird eine möglichst ähnliche Wohnung *ohne* Küche gesucht
2. Matching auf **27 Confounders** — inkl. KI-extrahierte Bildmerkmale (Renovierungsgrad, Innenqualität, Bodenbelag) und Satellitenindizes
3. 1:1 Nearest-Neighbor, Caliper = 0,25 SD, 1.000 Bootstrap-Iterationen
4. **Tauschwohnungen ausgeschlossen** — nur marktübliche Inserate
**Ergebnisse:**
- **Küche: +3,48 €/m²** [95% KI: 2,81 — 4,20], 714 Paare, 28/30 Confounder balanciert
- **Balkon: +1,08 €/m²** [95% KI: 0,21 — 1,97], 657 Paare
**Update 2026:** In unserer früheren Analyse (2019) war der Balkoneffekt negativ (-0,72 €/m²). Mit 27 statt 14 Confounders — insbesondere KI-Bildmerkmale für Renovierungsgrad und Innenqualität — dreht sich der Effekt ins Positive. Der frühere negative Effekt war ein Confounding durch Gebäudequalität (ältere, weniger renovierte Häuser haben häufiger Balkone).
### 3. Synthetische Conjoint-Analyse (Stated Preferences)
Zusätzlich haben wir eine Choice-Based Conjoint-Studie mit 75 kalibrierten Berliner Mieterprofilen durchgeführt (basierend auf IBB Wohnungsmarktbericht 2025). Die Willingness-to-Pay (WTP):
- **Küche: +4,13 €/m²** — stärkstes Feature
- **Balkon: +1,01 €/m²** — Mieter *sagen*, sie würden zahlen...
## Die Konvergenz
Das Bemerkenswerte: Matching und Conjoint liefern für die Küche fast identische Ergebnisse:
```{python}
#| echo: false
#| label: fig-convergence
#| fig-cap: "Methodenvergleich: Drei unabhängige Schätzungen pro Renovierung"
fig = go.Figure()
methods = ["SHAP (ML)", "Matching (CATE)", "Conjoint (WTP)"]
method_colors = [ACCENT, GREEN, TEAL]
for i, (method, values, color) in enumerate(zip(
methods,
[shap, cate, wtp],
method_colors
)):
fig.add_trace(go.Bar(
name=method,
y=treatments,
x=values,
orientation='h',
marker_color=color,
text=[f"{v:.2f}" for v in values],
textposition='outside',
textfont=dict(size=11),
hovertemplate=f"<b>{method}</b><br>" + "%{y}: %{x:.2f} €/m²<extra></extra>"
))
fig.add_vline(x=0, line_dash="solid", line_color=GRAY, line_width=1)
fig.update_layout(
barmode='group',
height=350,
margin=dict(l=10, r=60, t=30, b=40),
plot_bgcolor="white",
paper_bgcolor=BG,
font=dict(family="Inter", size=12),
legend=dict(
orientation="h",
yanchor="bottom", y=1.02,
xanchor="left", x=0,
font=dict(size=11)
),
xaxis=dict(
title="Effekt auf Kaltmiete (€/m²)",
gridcolor="#E5E7EB",
zeroline=False
),
yaxis=dict(autorange="reversed"),
)
fig.show()
```
Beim Balkon zeigt sich mit den verbesserten Kontrollen (KI-Bildanalyse als Confounder) nun **Konvergenz**: Conjoint (+1,01 €/m²) und Matching (+1,08 €/m²) liefern praktisch identische Ergebnisse.
Küche und Aufzug konvergieren ebenfalls: Wenn zwei völlig unterschiedliche Methoden — beobachtungsdaten und experimentelle Präferenzen — dasselbe sagen, steigt die Glaubwürdigkeit erheblich.
[Renovierungs-ROI für deine Wohnung berechnen →](https://rentsignal.de?utm_source=blog&utm_medium=cta&utm_campaign=kitchen-vs-balcony&utm_content=mid-article)
## ROI-Vergleich: Was rechnet sich?
```{python}
#| echo: false
#| label: fig-roi
#| fig-cap: "Investitionsvergleich: Kosten, monatliche Mietmehreinnahme (65 m²) und Payback"
living_space = 65
monthly_uplift = [c * living_space for c in cate]
fig = make_subplots(
rows=1, cols=2,
subplot_titles=("Monatliche Mietmehreinnahme (65 m²)", "Payback (Monate)"),
horizontal_spacing=0.15
)
# Monthly uplift
fig.add_trace(go.Bar(
y=treatments,
x=[round(m, 0) for m in monthly_uplift],
orientation='h',
marker_color=colors_cate,
text=[f"€{m:.0f}/Mo" if m > 0 else f"€{m:.0f}/Mo" for m in monthly_uplift],
textposition='outside',
textfont=dict(size=11),
hovertemplate="<b>%{y}</b><br>Mehreinnahme: €%{x:.0f}/Monat<extra></extra>",
showlegend=False
), row=1, col=1)
# Payback
payback_display = [p if p and p < 500 else 0 for p in payback_months]
payback_colors = [GREEN if p and p < 100 else ACCENT if p and p < 500 else RED for p in payback_months]
payback_text = [f"{p:.0f} Mo" if p and p < 500 else "∞" for p in payback_months]
fig.add_trace(go.Bar(
y=treatments,
x=payback_display,
orientation='h',
marker_color=payback_colors,
text=payback_text,
textposition='outside',
textfont=dict(size=11),
hovertemplate="<b>%{y}</b><br>Payback: %{text}<extra></extra>",
showlegend=False
), row=1, col=2)
fig.update_layout(
height=300,
margin=dict(l=10, r=60, t=40, b=30),
plot_bgcolor="white",
paper_bgcolor=BG,
font=dict(family="Inter", size=12),
)
fig.update_xaxes(gridcolor="#E5E7EB", row=1, col=1, title="€/Monat")
fig.update_xaxes(gridcolor="#E5E7EB", row=1, col=2, title="Monate")
fig.update_yaxes(autorange="reversed", row=1, col=1)
fig.update_yaxes(autorange="reversed", row=1, col=2)
fig.show()
```
## Was bedeutet das für Vermieter?
**1. Investiere in die Küche.** Bei einer 65-m²-Wohnung bedeuten +3,48 €/m² ca. €226/Monat Mehrmiete. Bei Renovierungskosten von ~€15.000 ergibt das einen Payback von unter 5 Jahren und einen jährlichen ROI von 21,5%.
**2. Balkon lohnt sich — aber weniger.** Mit +1,08 €/m² (€70/Monat bei 65 m²) bringt der Balkon einen positiven Effekt, aber der ROI ist mit 12,6% deutlich geringer als bei der Küche. Investiere zuerst in die Küche.
**3. Gartenzugang als Alternative.** Mit +1,36 €/m² und nur ~€5.000 Kosten hat der Gartenzugang den besten ROI (25,6%) — und den zweitschnellsten Payback (47 Monate).
```{python}
#| echo: false
#| label: fig-roi-annual
#| fig-cap: "Jährlicher ROI (%) — Mietmehreinnahme / Investitionskosten"
fig = go.Figure()
fig.add_trace(go.Bar(
y=treatments,
x=roi_annual,
orientation='h',
marker_color=[GREEN if r > 10 else ACCENT if r > 0 else RED for r in roi_annual],
text=[f"{r:.1f}%" if r > 0 else "negativ" for r in roi_annual],
textposition='outside',
textfont=dict(size=13, family="Inter", weight=600),
hovertemplate="<b>%{y}</b><br>ROI: %{x:.1f}% p.a.<br>Kosten: €%{customdata:,}<extra></extra>",
customdata=costs
))
fig.update_layout(
height=280,
margin=dict(l=10, r=80, t=10, b=40),
plot_bgcolor="white",
paper_bgcolor=BG,
font=dict(family="Inter", size=12),
xaxis=dict(
title="Jährlicher ROI (%)",
gridcolor="#E5E7EB",
range=[0, 30]
),
yaxis=dict(autorange="reversed"),
)
fig.show()
```
## Methodik-Details
- **Datensatz:** 8.259 Berliner Mietwohnungen (ImmoScout24, März 2026), davon 4.828 reguläre Inserate (exkl. Tauschwohnungen)
- **Modell:** XGBoost v4.3 mit 80 Features (19 strukturell + 24 OSM/Satellit + 21 KI-Bild + 9 NLP + 5 Nachbarmieten + 2 weitere), R²=0,814
- **KI-Bildanalyse:** 55.000 Wohnungsfotos mit Gemini 2.5 Flash analysiert — 22 visuelle Merkmale pro Wohnung (Renovierungsgrad, Küchenqualität, Bodenbelag, etc.)
- **Matching:** Logistisches PS-Modell, 27 Confounders inkl. KI-Bildmerkmale, 1:1 NN, Caliper 0,25 SD, 1.000 Bootstrap
- **Conjoint:** D-optimales Design, 6 Attribute, 10 Tasks, Dual-Response, MNL-Schätzung
- **Alle Analysen reproduzierbar** auf [github.com/dannyredel/rentsignal](https://github.com/dannyredel/rentsignal)
---
## Jetzt berechnen
Welche Renovierung lohnt sich bei deiner Wohnung? RentSignal zeigt dir den ROI für jede Investition — mit CATE, WTP und §559-Durchreich.
[→ Renovierungs-ROI berechnen](https://rentsignal.de?utm_source=blog&utm_medium=cta&utm_campaign=kitchen-vs-balcony&utm_content=bottom)
[Kostenlosen Account erstellen →](https://rentsignal.de/signup?utm_source=blog&utm_medium=cta&utm_campaign=kitchen-vs-balcony&utm_content=signup)
---
*Dieser Artikel basiert auf der Analysepipeline von [RentSignal](https://rentsignal.de) — der Plattform für datengetriebene Mietentscheidungen.*
---
::: {.callout-note appearance="simple"}
## English Summary
**Kitchen vs Balcony: What Really Pays Off for Landlords.** Our analysis of 8,259 Berlin apartments (2026 data) using three independent methods — with AI photo analysis of 55,000 listing photos as confounders — shows: a modern kitchen increases rent by +€3.48/m² (causal effect), a balcony by +€1.08/m². With AI-controlled building quality, the balcony effect flipped from negative (2019) to positive (2026). [Calculate renovation ROI for your apartment →](https://rentsignal.de?utm_source=blog&utm_medium=cta&utm_campaign=kitchen-vs-balcony&utm_content=en-summary)
:::