Selbst forschen: Todesursachen in Deutschland 1980–2024
Eine interaktive Visualisierung der amtlichen Sterbefalldaten des Statistischen Bundesamts. Ursprünglich entstanden als Abschlussprojekt meiner Python-Weiterbildung bei educx — seitdem zur produktionsreifen Web-App ausgebaut: deutlich größerer Zeitraum, zusätzliche Altersaufschlüsselung und self-hosted im eigenen Docker-Stack.
Was die App kann
- Linien-, Stack- und Anteils-Plot für jede der ~80 Todesursachen-Kategorien
- Vergleich männlich / weiblich / Gesamt
- Zeitraum frei wählbar über RangeSlider
- Altersverteilung pro Ursache + Jahr (NEU)
- Deutsche Tausender-Trennung, Lade-Spinner, Loading-States
Technisch dahinter
- Dockerized Plotly-Dash-App, gunicorn mit 2 Workern
- Healthcheck-Endpoint
/health, Auto-Restart bei Crash - Nginx Proxy Manager davor, TLS via Let’s Encrypt
- Daten als read-only Volume — Update ohne Image-Rebuild
@lru_cache-getunete Loader, ~50 ms Filter-Latenz
Was sich vs. v1 verbessert hat
- Daten 1990–2023 → 1980–2024 (+12 Jahre)
- Neu: 17 Altersgruppen pro Ursache und Jahr
- 3 Darstellungsmodi statt nur Linien
- Production-ready (Docker, gunicorn, Healthcheck)
- Deprecation-Fixes (Pandas 2.x, Dash 2.18)
Code-Diff vs. Original-Version (educx-Abschluss, 09/2025)
| Bereich | Vorher | Jetzt |
|---|---|---|
| Datenumfang | 1990–2023, kein Alter | 1980–2024, 17 Altersgruppen |
| Darstellung | nur Linien | Linien · Gestapelt · Anteil % |
| Default-Auswahl | 2 alphabetisch | Top-5 nach letzten Toten |
| Deployment | lokales Dev-Server | Docker + gunicorn + Healthcheck |
| Locale | US-Tausender | DE-Tausender (1.234.567) |
| Performance | Excel je Request | @lru_cache |
Datenquelle: Statistisches Bundesamt — Tabelle 23211-0001 + 23211-0002 (GENESIS-Online). Stand der Daten: 12.05.2026.
Quellcode: GitHub-Repository (MIT-Lizenz) · Live-App: dash.fl-pro-consulting.de.
Kontext im Werdegang: Entstanden als Abschlussprojekt der Data-Science-Weiterbildung — Details in der Werdegang-Sektion.