21.06.2023 Abkündigung der Aktualisierung der Daten von Deutschland

Da die Pandemie (hoffentlich) endlich vorbei ist und da meine Datenquelle für deutsche Inzidenzdaten zum 01.06.2023 den Dienst ein- oder umgestellt hat, habe ich beschlossen keine weitere Energie in einen Umbau zu stecken. Damit stelle ich die Aktualisierungen von Webseite und E-Mail Newsletter nun ein. Die internationalen Daten werden vorerst weiterhin täglich automatisch aktualisiert.

Ich habe mich sehr über euer Interesse und das viele Feedback zu diesem Hobby Projekt gefreut und dabei auch viel Neues gelernt. Alles Gute für die Zukunft wünscht Torben.

COVID-19 Coronavirus Disease Spread Analysis in German Regions and the World

In early 2020 the SARS-CoV-2 virus (colloquially known as the coronavirus) spread across the globe and caused a pandemic of COVID-19 disease. This page presents a collection of daily updated charts and analysis of disease spread in German regions and the world. The focus lies on displaying the data of the past and deriving trends for the near future. In order to compare data of different regions, data is scaled by the regions' population. Charts are updated daily in the morning (UTC). Raw data and plot scripts are available in my GitHub repository. This is a private non-profit spare-time project. All data shown here rely on the quality of the data sources. I cannot guarantee for the correctness of my derived data.

Data sources

Feel free to drop me a message if you find a typo, bug or bigger issue. I am happy for inspirations for further analyses as well.

Stay safe, Torben

Table of Contents / Inhaltsverzeichnis

Further good information sources

Germany / Deutschland

Alle Zeitverläufe für Deutschland komibiniert

Ganze Pandemie
de-multi-timeseries.png
Zoom auf das letzte halbe Jahr
de-multi-timeseries-180.png
generated via Python plot-de-multi-timeseries.py, raw data can be found here in the files ts-de-*.tsv

Back to top


Karte: Animation der Ausbreitung in den Landkreisen

Grafik anklicken um zur Animation zu gelangen.

de-districts-Cases_Last_Week_Per_100000-latest.gif de-districts-DIVI_Intensivstationen_Covid_Prozent-latest.gif
de-districts-Cases_Per_Million-latest.gif de-districts-Deaths_Per_Million-latest.gif

Back to top


Bundesländer

Ranking

Ranking der Bundesländer nach Inzidenz und farbkodiert die Gesamtzahl der Infektionen bisher.

Ranking der Bundesländer nach Gesamtzahl der Infektionen bisher und farbkodiert die Inzidenz.

Ranking der Bundesländer nach Opferzahl der letzten Woche und farbkodiert die Gesamtzahl der Opfer bisher.

Ranking der Bundesländer nach Gesamtzahl der Opfer bisher und farbkodiert die Neu-Verstorbenen.

Back to top


Bundesland-Zeitverlauf

y-Achse:
x-Achse:  
generated via eCharts, raw data can be found in de-states

Back to top


Kombinierte Bundeslandgrafik

Zeitverlauf von Infizierten, Opfern und Intensivstationsauslastung durch COVID-19 pro Bundesland

Back to top


Landkreise

Landkreistabelle mit Intensivstationsauslastung

Siehe auch meinen konfigurierbaren E-Mail Newsletter für Landkreisdaten.

Ein Klick auf eine Zeile fügt diesen Landkreis in den interaktiven Landkreis Vergleich unten hinzu.

generated via Tabulator, raw data can be found here

Back to top


Interaktiver Landkreis Vergleich

Landkreise und Städte in obiger Tabelle auswählen. Mit dem Button über der Legende kann in die Daten hinein gezoomt werden. Die Konfiguration der Grafik ist in der URL (Adresszeile des Browsers) hinterlegt und lässt sich so speichern und teilen.

y-Achse:
x-Achse:
generated via eCharts, raw data can be found here

Back to top


Kombinierte Landkreisgrafik

Zeitverlauf von Infizierten, Opfern und Intensivstationsauslastung durch COVID-19 pro Landkreis

plots-python/de-districts/de-district-02000.png

Back to top


Intensivstationsprognose

Basierend auf diesem stark vereinfachten Modell von Dirk Paessler habe ich eine 2-Wochen Prognose für den Bedarf an Intensivbetten für COVID Patienten implementiert. Diese wird täglich um 15:00 für alle Landkreise und Bundesländer aktualisiert.

Eingangsparameter der Prognose ist die künftige Entwicklung der 7-Tages-Inzidenz. In orange ist der aktuelle Anstieg der letzten Woche für 2 Wochen fortgeschrieben. In anderen Farben sind Inzidenz-Veränderungen von +50%, +25%, 0% und -25% pro Woche skizziert. Blau zeigt die Historie der ans DIVI-Intensivregister gemeldeten Bettenbelegung. Details zum Modell siehe unten.

Hier die Region auswählen:

Bundesland Landkreis Gruppierung
keine Daten gefunden

generated via Python plot-icu-forecast.py

Hinweise

Modell
Vorgeschlagen von Dirk Paessler

  1. Auswahl einer Region (Landkreise/Landkreisgruppe/Bundesland)
  2. Verhältnis von dort gemeldeten COVID-Beatmungs-Betten (DIVI Datenreihe "faelle_covid_aktuell") zu 21-Tages-Inzidenz für die letzten 7 Tage berechnet
  3. Mittelwert dieses Verhältnisses über diese 7 Tage gebildet (und für die 2-Wochen-Prognose als konstant angenommen)
  4. Neue Fälle der letzten 7 Tage werden mit verschiedenen Wachstums-Annahmen für 2 Wochen in die Zukunft prognostiziert
  5. Die aus der Prognose resultierende zukünftige 21-Tages-Inzidenz mit dem obigen Mittelwert (Betten zu 21-Tages-Inzidenz) in eine Betten-Prognose umgerechnet

Back to top


Anzahl der Landkreise mit Neu-Infektionen in der letzten Woche

In der folgenden Grafik ist als Zeitverlauf die Anzahl der deutschen Land- und Stadtkreise pro Inzidenz-Intervallen aufgetragen.

hist-de-districts-Cases_Last_Week_Per_100000.png

Analog dazu hier Zunahme und Abnahme der Inzidenzen im Vergleich zur Vorwoche:

hist-de-districts-Cases_Last_Week_7Day_Percent-Incr.png
hist-de-districts-Cases_Last_Week_7Day_Percent-Decr.png
generated via Python plot-de-districts-increase-histogram.py

Back to top


Weitere Auswertungen

Konfigurierbarer Landkreis-E-Mail-Newsletter

(Screenshot anklicken um zur Anmeldung zu gelangen)

newsletter-screenshot-2-mail.png

Back to top


Vergleich der Sterbefälle vor und während der Pandemie / Übersterblichkeit

Basierend auf den Daten des Deutschen Statistischen Bundesamts habe ich die Gesamtzahl der Sterbefälle während der Pandemie mit den Vorjahren verglichen. Hinweis: Alle Datenreihen wurden mit einem gleitenden Durchschnitt von 7 Tagen geglättet und der 29.2. wurde entfernt.

de-mortality.png

Für den Vergleich mit den Opferzahlen von COVID-19 habe ich den zunächst für 2016-2019 die Sterbefälle pro Kalendertag gemittelt und zusammen mit den Daten von 2020, 2021 und 2022 aufgetragen. Im unteren Bereich ist die Differenz dieser zwei Datenreihen neben den COVID-19 Opferzahlen zu sehen.

de-mortality-covid-2022.png
de-mortality-covid-2021.png
de-mortality-covid.png
generated via Gnuplot plot-de-mortality.gp, raw data can be found in de-mortality.tsv

Hier Daten einiger unserer Nachbarländer: Belgien, Großbritannien, Frankreich, Schweiz, Spanien.

Back to top


Altersverteilungen

Hier eine Auswertung der Altersverteilungen. Ich habe die Zeit bis Sommer 2021 und danach unterschieden um den Effekt der Impfungen sehen zu können.

de_age_percent_2_post_2021_summer
de_age_percent_1_pre_2021_summer

Hinweis: Die Zahl der Intensivbetten für die Altersgruppen unter 20 Jahren liegen in der DIVI Quelle in anderer Gruppierung vor, daher sind die Zahlen hier nicht ganz korrekt, der Effekt sollte aber vernachlässigbar sein.

generated via Python fetch-de-age-percent.py
Daten: de_age_percent_2_post_2021_summer.tsv und de_age_percent_1_pre_2021_summer.tsv

Back to top


Impfdaten

plots-python/de-vaccination.png
generated via Python fetch-de-vaccination.py
Hinweis: täglich haben in Deutschland etwa 2000 Kinder ihren 12. Geburtstag, was damit die Baseline für die täglichen Impfungen werden sollte.

Back to top


Fakten zum Thema Impfung

Back to top


Mutationen

Siehe auch diesen tagesaktuellen Omikron-Report des RKI.

plots-python/mutations-de-lastmonth.png
plots-python/mutations-de-all.png
plots-python/mmutations-de-all-absolute.png
generated via Python fetch-plot-de-mutations.py

Back to top


PCR Tests: Anzahl und Positiv-Rate

Datenquelle: RKI

plots-python/de-pcr-tests.png
generated via Python fetch-plot-de-pcr-tests.py

Back to top


Wahrscheinlichkeit einen Infizierten zu treffen

Hier eine kleine Exkursion in die Stochastik/Wahrscheinlichkeitsrechnung mit dem Ziel das Risiko einer Infektion beim Treffen von Personen abzuschätzen.
Annahme zur Abschätzung: die Zahl der Neu-Infektionen pro Woche entspricht der Zahl der aktuell infektiösen Personen. Wichtig ist die Dunkelziffer der unbemerkt infizierten Personen nicht außer Acht zu lassen, ein Faktor 4 auf die offiziellen Fallzahlen erscheint mir realistisch. Sind also in einer Region 25 Neu-Infektionen pro 100000 Einwohner gemeldet, so nehme ich an, dass 100 Personen pro 100000 Einwohner derzeit ansteckend sind. Aus der Tabelle unten kann man nun für verschiedene Gruppengrößen ablesen wie wahrscheinlich es ist, dass eine ansteckende Person dabei ist. Die Excel-Berechnung dazu, die auch einen "Taschenrechner" für die freie Eingabe von Werten enthält, ist unter der Tabelle verlinkt.

DE_wahrscheinlichkeit-infizierten-treffen
generated via Excel wahrscheinlichkeit-infizierten-treffen.xlsx

Back to top


Veranstaltungsrisikoabschätzung

Basierend auf den Annahmen des letzten Abschnitts, hier ein "Taschenrechner" für die Risikoabschätzung von Veranstaltungen/Menschenansammlungen. Der Anspruch dieser groben Abschätzung ist nicht eine exakte Zahl, sondern die Größenordnung der Wahrscheinlichkeit in Abhängigkeit von Infektionslage und Teilnehmerzahl zu liefern.

Eingangsgrößen  
Anzahl Personen
Ort
Inzidenz (Neu-Infektionen in Region pro Woche pro 100.000 Einwohner), Zahlen können auch der obigen Landkreistabelle entnommen werden
Schätzung Faktor Dunkelziffer
Geschätzte Gesamtzahl infektiöser Personen (inklusive Dunkelziffer) in Region (pro 100.000 Einwohner)
Ergebnis  
Wahrscheinlichkeit, dass eine aktuell infektiöse Person dabei ist (Berechnungslogik siehe wahrscheinlichkeit-infizierten-treffen.xlsx)

Anmerkungen zu den Eingangsgrößen, Annahmen und Vereinfachungen für dieses grobe Modell:

Anmerkung zum Ergebnis:
Die Wahrscheinlichkeit das es zu einer Ansteckung kommt, hängt von vielen weiteren Faktoren wie Dauer, Umgebung, getroffenen Schutzmaßnahmen ab und lässt sich nur sehr schwierig als Wahrscheinlichkeit in % abschätzen. Über Ideen und Hinweise dazu bin ich dankbar, hier können Sie mich kontaktieren.

Back to top


Verdopplungszeit der Neu-Infektionen

22.08.2020 Bis heute hatte ich gedacht und gehofft, dass das Thema "exponentielles Wachstum der Fallzahlen" vom Tisch ist. Leider sprechen die jüngsten Zahlen eine andere Sprache. Daher habe ich heute eine neue Auswertung erstellt, die den Trend (Zunahme und Abfall) quantifiziert. Ich habe dazu die Verdopplungszeit bzw. Halbwertszeit der Neu-Infektionen berechnet. Verdopplungszeit ist die Zeit in der sich ein Wert verdoppelt hat, Halbwertszeit analog halbiert.

Zahlenbeispiel zur Verdeutlichung
Angenommen es sind heute 10 Neu-Infektionen und die Verdopplungszeit von 20 Tagen bleibt konstant, so ergibt sich in
20 Tagen → 20 Neu-Infektionen
40 Tagen → 40 Neu-Infektionen
60 Tagen → 80 Neu-Infektionen
80 Tagen → 160 Neu-Infektionen
...
Aus diesem Grund ist eine kurze Verdopplungszeit gefährlich und eine kurze Halbwertszeit gut.

In den folgenden Grafiken ist basierend auf den Neu-Infektionen pro Woche die dazugehörige Verdopplungszeit (rot) beziehungsweise Halbwertszeit (grün) dargestellt. Diese wurden ermittelt durch Regression über jeweils einen Zeitraum von 14 Tagen in die Vergangenheit, Details dazu siehe unten. Die Auswertung ist inspiriert von Konstantin Tavan's Darstellung.

Ergebnis: Im März betrug die Verdopplungszeit in Deutschland meist weniger als 5 Tage. Der Abschwung ab Anfang April war mit 10-15 Tagen Halbwertszeit deutlich langsamer als der Anstieg zuvor. Seit Ende Juli sind wir im Bereich einer Verdopplungszeit von 20 Tagen.

Nun der Vollständig halber eine kurze Erklärung zum mathematischen Hintergrund

Zur Ermittlung der Verdopplungszeit bzw. Halbwertszeit habe ich die Daten eines Intervalls mit einer exponentiellen Wachstumsfunktion "gefittet" (angenähert über eine Regressionsanalyse). Dabei werden vom Algorithmus 2 Parameter der Wachstumsfunktion so ermittelt, dass die Wachstumsfunktion zu einer optimalen Übereinstimmung mit den Daten skaliert wird. Aus den so ermittelten Werten der Parameter lassen sich dann Aussagen zum Wachstum treffen.

Exponentielle Wachstumsfunktion:
f(x) = N0 · exp(b · x)
mit N0: Skalierungsfaktor/Wert zum Zeitpunkt (x = 0 = heute)
und b: allgemeiner Parameter der das Wachstum beschreibt.

Um den Parameter b in eine besser verständlichere Verdopplungszeit T umzurechnen, trifft man einfach folgenden Festlegung:
f(T) = 2 · f(x=0)
→ N0 · exp (b · T) = 2 · N0
→ b = ln (2) ÷ T
Analog lässt sich dies für eine Halbierung durchführen. Da aber ln(0,5) = -ln(2) ist, ist das Ergebnis fast identisch, nur das Vorzeichen der Halbwertszeit T ist negativ.
Anmerkung: Die Verdopplungszeit/Halbwertszeit T ist unabhängig vom Skalierungsfaktor N0. Daher ist es für die Bestimmung der Verdopplungszeit nicht notwendig die Daten auf die Bevölkerung zu skalieren.

Obige Routine habe ich nun für jeder Tag auf der x-Achse wiederholt um einen Zeitverlauf der Verdopplungszeit bzw. Halbwertszeit (bei Abnahme) zu bestimmen. Dabei verwende ich pro Tag das Intervall der y-Werte der Daten dieses Tages und der jeweils 13 vorangegangenen Tage. Als x-Werte verwende ich für jedes dieser Intervalle die Werte -13..0 (Tage). Der N0 Skalierungsfaktor wird mit dem y-Wert des aktuellen Tages initiiert (aber auch durch den Algorithmus optimiert).

Back to top


Wie hoch ist die Dunkelziffer der Infizierten im Vergleich zu den offiziellen Fallzahlen?

Hier der Versuch einer Abschätzung der Dunkelziffer (=Differenz zwischen der Gesamtzahl der Infizierten und den positiv getesteten Personen). Folgende sehr vereinfachte grobe Annahmen (Inspiriert von diesem Artikel, Abschnitt "Washington State") habe ich getroffen:

Damit lässt sich die Gesamtzahl der Infizierten vor 3 Wochen rückwärts berechnen aus 100x (Kehrwert von 1%) die Zahl der heute Verstorbenen. Diese Rechnung lässt such nun für jeden Tag X durchführen: Zahl der Toten am Tag X mal 100 zugeordnet zum Tag X-14. Daraus lässt sich auf die Gesamtzahl der heute infizierten Personen über eine Regressionsanalyse/Fit der Daten (mehr dazu unten) extrapolieren. Graphisch sieht dies wie folgt aus:

calc-cases-from-deaths-DE-total.png
generated via Gnuplot plot-de-calc-deaths.gp, raw data can be found in de-state-DE-total.tsv

Anmerkung zu den Annahmen: Die Sterblichkeit ist vermutlich geringer als die angenommenen 1%. Es dauert wohl üblicherweise eher 3-4 Wochen von Infektion bis zum Tode, nicht wie von mir gerechnet nur 3 Wochen. Beide Effekte wirken sich vergrößernd auf die Dunkelziffer aus.

Back to top


Nebenprojekt: CO2-Ampel

Hier der Verweis auf mein anderes Corona-Projekt CO2-Ampeln für unsere Schule und KiTa. Motivation: Die CO2-Konzentration in der Luft ist ein guter Indikator dafür, dass es Zeit zum Lüften ist. Wer sich beteiligen möchte kann gerne Kontakt zu mir aufnehmen. Aktueller Stand:

ASGS-V1.jpg
4xCO2-in-Holz.jpg

Back to top


Countries Worldwide

Map: Country Casualties

COVID-19 Outbreak World Map Total Deaths per Capita

Map deaths per million population, borrowed from Wikipedia. Data source: the json file provided by github.com/pomber/covid19 is based on data of Johns Hopkins University Center for Systems Science and Engineering (JHU CSSE)

Back to top


Country Table

Click on a row to add it to the country comparison chart below.

"Cases Doubling Time" is derived by an exponential fit of the "Cases Last Week" of the last 14 days.

generated via Tabulator, raw data can be found in countries-latest-all.tsv / countries-latest-all.json

Back to top


Country comparison chart

Usage hints

Nomenclature

1. Select countries

Africa Asia Europe North America South America Oceania

2. Select data

y axis:  

3. Chart

generated via eCharts, raw data can be found in country-XX.tsv / .json
Many thanks to Attila Andrási-Nagy for code review, cleanup and implementation of the first version of the select data logic!

Back to top


Country Rankings

Cases

Ranking countries by current new cases (series "Cases Last Week per 100.000 Population") and color-coding their total cases (series "Cases per Million Population").

Ranking countries by total cases (series "Cases per Million Population") and color-coding their current new cases (series "Cases Last Week per 100.000 Population").

Back to top


Deaths

Ranking countries by last week's deaths (series "Deaths Last Week per Million Population") and color-coding their total deaths (series "Deaths per Million Population").

Ranking countries by total deaths (series "Deaths per Million Population") and color-coding their last week's deaths (series "Deaths Last Week per Million Population").

Back to top


Doubling Time of New Infections

In the following the exponential growth of the new infections is analyzed. If an increase is present, I fit the data with an exponential function to derive the new cases doubling time. As data I used the "Cases Last Week" series of the last 14 days. The resulting doubling time is the number of days it takes for a doubling of new cases, shorter is worse, of cause. Color coded is the current 7-day incidence as additional information, red means high.

Back to top


Event Risk Calculator

Assuming an event/company/school with many people attending. What is the probability of a COVID-19 infectious person being there?

Input  
Number of people attending
New cases in your region (per last week per 100.000 population), numbers can be found at Country Table above.
Estimated factor of unreported cases
Estimated total amount of infectious people in population (last week per 100.000 population)
Output  
Probability for 1 or more infective people are attending

I made the following simplifications for this rough model

Comment on the result: The likelihood that an infection will occur depends additionally on many other factors such as duration, environment and protective measures taken and is very difficult to estimate as a probability in %. I am grateful for ideas and hints, here you can contact me.

Back to top


Reference data: deaths by other causes per year.

Cause Deaths Deaths per Million
DE: HIV deaths 2018 440 5
DE: drug overdose 2019 1398 17
DE: traffic deaths 2018 3265 39
DE: suicides 2017 9235 111
DE: flu 2017/18 (estimated) 25100 302
DE: cancer 2017 227590 2741
DE: total death rate 2018 954874 11502
US: 9/11 2977 9
US: gun deaths 2017 14542 44
US: flu 2018/19 (estimated) 34200 104
US: traffic deaths 2018 36560 111
US: suicides 2018 48344 147
US: drug overdose 2018 67367 205

Back to top


Time series, doubling time calculation and forecast for selected countries

As in all countries the exponentially increase of the death toll is stopped, this chapter has been archived.


Home - Contact - Impressum