Werden unsere Seen wärmer?

Neulich war ich wieder einmal in Starnberg zu Besuch bei meinen Freunden Renate und Christian. Für mich sind sie Vorbilder eines umweltbewussten Lebensstils. Letztlich geht es auch auf sie und eine Diskussion mit unserer Tochter, dazumal noch bei Fridays for Future, zurück, dass ich seit Anfang 2020 innerhalb von Europa nicht mehr beruflich geflogen bin. Von Hamburg nach Brno, Lausanne, München oder Paris fahre ich seither und bis heute konsequent mit dem Zug.

Renate und Christian habe ich auch von meinen Untersuchungen zum Wasserstand im Panamakanal erzählt. So kamen wir auch auf den Starnberger See zu sprechen. Sehen wir auch hier den Einfluss des Klimawandels?

Ein Dank an die Obrigkeit!

Als Landschaftsarchitekt kennt Christian eine Datenquelle: den Gewässerkundlichen Dienst Bayern. Wenn Du Dich für Wasserstand und -temperatur von Gewässern interessierst, dann stellt diese Webseite eine wahre Fundgrube dar.

Zugegeben: Du kannst die Daten nicht einfach per Skript von einer URL einlesen, wie das für die CO2-Daten des Mauna Loa Observatoriums möglich ist. Die Daten kommen auch in mehreren Tabellen daher, die man miteinander verbinden muss. Aber wenn Du die Anfrage stellst, dann hast Du innerhalb weniger Minuten den Download-Link.

Und es ist eine wahre Freude, diesem „geschenkten Gaul“ ins Maul zu schauen: Seit dem Jahr 2008 liegen zum Starnberger See Messdaten in hoher Granularität vor, oft mit mehreren Messwerten pro Tag.

Ein Lob an dieser Stelle auf unsere öffentliche Verwaltung, die Qualität ihrer Arbeit und die Transparenz!

Der Starnberger See wird immer wärmer!

Um die Daten graphisch darzustellen, ziehe ich eine Zufallsstichprobe der Größe 10.000 aus den über 130.000 Messwerten:

Das geschulte Auge erkennt, dass der Sommer 2015 besonders warm war: die Kurve geht da besonders weit nach oben.

Schauen wir uns zunächst den Jahresverlauf an:

Zugegeben: das Ergebnis sieht recht wild aus. Um dem Auge zu helfen, habe ich deshalb die Farbpalette so gewählt, dass die frühen Jahre einer kalten und die späteren einer immer wärmeren Farbe zugeordnet werden. Wir erkennen am unteren Rand der Temperaturkurven eher kalte und am oberen Rand eher warme Farben:

Wird der See immer wärmer?

Um dieser Frage nachzugehen, ziehe ich aus allen Daten Jahr für Jahr den Datensatz mit der jeweils höchsten und der niedrigsten gemessenen Temperatur heraus und stelle diese wie folgt graphisch dar:

Dank der Hilfe der Ausgleichsgeraden durch diese Temperaturwerte erkennt man tatsächlich einen Anstieg. Ein statistisches Regressionsmodell zeigt, dass dieser Anstieg bei einem P-Wert von 2,4% auch tatsächlich signifikant ist. Aus der so ermittelten Steigung dieser beiden Geraden können wir schließen:

Über den betrachteten Zeitraum wurde der Starnberger See im Laufe von 12,5 Jahren um ein Grad wärmer.

Die Analyse von Umweltdaten muss „demokratisiert“ werden

Ob diese Ergebnisse mit dem Klimawandel zusammenhängen?
Das mögen andere beurteilen.

Wichtig erscheint, dass diese wertvollen Daten aufbereitet und untersucht werden sollten. Für freischaffende Blogger wie mich wäre das angesichts des Reichtums allein der Daten, die vom Gewässerkundlichen Dienst Bayern bereitgestellt werden, eine Mammutaufgabe. Nun könnte man dort studentische Hilfskräfte einstellen und so diese und ähnliche Untersuchungen (zum Beispiel zu den gemessenen Wasserständen oder der Temperaturentwicklung anderer Gewässer) anstellen.

Solch ein Herangehen erscheint aber erstens aufwendig. Denn es gibt Daten zu einer großen Anzahl von Gewässern. Zweitens und viel ärgerlicher noch: schon kurze Zeit nach diesen Untersuchungen käme bestimmt die Frage auf: „Wie sieht es eigentlich jetzt aus?“ – Und die Analysen müssten wiederholt werden.

„Statische“ Analysen – so wie hier – sind nicht geeignet. Es braucht „dynamische“ Werkzeuge mit Zugriff auf tagesaktuelle Daten.

Wird dieser Weg ein leichter sein?

Deshalb gibt es meiner Ansicht nach nur einen Weg:

  1. Die Daten müssen in einem maschinenlesbaren und möglichst über die verschiedenen Gewässer hinweg standardisierten Format direkt online abrufbar sein: So wie die CO2-Daten des Mauna Loa Observatoriums auf Hawaii.
  2. Auf Grundlage dieser Daten wird in einem „open source“ Projekt eine App erstellt – ähnlich meiner eigenen „Umwelt-App“ (eine Art „funktionaler Prototypen“ für das, was wir bauen könnten) – mit der jedermann und jedefrau die Daten selbst erkunden kann.

Denn so können alle, die sich für Temperatur oder Wasserstand eines Gewässers, oder für andere Umweltdaten interessieren, die Daten selbst erkunden und Entwicklungen und außergewöhnliche Ereignisse identifizieren, diskutieren und melden.

Weil Umweltdaten von öffentlichem Belang sind, müssen sie nicht nur frei verfügbar sein. Wir müssen auch die Möglichkeit demokratisieren, diese Daten zu erkunden.

Technisch erscheint das wahrlich kein Hexenwerk. Ich werde in den nächsten Wochen einmal auf den Gewässerkundlichen Dienst zugehen.

Wenn Du in der einen oder anderen Form mitmachen kannst oder möchtest – und sei es, weil Du jemand bei diesem oder einem anderen Dienst kennst, oder weil Du diesem Anliegen bei Entscheidungsträgern Gehör verschaffen kannst, dann melde Dich gerne!

Meiner Ansicht nach geht es um Folgendes:

  • Beim Gewässerkundlichen Dienst bewirken, dass die Datenverfügbarkeit standardiesiert und vereinfacht wird
  • Eine App bauen (bisher nutze ich R, Python ist ebenfalls denkbar), die erlaubt, die Erkundung dieser Daten zu „demokratisieren„.
  • Workshops abhalten, in denen Menschen ausprobieren können, was sie anhand der Daten über die Gewässer erfahren können, für die sie sich interessieren.

Wenn das nach einem „Just-do-it-Projekt“ für Dich klingt, dann auf und los!

Kirschblüten-Frühlingsgefühle

Es ist einige Zeit vergangen seit meinem letzten Blogeintrag.

Ein Nachtrag

Kurz zum letzten Eintrag: Es zeichnet sich inzwischen eine Entwicklung am Panamakanal ab. Die folgende Graphik habe ich mit meiner eigenen App erstellt. Wir erkennen, dass die Kanalbehörden sparsam mit dem verfügbaren Wasser umgehen (müssen). Der Kanal operiert mit geringerer Kapazität – aber dazu sind (mir) leider keine Daten verfügbar. Falls Du eine Quelle kennst, dann schreibe mich gerne an!

Mit der App am 28. 3. 2024 erstellter Screenshot. Hervorgehoben sind der Verlauf des Wasserstandes im Jahr 2023 (orange) und im Jahr 2024 (rot).

Mit der App am 28. 3. 2024 erstellter Screenshot. Hervorgehoben sind der Verlauf des Wasserstandes im Gatún-See für das Jahr 2023 (orange) und das Jahr 2024 (rot).

Es ist Frühling: die Kirschblüten blühen so schön

Wir leben in Wedel. Hier befindet sich nicht zuletzt auch die „Schiffsbegrüßungsanlage“ des Hamburger Hafens. Seit Jahrzehnten wird in Hamburg das japanische Kirschblütenfest begangen und auch wir waren zweimal in „Planten und Blomen“ dabei. Manche meiner Freunde teilen derzeit Bilder von Kirschblüten und in manchen Straßen ist es eine wahre Pracht.

Nicht umsonst also wird das Kirschblütenfest in Japan seit über 1000 Jahren begangen – und dokumentiert. Historikerinnen und Historiker haben sich durch die Quellen gearbeitet und Jahr für Jahr das Datum des Beginns der Kirschblüte veröffentlicht. Verfügbar sind ihre Daten über diese Quelle: Paleo Data Search | Study | National Centers for Environmental Information (NCEI) (noaa.gov).

Yasuuki Aono hat Daten bis hin zum Jahr 2021 zusammengetragen. Diese Daten verwende ich hier: „Historical Series of Phenological data for Cherry Tree Flowering at Kyoto City„. Wenn Du eine Quelle hast, die bis heute aktualisiert wird, dann bin ich daran interessiert – denn die Daten sind wertvoll, da sie so einen langen Zeitraum überstreichen, und es ist interessant und wichtig zu sehen, wie es weitergeht. Ich habe mir die Daten heruntergeladen, lese sie mit folgendem R-Skript ein und bereite sie auf:

# Daten einlesen:
df <- read_excel("040_KyotoFullFlowerW.xls", skip = 15)[, 1:5] 

# Spaltennamen vereinfachen:
colnames(df) <- c("Year", 
                 "DOY", 
                 "Date.Coded", 
                 "Source", 
                 "Reference")

# Mit dieser Datumsinformation erstellen wir später die Graphiken:
df$Date <- make_date(year = year(Sys.Date()), 
                             month = 1, 
                             day = 1) + days(df$DOY - 1)

Erkennbar sind (siehe dafür die Graphik ganz unten), dass der Beginn der Kirschblüte von Jahr zu Jahr stark schwanken kann. Aber es ist auch ersichtlich, dass sie in den letzten 150 Jahren tendenziell früher begonnen hat.

Datenaufbereitung

Das möchte ich mir genauer ansehen. Dafür berechne ich Jahr für Jahr einen gleitenden Mittelwert über eine frei wählbare Zeitspanne („span“). Für die jeweilige Spanne bestimme ich ebenso die Standardabweichung. Es mag nicht besonders elegant sein (R-Profis rümpfen die Nase, wenn ich eine Schleife verwende), aber es ist eben doch auch schnell getan und so erstelle ich mir eine neue Tabelle res (wie „result“, also „Ergebnis“) wie folgt:

# Vorbereitungen:
start <- min(df$Year)
end <- max(df$Year)
span <- 20  # Über diese Spanne wird der Mittelwert ermittelt


res <- NULL   # Initialisierung der Tabelle res

# Erstellung von gleitendem Mittelwert und Standardabweichungen:
for (y in (start+span):end) {
  temp <- df %>% 
    filter(Year <= y,
           Year >= y-span)
  append <- data.frame(
    Year = y,
    Moving.Average = round(mean(temp$DOY, na.rm = TRUE), 0),
    SD = sd(temp$DOY, na.rm = TRUE)
  )
  res <- rbind(res, append)
}

# Wir erzeugen noch einen "optisch ansprechenden "Vertrauensschlauch":
alpha <- 0.4 # frei wählbar
z <- qnorm(1 - alpha / 2) # z-Wert für 95% CI
res$LowerCI <- round(res$Moving.Average - z * res$SD, 0)
res$UpperCI <- round(res$Moving.Average + z * res$SD, 0)
res$Date <- make_date(year = year(Sys.Date()), 
                     month = 1, 
                     day = 1) + days(res$Moving.Average - 1)
res$Date.UCL <- make_date(year = year(Sys.Date()), 
                      month = 1, 
                      day = 1) + days(res$UpperCI - 1)
res$Date.LCL <- make_date(year = year(Sys.Date()), 
                          month = 1, 
                          day = 1) + days(res$LowerCI - 1)

So lässt sich dann folgende Graphik erzeugen:

# Zunächst die Werte selbst:
p <- ggplot() +
  geom_point(data = df,
             aes(x = Year, 
                 y = Date))

# Wir fügen den "Schlauch für den Vertrauensbereich hinzu:
p <- p +
  geom_ribbon(data = res,
              aes(x = Year,
                  ymin = Date.LCL, 
                  ymax = Date.UCL))

# Nun kommt noch der gleitende Mittelwert:
p <- p +
  geom_line(data = res,
             aes(x = Year,
                 y = Date)) +
  theme_minimal()

print(p)

Mit einigen „Verschönerungen“ (siehe unten) erhalte ich das folgende Ergebnis. Da ich diese Graphik am Dienstag nach Ostern in einer Schulung für Analystinnen und Analysten verwenden werde, siehst Du mir die englische Beschriftung hoffentlich nach:

Auf der horizontalen Achse ist das jeweilige Jahr aufgetragen und auf der vertikalen Achse das Datum der ersten Kirschblüte. Jeder Punkt entspricht einem Kirschblütenfest – seit mehr als 1200 Jahren… Deutlich erkennbar ist der Trend zu immer früherer Kirschblüte seit dem Jahr 1845.

Nun bin ich zugegebenermaßen nicht der Erste, der diese Daten aufbereitet. Der Economist hat das im Jahr 2017 in seinem – in der Regel sehr lesenswerten – „Graphical Detail“ schon getan. Dort wird auch das Offensichtliche diskutiert:

Die Kirschblüte ist ein „Klimaindikator“.

Wenn es wärmer wird, dann blühen die Kirschen früher. Und seit Mitte des 19. Jahrhunderts sind weltweit die Temperaturen angestiegen.

Mir liegt hier an folgenden zwei Aspekten:

  1. Mit dem Panamakanal, jetzt der Kirschblüte und auch inspiriert von einem Blog meines ESSC-Kollegen Daniel Fügner zur Entwicklung des Wasserstands der Nidder denke ich, dass ich noch einige weitere „Klimaindikatoren“ aufspüren und untersuchen möchte. Damit meine ich frei verfügbare Messreihen, gerne über Jahrzehnte oder wie hier sogar Jahrtausende hinweg, die direkt oder indirekt Aufschluss über Klimaveränderungen geben können. Wenn Du Ideen oder Quellen hast: gerne!
  2. Beruflich bin ich immer wieder mit „kritischen“ Daten konfrontiert – und sehe, wie wenig achtsam, durchaus im modernen Sinne des Wortes, diese aufbereitet und dargestellt werden. Wenn wir mit Daten Botschaften vermitteln, vielleicht sogar Handlung inspirieren wollen, dann müssen wir diese Daten auch aufbereiten und die Botschaft auf ansprechende Weise klar herausarbeiten. Deshalb möchte ich hier auch den Code bereitstellen. Denn es liegt mir daran, diese Fähigkeiten zu „demokratisieren“.

Der vollständige Quellcode der Graphik

Ganz im Sinne des zweiten Punktes: Gerne kannst Du diese Graphik bei Dir zuhause selbst erstellen und verändern. Dieses Wissen lässt sich übrigens nur deshalb so leicht teilen, weil es hier als Skript verfügbar ist. Wenn Du diese Fähigkeit hast: versuche einmal, jemand anderem zu erklären, wie er oder sie so eine Graphik in Excel erzeugen kann…

# Read the cherry png:
cherry <- png::readPNG("cherry.png")

# TODO: replaces geom_point with cherry-pictures.
ggplot() +
  annotation_custom(rasterGrob(cherry), 
                    xmin = start, 
                    xmax = start + 100, 
                    ymin = as.Date("2024-05-01"), 
                    ymax = Inf) +
  geom_point(data = df,
             aes(x = Year, 
                 y = Date),
             colour = "#FF1140",
             alpha = 0.3,
             size = 1.5) +
  geom_ribbon(data = res,
              aes(x = Year,
                  ymin = Date.LCL, 
                  ymax = Date.UCL), 
              fill = "#FF1140", 
              alpha = 0.2) +
  geom_line(data = res,
            aes(x = Year,
                y = Date), 
            linewidth = 2,
            colour = "#FF1140") +
  geom_vline(xintercept = 1845, colour = "#FF1140", linetype = "dashed") + 
  geom_text(aes(x = 1845, 
                y = as.Date("2024-05-05"), 
                label = "1845"), 
            vjust = 0.5, hjust = 0, color = "darkgrey", size = 5) +
  theme_minimal() +
  labs(title = "Earlier Kyoto Cherry Blossoming period since about 1845",
       subtitle = "Line: 20-years moving average, with confidence interval",
       x = "", y = "Date of Cherry Blossom",
       caption = paste("Data source: ", source)
       )

Ausblick 2024: Mit längeren Engpässen am Panamakanal ist zu rechnen

Ich hoffe, ich darf in diesem nüchtern gehaltenen Blog die Botschaft heute einmal dramatisieren: Ich bin Hobbyastronom. Gestern habe ich durch’s Fernrohr geschaut. Und einen Kometen gesehen, der auf die Erde zurast…

Es geht natürlich nicht um einen Kometen, sondern um den Panamakanal.

Meine Schlussfolgerungen basieren auf Szenarien, für die ich historische Daten heranziehe: ich verwende die Entwicklungen der vergangenen Jahrzehnte, um den derzeitigen (noch nicht kritischen, aber außergewöhnlich niedrigen) Wasserstand des Panamakanals in die Zukunft zu extrapolieren. Denn bis zum Ende des Jahres, also jetzt, muss der Gatúnsee gut gefüllt sein, damit der Panamakanal im nun folgenden Jahr sicher betrieben werden kann.

Die unten entwickelten Szenarien zeigen, dass wir im nächsten Jahr mit einer längeren Periode geringer Kapazität im Panamakanal rechnen müssen – und deshalb mit erheblichen Beeinträchtigungen weltweiter Lieferketten.

Bei der Supply Chain & Logistics Konferenz Anfang Dezember in Berlin kam über einem Kaffee das Thema auf, dass nicht nur der Suezkanal und die Straße von Hormuz für unvorhergesehene Störungen globaler Lieferketten sorgen können, sondern zunehmend auch der Panamakanal.

Der Panamakanal ist ein entscheidendes Element in der weltweiten Lieferketteninfrastruktur. Er dient als maritime Abkürzung, die einen effizienten und kostengünstigen Transport von Gütern zwischen Atlantik und Pazifik ermöglicht. Im Vergleich zur Umrundung von Kap Hoorn, und erst recht im Vergleich zum Weg durch die Nordwest-Passage, werden Reisedistanzen und -gefahren für Schiffe dank dieses Kanals erheblich verkürzt.

Schon dieses Jahr hat es an ungewöhnlich vielen Tagen im Panamakanal „bedenklich niedrige Wasserstände“ gegeben. Das führte jeweils dazu, dass große Schiffe („Panamax„) nicht mehr vollbeladen durch den Kanal fahren konnten. Auch sinkt die Kapazität des Kanals bei Niedrigstand, da dann zu wenig Wasser für einen häufigeren Schleusenbetrieb zur Verfügung steht.

Diese Dinge wollen wir uns heute genauer anschauen. Eine kurze Internetrecherche zeigt, dass es für den Betrieb des Kanals auf den Wasserstand des künstlich aufgestauten Gatúnsees ankommt. Bei einem Wasserstand von weniger als 79 Fuß wird es kritisch. Historische Daten dafür – leider aber nicht für die abgefertigte Tonnage oder die Anzahl der geschleusten Schiffe – werden dankenswerterweise von den Kanalbehörden bereitgestellt.

Datenbeschaffung und -aufbereitung

Wie sonst auch verwende ich ein R-Skript, was nicht zuletzt den Vorteil hat, dass ich meine Analyse bequem aktuell halten und in eine App einbauen kann: bei diesem Link auf den Reiter „Panama Canal“ klicken, um den aktuellen Stand im Jahr 2024 im Vergleich zu vorhergehenden Jahren zu sehen.

Die Daten enthalten zwei Spalten: das Datum und den Wasserstand in Fuß. Ich filtere einige Zeilen heraus, in denen ein unrealistischer Wasserstand von Null vermerkt ist, und erkenne, dass es für das Jahr 2002 lediglich zwei Einträge gibt. Sehr viel später fällt mir zudem auf, dass ausgerechnet zwischen den Jahren einige Werte „Ausreißer“ darstellen – vermutlich keine „echten“ Schwankungen des Wasserstandes, sondern Probleme in der Datenerfassung oder -übertragung.

Für die weitere Handhabung berechne ich aus der Datumsspalte weitere Spalten für das Jahr (1965 bis 2023), den Monat (1, 2, … 12) und den Tag des jeweiligen Jahres (1, 2, … 365). Da im Jahresverlauf Schwankungen auftreten (siehe unten), berechne ich für jeden Monat und für jeden Tag im Jahr einen Mittelwert. Puristen mögen einwenden, dass ich besser den Median verwenden sollte, denn die Daten sind nicht normalverteilt, wie auch die folgende Graphik schon zeigt:

Verlauf des Wasserstandes über das Jahr und über alle Jahre hinweg

Wie die vorherige Graphik zeigt, sind die mittleren Wasserstände in den Monaten April bis August am niedrigsten. Kritische Niedrigstände wurden bisher lediglich im April und Mai erreicht. Die Wasserstände streuen zudem stark – mit Ausreißern nach unten. Auf Tagesbasis stellt sich die Situation wie folgt dar:

Wir schauen uns den zeitlichen Verlauf über alle Jahre hinweg genauer an:

So erkennen wir, dass die jahreszeitlichen Schwankungen Mitte der 1970er Jahr mehrere Jahre nacheinander besonders stark nach unten ausgeschlagen haben. Im April 1998 gab es die ersten 12 Tage mit einem kritischen Wasserstand von weniger als 79 Fuß und zwei weitere Tage im Mai. Im Jahr 2016 traten 41 solcher Tage auf. Überhaupt scheinen sich niedrige Wasserstände in den letzten Jahren gehäuft zu haben – erkennbar an den häufiger gewordenen Ausreißern nach unten. Auch die Varianz des Wasserstandes (optisch der Abstand von Höchst- zu Tiefstwerten innerhalb eines Zeitraumes) scheint seit ca. 2015 deutlich angestiegen zu sein.

Ich habe längere Zeit herumprobiert und bin immer noch nicht so ganz schlüssig, denke aber, dass die folgende Graphik die Dramatik der Entwicklung ganz gut wiedergibt:

Hier stelle ich den vorher schon gezeigten Verlauf dar, allerdings nun den Ausschnitt seit den 1990er Jahren. Zusätzlich färbe die Punkte umso röter ein, je weiter der Wasserstand von seinem langjährigen Tagesmittel abweicht. Diese Mittelwerte – berechnet auf Grundlage aller Daten – zeige ich im Hintergrund grau. So werden die starken Abweichungen des Wasserstandes nach unten während der letzten Jahre deutlich sichtbar.

Auch jetzt, gegen Ende des Jahres 2023 (hellrot, ganz rechts in der Graphik), zu Zeiten seines Höchststandes, hat der See einen historischen Tiefstand für die Jahreszeit erreicht – deutlich unter den Tiefstständen sogar, die sonst in den Monaten April bis Juni erreicht werden.

Auf Grundlage der historischen Entwicklung erwarten wir also, dass es nun von den aktuell erreichten 81,6 Fuß wieder „bergab“ (!) geht. Somit besteht die Erwartung und Befürchtung, dass die Marke von 79 Fuß bald erreicht sein könnte.

Wie geht es weiter?

Um das genauer zu betrachten, schauen wir uns die Jahresverläufe an:

Der diesjährige Verlauf (rot) liegt weit außerhalb der zu dieser Jahreszeit jemals aufgetretenen Wasserstände.

Nun ist die spannende Frage, wie es wohl weitergehen könnte. Dafür stelle ich folgende Überlegung an: Ich verschiebe alle Verläufe der vergangenen Jahre auf den Startpunkt in diesem Jahr und schaue, wohin das führt. Dabei gab es noch eine Schwierigkeit: zwischen den Jahren zeigen die Wasserstände für einige Jahre (1997, 2015, 2019, 1982, 2008, 2013, 1971, 1998, 2016, 2020, 1983, 1977, 2014) einen erstaunlichen Sprung. Ein Messfehler? Ich verschiebe deshalb die Normalisierung auf einen früheren Termin, den 10. Dezember 2023 (der rote Punkt in der folgenden Graphik) und lasse die vergangenen Entwicklungen durch eine Verschiebung des Wasserniveaus dort starten:

Wir erkennen wir die ganze Dramatik dessen, was für 2024 droht: wenn sich der Wasserstand entwickelt wie in der Vergangenheit – und jede der gezeigten Kurven ist eine aus der Vergangenheit – dann führen manche Szenarien zu einem dramatischen und nie dagewesenen Niedrigwasser im Panamakanal – von dem sich dieser auch im gesamten nun folgenden Jahr nicht erholen würde.

Diese Szenarien lassen auch eine Wahrscheinlichkeitsbetrachtung zu: wir bestimmen dafür Tag für Tag den Anteil der Szenarien mit Niedrigwasser, also einem Stand von weniger als 79 Fuß. Das Ergebnis ist beunruhigend:

Spätestens ab dem März 2024 steigt die Wahrscheinlichkeit für Niedrigstand rasant an und erreicht Anfang Mai fast die 80-Prozent-Marke. Bis Ende Oktober liegt die Wahrscheinlichkeit für Niedrigwasser noch bei 10%: kein beruhigender Ausblick für das nun kommende Jahr!

Sind wir vorbereitet?

Dies ist „nur“ ein Blog, in dem ich öffentlich verfügbare Daten verwende und interpretiere. Ich glaube, dass das wichtig ist. Hier aber stellt sich die Frage: wie bewusst ist Stakeholdern und Entscheidern die Situation? Werden ausreichend Maßnahmen eingeleitet für dieses „Tagebuch einer angekündigten Krise“? Oder müssen wir uns für 2024 auf Engpässe in den weltweiten Lieferketten einstellen?

Anmerkung: auf Grundlage von Rückmeldungen habe ich diesen Artikel stark überarbeitet und in englischer Sprache auch auf LinkedIn veröffentlicht.

Patentstark wirtschaften – wo steht Deutschland im internationalen Vergleich?

Warum Du diesen Beitrag lesen solltest

Wir machen uns Sorgen darum, wie wir in Zukunft hochwertige Arbeitsplätze in Deutschland halten können. Angesichts von steigenden Energiekosten, Lieferkettenproblemen, der demographischen Entwicklung und dem damit einhergehendem Fach- und Führungskräftemangel ist ein Thema etwas ins Hintertreffen geraten: unsere „Erfolgsrezepte“. Intellektuelles Eigentum ist ein wesentlicher Baustein für die Zukunft.

In diesem Beitrag betrachte ich vor allem das Thema „Patente“, und das im internationalen Vergleich. Der Vorteil liegt vor allem darin, dass Daten frei verfügbar sind. Wusstest Du das? Nutzt Du diese? Auch wenn es sich bei Patenten um die „sichtbare Spitze eines Eisberges“ handelt, können wir aus Patentdaten interessante Einsichten und einige Handlungsempfehlungen ableiten.

Intellektuelles Eigentum als Erfolgsfaktor für die Zukunft

In einem vorherigen Beitrag habe ich beschrieben, wie Du Daten zu weltweit veröffentlichten Patenten beschaffen und visualisieren kannst. Wir hatten auch gesehen, dass in Asien ein immer größerer Anteil des weltweiten intellektuellen Eigentums erzeugt wird.

Verpassen wir hier den Anschluss?

Heute wollen wir zunächst fragen, welche Länder die meisten Patente pro Kopf der Bevölkerung veröffentlichen. Das ist ein Blickwinkel, den ich aus den Gesprächen der letzten Wochen mitgenommen habe.

Wir schauen uns die Lage zunächst „statisch“ an und wählen dafür einige Jahre aus:

Deutschland steht im Jahr 2020 immerhin auf Platz 4, allerdings mit ca. sieben mal weniger Patenten pro Kopf der Bevölkerung als Korea.

In Sachen Patenten zieht Korea „mit Siebenmeilenstiefel“ an uns vorbei.

Auch China legt in den 2010er Jahren eine beeindruckende Aufholjagd hin, erkennbar im folgenden „Film“. Du könntest einwerfen, deutsche Patente seien besser. Sicher?

Die schleichende Gefahr für Unternehmertum: ungenügende Absicherung des intellektuellen Eigentums

So kommen wir in meinen Gesprächen auf einen weiteren Einwand:

Beim Geschäftserfolg geht es nicht nur um Patente.

Das stimmt. Gehe aber bei nächster Gelegenheit einmal über eine Industriemesse und wähle einen Stand aus, um zu fragen: Wie in aller Welt dieser kleine Biegeradius in hoher Stückzahl fehlersicher hergestellt werden kann? Welche Toleranzen dafür gebraucht werden? Und welche Anforderungen an die umgebende Spritzgussmasse gestellt werden müssen? Man wird Dich nur mit der Kneifzange anfassen…

Am Frankfurter Flughafen, Terminal 1, unten bei den Autovermietungen, habe ich ca. im Jahr 2013 in der McDonalds Küche einmal einen riesengroßen Salzstreuer für Pommes gesehen – ganz offensichtlich clever abgeguckt von der Mutter Natur und der Mohnblume. Ich habe mich mit einer Telekamera auf die Lauer gelegt und ein Foto für meine Innovationstrainings gemacht – und musste kurz darauf das Bild unter Aufsicht einer hinzugerufenen Sicherheitsfachkraft wieder löschen…

Nicht alles wird patentiert. Das Patent auf den Salzstreuer habe ich damals nicht gefunden. Das für Coca Cola wäre längst abgelaufen, wenn sie ihr Rezept patentiert hätten. Open AI legt seine Algorithmen auch nicht im Schaufenster aus und Coco Chanel meldet ebenfalls keine Patente auf Düfte an. Viele Fertigungsprozesse in der Automobil-, chemischen, Lebensmittel- und Pharmaindustrie unterliegen „einfach nur“ der Geheimhaltung. So wie auch die Designmethoden bei Inditex und anderen Modehäusern.

Patente stellen die sichtbare „Spitze eines Eisberges“ dar.

Und weil sie sichtbar sind, lassen sie sich gut einsetzen. Du kannst sie verkaufen, lizensieren. Du hast für 20 Jahre ein Monopol auf Deine tolle Idee. Selbst wenn Deine Firma pleite geht, können ihre Patente immer noch viel wert sein. Ein Land, in dem viele Patente angemeldet werden, zieht internationale Unternehmen an, kann das eigene „intellektuelle Eigentum“ einsetzen, um neues zu produzieren, stellt seine Schaffenskraft unter Beweis.

Patente als „Wegweiser“ in die Zukunft

Gespräche und Recherchen der letzten Wochen fördern – auch im Vergleich mit Korea – einige Erfolgsfaktoren zutage, die Deutschland mittel- und langfristig helfen können:

  • Investitionen in Forschung und Entwicklung: Südkorea hat ganz offensichtlich in den letzten Jahrzehnten erhebliche Investitionen in Forschung und Entwicklung getätigt. Dies schließt öffentliche und private Investitionen in Forschungseinrichtungen, Universitäten und Unternehmen ein. Ziel dieser Investitionen war und ist es, das technologische Know-how des Landes zu stärken und Innovationen zu fördern.
  • Bildungssystem: Das koreanische Bildungssystem scheint einen Schwerpunkt auf Wissenschaft und Technik zu legen. So „produziert“ es hochqualifizierte Absolventen in den Bereichen Ingenieurwissenschaften, Informatik und anderen technischen Disziplinen, die in der Lage sind, innovative Technologien zu entwickeln und zu patentieren. In einem zukünftigen Blogbeitrag könnten wir uns einmal PISA-Studien und speziell die MINT-Fächer anschauen.
  • Regierungsprogramme und -initiativen: Die koreanische Regierung hat verschiedene Programme und Initiativen zur Förderung von Forschung und Innovation ins Leben gerufen. Das tut auch Deutschland und jedes OECD-Land: finanzielle Unterstützung, Steuervergünstigungen, Anreize für Unternehmen und Forschungseinrichtungen. Vielleicht können wir uns dennoch das eine oder andere aus Korea abgucken?
  • Kulturelle Faktoren: Hier tue ich mich am schwersten. Aber es heißt, die koreanische Kultur fördere harte Arbeit, Wettbewerb, Ehrgeiz und den Drang nach Exzellenz. Zumindest einige sagen, dass auch dies dazu beitrage, dass viele Menschen in Korea motiviert seien, in technologischen Bereichen erfolgreich zu sein – und so eben auch Patente schreiben und veröffentlichen.

Soviel zu dem, was „die Regierung“ tun könnte. Auch Dein Unternehmen kann eigene Schwerpunkte setzen, zum Beispiel:

  • Systematische Innovationskultur: In den 2015er Jahren habe ich mit amerikanischen Kollegen Entwicklungen auf LinkedIn verfolgt. Wir haben gesehen, wie einige (v.a. russische) TRIZ-Experten (Theorie der erfinderischen Problemlösung) zu Samsung gewechselt sind und in der Folge deren Patentportfolios erweitert haben. TRIZ-Konferenzen waren und sind koreanische Vertreter jedenfalls sehr kompetent vertreten. Dank KI erwarten viele ein Wiederaufblühen von Methoden wie TRIZ, auch in Verbindung mit Design Thinking und „Outcome-Driven Innovation“. Wie geht Ihr hier vor?
  • Innovations-Portfolio-Management: Habt Ihr einen systematischen Innovationsprozess, vom Markt her gesteuert, der ständig Entwicklungen beobachtet, Chancen daraus ableitet, diese in Prototypen verwandelt, Prototypen in Produkte übersetzt und im Markt testet? Ein Prozess, bei dem aktiv geprüft wird, welche Patente abgeleitet werden können und welche gebraucht werden (z.B. für „Patent Fencing“)?
  • Wettbewerberanalyse: Beobachtet Ihr Patentveröffentlichungen von Wettbewerbern? Könntest Du mir für Deinen Bereich die fünf Wettbewerberpatente nennen, die Euch am meisten im Weg stehen? Analysiert Ihr systematisch, wie diese Patente aufgebaut sind, wo sie ihre Schwachstellen haben und gegebenenfalls umgangen werden können? Beobachtet Ihr, wer Eure Patente verletzt? Betreibt Ihr dafür „Reverse Engineering“ von Wettbewerberprodukten – vielleicht auch, um zu erkennen, wo sie, trickreich und völlig legal, Eure Patente umgehen konnten? Wie setzt Ihr im Fall der Fälle Eure Rechte durch? Gibt es Zahlen dazu, welche Produkte, Märkte, Wettbewerber besonders „anfällig“ sind und Eurer besonderen Beobachtung bedürfen?
  • Geheimhaltungsvereinbarungen und Vertraulichkeitsvereinbarungen: Wie nutzt Ihr bei der Zusammenarbeit mit Partnern, Lieferanten, Forschungseinrichtungen und auch Mitarbeitern Geheimhaltungsvereinbarungen, um sicherzustellen, dass vertrauliche Informationen geschützt bleiben? Wie schult Ihr Mitarbeiter zu diesen Themen? Im Bereich der Arbeitssicherheit gibt es meldepflichtige Vorfälle und Beinaheunfälle. Gibt es solche Zahlen und die dahinter liegenden Prozesse und Verantwortlichkeiten auch zu Geheimhaltungsthemen?
  • Datenschutz und IT-Sicherheit: Memorysticks sind schon lange abgeschaltet – auch bei Euch, richtig? Die zunehmende Digitalisierung stellt aber gerade bei den Themen intellektuelles Eigentum und Geschäftsgeheimnisse neue Herausforderungen. Können Eure Mitarbeiter ChatGPT nutzen? Nein? – Schade! – Oh, doch, das tun sie? Wie sorgt Ihr dann dafür, dass hier nicht ein gewaltiges Datenleck entsteht? Und das ist nur ein Beispiel unter vielen…
  • Zusammenarbeit mit Forschungseinrichtungen, Universitäten und anderen Einrichtungen: Welche Themen bearbeitet Ihr selbst? Für welche braucht und habt Ihr Kooperationen? Wie trefft Ihr klare Vereinbarungen über Nutzung und Schutz von Ergebnissen? Gibt es zu diesem Vorgehen ein „Strategiepapier“ und Entscheidungsgrundlagen?
  • Technologietransfer und Lizenzierung: Wie setzt Ihr Euer eigenes Patentportfolio nutzbringend ein? Welche Lizenzen gebt Ihr heraus – welche nehmt Ihr? Wer hat ein Auge darauf, dass so ein möglichst großer Nutzen erzeugt wird (und wie groß war dieser Nutzen im letzten Jahr)?

Diese Liste ist das Ergebnis aus Gesprächen der letzten Wochen. In der Regel gibt es zu jedem Thema „etwas“: „Natürlich haben wir etwas“ oder – „Ja, die F&Eler machen da was mit der Uni Stuttgart“. Es scheint jedoch an einem durchgestochenem Vorgehen zu fehlen, das sich abteilungs- und begreifsübergreifend aus unternehmerischen Zielen ableitet und entsprechend nachgehalten wird. Die gute Botschaft ist jedoch: Dein Unternehmen hat viele Hebel selbst in der Hand. Ihr könnt morgen anfangen.

Was macht die Regierung?

Diesen Ruf kenne ich aus Frankreich: „Que fait le gouvernement!?“ – um die Preissteigerung, die Arbeitslosenzahlen, die Lieferkettenengpässe – und überhaupt jedes größere Problem in den Griff zu kriegen. Franzosen nehmen sich mit dieser Frage gern selbst auf die Schippe.

Auch uns sind diese Fragen und die daraus entstandenen Programme der Industriepolitik durchaus vertraut: z.B. Rürupp/Riester-Sparen, Abwrackprämie, Coronahilfen, Industriestrompreis.

Wir wollen uns also auch anschauen, welchen Anteil ihres Bruttosozialprodukts Länder in Forschung und Entwicklung stecken. Die Weltbank trägt dazu Daten zusammen (GB.XPD.RSDV.GD.ZS), die wir uns mit den oben erstellten Algorithmen bequem anschauen können, und zwar zunächst als „Film“ …

… und dann als statische Graphik für ausgewählte Jahre:

Deutschland (DEU) spielt oben mit und hat im Jahr 1996 etwas über 2% des Bruttosozialprodukts für Forschung und Entwicklung eingesetzt. Bis zum Jahr 2000 ist diese Zahl auf immerhin 3% angestiegen. Das sind gewaltigen Summen: im Jahr 2022 hat Deutschland ein Bruttosozialprodukt von 3,88 Billionen Euro erwirtschaftet. Drei Prozent davon entsprechen 116 Milliarden Euro, immerhin 1400 Euro pro Kopf der Bevölkerung. Solche gewaltigen Summen dürfen nicht „mit der Gießkanne“ verteilt werden. Es müssen vielmehr klare Ziele definiert und abgestimmt, Programme aufgelegt und bewertet, es muss schlicht gute Arbeit geleistet werden.

Wir sehen auch:

Israel steht fast über den gesamten Zeitraum an der Spitze.

Auch Korea spielt ganz vorne mit und auch mit Schweden, Belgien, den USA, Japan und Österreich könnten wir uns vermutlich dazu austauschen, wie staatliche Ausgaben für Forschung und Entwicklung am besten gelenkt und eingesetzt werden können.

Vielleicht gibt es auch Möglichkeiten für Dein Unternehmen, sich mit anderen zusammenzusetzen, und darüber zu sprechen, was gut funktioniert, was besser gemacht werden kann und wie?

Es geht hier nicht um irgendeine Aufgabe. Es geht darum, das Unternehmen „wetterfest“ zu machen in Zeiten großer Umbrüche und dafür zu sorgen, dass es auch in Zukunft wettbewerbsfähig ist. Intellektuelles Eigentum spielt dabei eine entscheidende Rolle.

Wohin geht’s mit der Welt?

Nicht den Bach runter.
Trotz allem. Das glaube ich nicht.

Langfristige Trends sind oft schwer zu erkennen. Sie entwickeln sich so gleichmäßig vor unseren Augen, dass wir sie nicht wahrnehmen. Es ist das klassische „boiling frog“ Problem: Wir merken erst dann, was vor sich geht, wenn es unübersehbar wird. Deshalb führt kein Weg an Daten vorbei. Sie weisen uns auf Veränderungen hin, die uns sonst entgehen. Die Daten müssen visualisiert werden. Und das ist nicht nur eine Aufgabe für Statistiker und Informatikerinnen.

Daten helfen Dir, Deine „Business Story“ zu erzählen.

„Business Story Telling“ ist übrigens ein großes Ding. Es gibt sogar ein Buch darüber (Lori Silverman, Business Story Telling for Dummies).

Vermutlich gibt es eine gute Handvoll Trends, denen zumindest die multinationalen Unternehmen ausgesetzt sind. Sagen wir einmal, Bevölkerung, Bruttoinlandsprodukt, Emissionen und geistiges Eigentum gehörten dazu.

Angenommen Du hättst nötigen Daten: wie würdest Du visualisieren, welche Richtung diese „Indikatoren“ einschlagen?

Für die heutige Grafik verwende ich Daten der Weltbank. Wie Du an diese Daten kommst, habe ich in vorherigen Blogs beschrieben. Für jedes Jahr habe ich dann die „Schwerpunkte“ für diese Indizes berechnet.

Berechne die xyz-Koordinaten jeder Hauptstadt auf dem Erdball und setze dort den Index des jeweiligen Landes hin. Offensichtlich liegt der Schwerpunkt dann irgendwo im Inneren des Planeten. Wenn Europa dominieren würde, dann wäre der Schwerpunkt nahe an der Oberfläche, irgendwo unter Europa. Diesen Schwerpunkt verfolge ich dann Jahr für Jahr bis zur Oberfläche des Planeten. Die Berechnung ist nicht besonders schwierig. Ich habe aber eine Weile gebraucht, um die Winkelfunktionen richtig hinzukriegen.

Das Ergebnis ist für mich überraschend und aufschlussreich zugleich. Der Schwerpunkt für das Bruttoinlandsprodukt, die angemeldeten Patente und die CO2-Emissionen gehen alle in Richtung Asien / China. Die Weltbevölkerung „marschiert“ nach Afrika:

Der Schwerpunkt der Indizes für weltweite CO2-Emissionen, Patentanmeldungen, Bruttosozialprodukt und die Bevölkerungszahlen.

Was bedeutet das für Dein Unternehmen?

Falls Dein Unternehmen eine internationale Ausrichtung hat, dann ergeben sich nahezu zwangsläufig aus diesen Entwicklungen sowohl Chancen als auch Risiken. Aber auch ein Weinbauer aus dem Elsass sollte vermutlich nicht die Augen verschließen. Denn angesichts dieser Trends wird Dein Unternehmen sowohl Stärken als auch Schwächen aufzeigen.

Vielleicht wusstest Du, vielleicht wusste vor allem Euer Vorstand das alles schon. Vielleicht werden diese Ergebnisse in Euer SWOT-Analyse bereits festgehalten. Vielleicht sind für Euch auch ganz andere Kennzahlen (Weltbank-Sprech: „Indizes“) interessant. Nun, dann hast Du hier eine neue Möglichkeit, diese darzustellen und die die Motivation der daraus abgeleiteten Maßnahmen zu kommunizieren.

Oder möchtest Du Eure eigenen Daten so darstellen? Sagen wir einmal: die weltweiten Verkaufszahlen Deines Unternehmens? Das könnte interessante Entwicklungen aufzeigen. Oder?

Mal etwas anderes: Du kannst bei der Arbeit zuschauen

Für Kurzentschlossene

Bitte beachte: Mit dem folgenden Link verlässt Du meinen Blog, um die Plattform Youtube zu nutzen. Youtube hat eigene Datenschutzrichtlinien, die Du teilweise an Deine eigenen Bedürfnisse anpassen kannst. Es kann sein, dass Youtube Dir vor oder während der Nutzung meines Videos Werbung zeigt. Wenn Du Deine Rechte auf Youtube nicht kennst oder mit den Dir zugestandenen Rechten nicht einverstanden bist, dann solltest Du den folgenden Link nicht verwenden.

Hier ist der Link zu dem Video auf Youtube: https://youtu.be/MrCWJ8AI_50.

Screenshot aus dem Youtube Video.

Worum es heute geht:

Wenn Du viel mit Datenanalyse zu tun hast, dann solltest Du coden. Dabei kannst Du Dich von KI unterstützen lassen.

Neulich habe ich ein Seminar beim Europäischen Six Sigma Club dazu gehalten, wie Du ChatGPT & Co bei der Datenanalyse einsetzen kannst. Und zwar:

  • Als klassische Suchmaschine: Du fragst, wie Du gewisse Analysen in Excel, Power-BI, PSPP, Minitab usw. durchführen kannst. Wenn Du dabei z.B. ChatGPT/Bing verwendest, dann erhältst Du auch Links zu relevanten Webseiten.
  • Die KI erledigt die Rechnung. Du kannst Deine Rohdaten übermitteln und sagen: Mache mal bitte einen t-Test mit zwei Stichproben. Das Ergebnis ist beeindruckend: Du erhältst eine vollständige Dokumentation mit Erklärungen, die Du 1:1 in Deine Trainingsunterlagen übernehmen könntest.
  • Lass Dich beim Coden unterstützen: ChatGPT, Bard & Co sind SPRACHmodelle und geben ihre Ergebnisse in Form von Sprache aus. Die Ausgabesprache kann durchaus auch R oder Python sein. KI kann Dir also Code für die Lösung eines Problems erstellen.

Hier als Beispiel ein „Prompt“, den Du auch selbst in ein Sprachmodell eingeben kannst:

Erstelle mir bitte eine Funktion in der Skriptsprache R [oder Python], bei der ich eine natürliche Zahl n vorgebe und die Funktion mir dann die n-te Primzahl ausgibt.

Bei Erstellung dieses Beitrags erhalte ich dafür folgendes Ergebnis, einschließlich Kommentarzeilen:

# Funktion zur Berechnung der n-ten Primzahl

primzahl <- function(n) {
  # Initialisierung
  i <- 2
  primzahlen <- c(2)

  # Primzahlen bis n iterieren
  while (length(primzahlen) < n) {
    # Prüfen, ob i eine Primzahl ist
    if (all(i %% primzahlen != 0)) {
      # i ist eine Primzahl
      primzahlen <- c(primzahlen, i)
    }

    # i erhöhen
    i <- i + 1
  }

  # n-te Primzahl zurückgeben
  return(primzahlen[n])
}

# Beispiel
primzahl(10)

Kopieren, Einfügen. Funktioniert.

Das ist recht beeindruckend. Unter den oben genannten drei Möglichkeiten verwende ich deshalb nahezu ausschließlich den dritten Weg. In dem Seminar habe ich dargelegt, wie erstaunlich einfach das selbst für schwierigere Anwendungsfälle ist. Ich bin deshalb überzeugt:

Wenn Du viel mit Datenanalyse zu tun hast, dann solltest Du Dir die Chance nicht entgehen lassen, Dich von KI beim Coden coachen zu lassen.

Ich bin mir sicher, dass das im Laufe der Zeit noch leichter wird als es heute schon ist.

Warum Du „coden“ solltest, wenn Du Dich viel mit Datenanalyse beschäftigst

Ich sehe hier drei Gründe:

  • Der Algorithmus muss Dir gehören
  • Mit dem Code könnt Ihr, vor allem als Team, schneller lernen
  • Ihr könnt die Qualität Eurer Analysen ständig verbessern.

In meinen vorherigen Beiträgen habe ich das immer wieder erläutert. Ich möchte heute hier darauf verzichten. In dem heutigen Video komme ich allerdings darauf zurück.

Wir erstellen eine Animation zur Entwicklung der weltweiten Patentanmeldungen – und haben Sonderwünsche

In den Tagen nach den Seminar haben einige Teilnehmer und Teilnehmerinnen gefragt:

„Schöne Demo. Aber kannst Du mal ein ‚echtes‘ Beispiel erstellen, wie Datenanalyse per Code konkret aussieht?“

Das will ich im Folgenden tun.

Von der Sache her geht es heute lediglich um ein etwas anspruchsvolleres Balkendiagramm. Die nötigen Daten beschaffen wir uns von der Weltbank. Für ein gegebenes Jahr wollen wir die 10 Länder mit den jeweils meisten Patentanmeldungen identifizieren, diese Länder in absteigender Ordnung auf der einen Achse auftragen und auf der anderen, wie viele Patente das jeweils waren. Das kannst Du natürlich auch in Excel tun.

Danach wollen wir für jedes Jahr die erhaltenen Graphiken abspeichern und daraus eine Animation erstellen. Im Internet findest Du Webseiten, mit der Du mehrere png-Dateien zu einem „animierten Gif“ zusammenfügen kannst. Dafür muss man meiner Ansicht nach schon recht pfiffig sein. Vielleicht kannst Du auch mit Visual Basic in Excel eine Routine schreiben, die für alle 42 Jahre, für derzeit Daten vorliegen, die 10 Länder mit den meisten Anmeldungen je Jahr heraussucht, sortiert, ein Balkendiagramm dafür erstellt und dann abspeichert. Sonst musst Du das für jedes Jahr von Hand tun. Das ist möglich – aber fehleranfällig. Mit Visual Basic bist Du nun aber schon im Bereich „Coden“ unterwegs. Und warum dann nicht gleich richtig?

Denn wir noch folgende „Sonderwünsche“ an unsere Animation:

  • Die Skala für die Anzahl der Patente soll über die Jahre hinweg stabil bleiben, sodass das Auge leicht erkennt, wie sich die absolute Anzahl ändert („es werden jährlich mehr und mehr Patente veröffentlicht“)
  • Die Balken der zehn Länder des letzten vorliegenden Jahres („Situation heute“) sollen farbcodiert sein und über alle Jahre hinweg sollen diese Länder in denselben Farben dargestellt werden.
  • Wir möchten die Analyse gerne schnell anpassen können, wenn uns anstatt der absoluten Anzahl die Anzahl der Patente je Einwohner eines Landes oder aber der Anteil eines Landes in Prozent an den in einem Jahr weltweit veröffentlichten Patenten interessiert.

„Und dafür soll ich coden?“

Wenn Du ein Excel-Profi oder eine Power-BI-Überfliegerin bist, dann kriegst Du die heutige Aufgabe vermutlich in den Griff. Und ich sage mal: wenn Du das kannst, dann kannst Du auch das Coden erlernen, in R oder Python. Ich sehe das so: Dank Coden bist Du viel flexibler, kannst auch neuronale Netze aufbauen und diese mittels H20 online auf großen Rechnern laufen lassen. Das ist schon was… Und Du kannst Warenkorbanalysen durchführen – oder was auch immer.

Wenn Du in R / Python coden kannst, dann brauchst Du in Sachen Datenanalyse nichts anderes mehr.

Und der Code gehört Dir. Du kannst schneller Lernen. Du kannst Dein Lernen besser teilen und das Gelernte festhalten. Du brauchst auch keine online-Tools mehr, auf denen Du Dir Werbung anschauen und Cookies zustimmen musst, nur um eine Gif-Animation aus Deinen png-Files zu basteln…

Du kannst Du Dich auf alle Fälle beim Coden von künstlicher Intelligenz coachen lassen.

„Coden ist doch Aufgabe der IT. Meine Leute sollen das gar nicht können!“

Diese Aussage höre ich so oft, dass ich hier Stellung beziehen möchte. Seeleute sollen ja auch nicht schwimmen können. Die, die ich kenne, können es aber trotzdem.

Hinter dieser Aussage zur IT stehen in der Regel zwei Annahmen:

  1. Die Sichtweise der Linienfunktion: „Coden = IT“.
  2. Die Befürchtung der IT selbst: „Wenn irgendwo irgendein Spaghetti-Code liegt und der dann irgendwann aus irgendwelchen Gründen für irgendwen wichtig wird, dann müssen wir diesen Code am Ende auch noch warten.“

Nun, wenn das das Problem ist, dann gilt:

„Sobald Du in der Lage bist, das Problem zu formulieren, dann bist Du auch in der Lage, das Problem zu lösen“.

Diesen Satz habe ich in einem Buch von Genrich Altschuller gefunden, dem Erfinder von TRIZ. Ich möchte deshalb das Problem als TRIZ-Widerspruch umformulieren:

  1. Ich möchte nicht, dass irgendwer außerhalb der IT auch nur eine Zeile Code schreibt, nicht einmal in Visual Basic. Deshalb haben wir diese Möglichkeit auch unterbunden. Wir tun das, damit kein Wirrwarr von nicht validiertem Code entsteht.
  2. Ich möchte aber gleichzeitig auch, dass die Leute doch eigenen Analyse-Code schreiben. Denn ich kann ja nicht für jedes kleine Problem eine Spezialapplikation kaufen oder bei der IT einen Auftrag erstellen. In der Regel weiß ich ja zu Beginn gar nicht, ob die Analyse nur einmal gefahren wird oder ob sie sich als Standard etablieren wird. Komplizierte Excel-Dateien mit Formel-Wirrwarr und Links zu anderen Excelblättern sind ohnehin ein großes Problem.

Wenn das Dein Problem wäre, dann wäre es mit TRIZ-Ansätzen leicht zu lösen. Genug gepredigt. Nun endlich zum heutigen Thema.

Heute kannst Du mir über die Schulter schauen

Das Video, das ich unten verlinke, ist zum „Mitmachen“ gedacht. Aber auch, wenn Du einfach nur einen Eindruck gewinnen möchtest, was beim Coden auf Dich und Deine Leute zukommt, dann kannst Du es Dir anschauen. Zumindest den Anfang. Danach kannst Du selbst entscheiden, ob Du weitermachen möchtest. Der Vorteil von aufgezeichneten Videos ist ja ohnehin: Du kannst jederzeit vor- oder zurückspulen, anhalten oder auch abbrechen.

Viel Vergnügen!

Ich zeige Dir den folgenden Link an, damit Du klar erkennst, dass Du mit diesem Link meinen Blog verlässt, um die Plattform Youtube zu nutzen. Youtube hat eigene Datenschutzrichtlinien, die Du teilweise auf Deine eigenen Bedürfnisse einstellen kannst. Es kann auch sein, dass Youtube Dir vor oder während der Nutzung meines Videos Werbung zeigt. Wenn Du Deine Rechte auf Youtube nicht kennst oder nicht mit den Dir eingeräumten Rechten einverstanden bist, dann solltest Du den folgenden Link nicht verwenden.

Link zu dem Video auf Youtube: https://youtu.be/MrCWJ8AI_50.

Screenshot aus dem Youtube Video.

Erstaunlich: der Kuchen wird heute unter mehr – und nicht weniger – Marktteilnehmern aufgeteilt als früher

Im letzten Eintrag habe ich mir die Fortune 500 Listen der Jahre 1955 bis 2019 vorgenommen: 65 Listen mit den jeweils 500 größten amerikanischen Unternehmen und Ihren Umsätzen, Gewinnen und Gewinnmargen. Ein wahrer Datenschatz. Wir hatten festgestellt:

Es ist immer schwerer, sich an der Spitze zu halten.
Seit den 1970er Jahren ist die Wahrscheinlichkeit,
von der Liste genommen zu werden,
um 50% gestiegen.

Warum dieser Eintrag für Dich interessant sein könnte

Wenn Du Dich für „Marktgerechtigkeit“ interessierst (oder auch von dem Gegenteil überzeugt bist), dann solltest Du diesen Beitrag lesen. Oder Du möchtest einfach nur etwas Neues lernen und findest (so wie ich) spannend, welche Schlüsse öffentlich verfügbare Daten zulassen? – Dann los!

Vielleicht sitzt Du auch im Einkauf oder Vertrieb und suchst nach einer praktischen Kennzahl, um die „Komplexität“ Deiner Arbeit zu beschreiben? Dann habe ich heute den „Ohler Index“ im Gepäck. Du wirst sehen…

„Winner takes all“ – Wirklich?

Ich stoße manchmal auf die Sicht, dass sich die Welt immer mehr zu einem Ort entwickelt, an dem „der Gewinner alles bekommt“: Siehe den rasanten Aufstieg der FAANG-Unternehmen (Facebook, Amazon, Apple, Netflix, Google), die Dominanz von Silicon Valley oder Hollywood.

Argumente dafür, warum das so sein könnte, gibt es viele: Wer aus Globalisierung und Technologie Kapital schlagen, Netzwerkeffekte und Skalenvorteile nutzen, Plattformen schaffen, Daten und Algorithmen monopolisieren, das regulatorische Umfeld beeinflussen oder sich privilegierten Zugang zu Kapital sichern kann, wird als Sieger aus dem großen Verteilungskampf hervorgehen.

Wir würden hoffen, dass es anders wäre.
Aber so ist die Welt nun einmal.
Oder?

Es ist eine Sicht, der vielleicht auch Du auf die eine oder andere Weise zustimmst. Wenn das allerdings richtig wäre, dann würden die kleine Du, der kleine Ich und auch das Unternehmen am Ende der Straße kaum einen Unterschied machen können. Wir sollten uns nicht selbstständig machen, keine GmbHs gründen und uns lieber den großen Jungs und Mädels anschließen, die die vielen kleinen Unternehmen ohnehin „schlucken“ oder „plattmachen“ werden…

Ist es nicht so?

Dieser Frage wollen wir heute nachgehen.
Dazu werde ich die Daten aus den Fortune 500 Listen verwenden.
Und natürlich, wie sonst auch:

Wir verwenden R für unsere OSAN-Analysen

Wir betreiben „Open Source Analytics“ (OSAN) und verwenden dafür frei verfügbare Datenquellen und die Skript-, Berichts- und Webapplikationssprache R, die speziell für die Handhabung von Daten, Texten und Bildern entwickelt wurde. Du kannst Sie kostenfrei installieren. Sprachen wie R oder Python bieten Dir viele Vorteile, zum Beispiel diese:

  1. Du hast auf einen Schlag Zugang zu den neuesten und besten Analysewerkzeugen inklusive Dokumentation.
  2. Du kannst Dich bequem von „generativer“ künstlicher Intelligenz wie ChatGPT bei der Erstellung Deines Skripts coachen lassen.
  3. Du kannst Deine Analysen ohne viel Aufwand ständig aktuell halten: Einmal „Run“ gedrückt und schon lädt Dein Skript wieder die neuesten Daten herunter und wertet sie für Dich aus.
  4. Als Team ist Eure Lernkurve steiler: Anders als bei „Klicksoftware“ kannst Du Dein Vorgehen inklusive aller „Tricks und Kniffe“ in Deinem Skript festhalten. So könnt Ihr beste Praktiken leicht untereinander teilen.
  5. Eventuelle Fehler in Deiner Analyse können von Dir oder anderen aufgespürt und korrigiert werden: Denn anhand des Skriptes können alle Dein Vorgehen genau nachvollziehen.

Wie können wir Umsätze aus dem Jahr 1955 mit Umsätzen heute vergleichen?

Eine Idee besteht darin, Jahr für Jahr die Umsätze von Fortune-500 Unternehmen mit der allgemeinen wirtschaftlichen Entwicklung zu vergleichen. Allerdings haben wir jeweils „nominelle“ Werte vor uns: Wegen der Inflation war ein Dollar im Jahr 1960 mehr wert als heute. Die Khan-Akademie hat einen Erklär-Artikel veröffentlicht, der diese Dinge verständlich darstellt – und auch, wie Du das rechnen kannst. Dank eines Hinweises von ChatGPT finde ich auch, wie ich die entsprechenden Daten herunterladen kann: Ein Einzeiler (im Folgenden: „CPI-Daten herunterladen“). Auf der Webseite des „Bureau for Labor Statistics“ findet sich zudem der „CPI Inflation Calculator„, mit dem Du diese Rechnung auch manuell durchführen kannst.

# CPI-Daten herunterladen:
getSymbols("CPIAUCSL", src = "FRED")

 
# Mittelwerte je Jahr berechnen:
CPI <- fortify.zoo(CPIAUCSL, index.names = "Date") %>% 
  mutate(Year = year(Index)) %>% 
  group_by(Year) %>% 
  summarise(CPI_mean = mean(CPIAUCSL)) %>%
  mutate(CPI_LAG = lag(CPI_mean),
         Inflation = (CPI_mean - CPI_LAG)/CPI_LAG) %>% 
  slice(-1)

Im folgenden Code wird zunächst ein xts-Objekt erstellt (speziell für die Handhabung von Zeitreihen-Daten). Ich überführe dieses Objekt mittels fortify.zoo in den Dataframe CPI („Consumer Price Index“) und berechne durch den Vergleich von Jahres- und Vorjahreswerten (mit der lag-Funktion) auch die Inflation, die ich als Regelkarte darstelle:

c_chart <- qcc(data = CPI$Inflation,
               labels = CPI$Year,
               type = "xbar.one")

Wir erkennen: in den letzten Jahrzehnten bis hin zum Jahr 2016 hatten die USA eine lange Phase signifikant niedriger Inflationsraten.

Mit diesen Daten passen wir nun die Dollarwerte an die Kaufkraft des Dollars im Jahr 2019 an. Die so angepassten Umsätze (Revenue.adj) des jeweiligen „Jahressiegers“ (Rank == 1 im folgenden Code) lassen wir uns darstellen:

t <- t %>%
  left_join(CPI)

CPI_2019 <- CPI %>% filter(Year == 2019) %>% pull(CPI_mean)

t <- t %>%
  mutate(Revenue.adj = Revenue/CPI_mean*CPI_2019,            
         Total.Revenue.adj = Total.Revenue/CPI_mean*CPI_2019,
         GDP.adj = GDP/CPI_mean*CPI_2019)

ggplot(data = t %>% filter(Rank == 1)) +
  geom_line(aes(x = Year, y = Revenue.adj), colour = "red") +
  geom_line(aes(x = Year, y = Revenue), colour = "blue")

Es ist beeindruckend: auch die inflationsbereinigten Daten bescheinigen ein starkes Wachstum des führenden US-Unternehmens. Mit Blick auf die Eingangsfrage stellen wir fest:

Wer auch immer es ist:
Der Gewinner entwickelt sich prächtig.

Wie sieht diese Entwicklung im Vergleich zur Gesamtwirtschaft aus?

Wie ist jedoch über den gleichen Zeitraum die US-amerikanische Wirtschaft gewachsen? Denn an der Messlatte müssen wir ja auch den „Gewinner“ messen. Dafür beschaffen wir uns Daten von der Weltbank für das Bruttosozialprodukt (gezeigt im folgenden Code) und binden diese mittels left_join (nicht gezeigt) ein:

library(WDI)   # Weltbank Daten

gdp <- WDI(indicator = "NY.GDP.MKTP.CD", 
           extra = TRUE) %>% 
  filter(iso3c == "USA") %>% 
  select(year, NY.GDP.MKTP.CD) %>%
  rename("Year" = "year",
         "GDP" = "NY.GDP.MKTP.CD")

Als Regelkarte dargestellt erkennen wir: „kein Drama“.

Dafür berechne ich das Verhältnis des Umsatzes des jeweils größten Unternehmens zum Bruttosozialprodukt und kalibriere die Regelkarte mit der Entwicklung bis 1979. In den 25 folgenden Jahren war dieses Verhältnis außergewöhnlich niedrig und liegt auch in den Jahren 2018/19 wieder im Bereich des Üblichen:

Die Entwicklung des Gewinners
folgt der des Gesamtmarktes.

Der „Ohler-Index“ – eine praktische Größe mit vielen Anwendungen

Bisher haben wir lediglich die Entwicklung des jeweils größten Unternehmens betrachtet. Jetzt möchten wir untersuchen, in wie vielen Händen sich die Umsätze aller Fortune-500 Unternehmen „konzentrieren“. Ich verwende dafür den Herfindahl-Index – allerdings mit einer Abwandlung, die dieser recht abstrakte Größe eine einfache Bedeutung verleiht.

Nehmen wir an, wir hätten drei Unternehmen, die jeweils 1/3 des Marktes (gemessen an ihren Umsätzen) für sich beanspruchen. Natürlich würden wir in diesem Fall von drei Marktteilnehmern sprechen. Wie wäre es aber, wenn zwei Unternehmen je 49% erwirtschafteten und das dritte die verbleibenden 2%? Würden wir in dem Fall auch sagen, dass sich drei Unternehmen „den Markt aufteilen“?

Den Herfindahl-Hirschman Index (HHI) berücksichtigt solche Situationen wie folgt: Im ersten Fall ergibt sich HHI = (1/3)2 + (1/3)2 + (1/3)2 = 1/3 und im zweiten HHI = (0,49)2 + (0,49)2 + (0,02)2 = 1/2,08. Ich schreibe das in dieser Form, weil der Kehrwert des Herfindahl Indexes die „effektive Anzahl“ der Marktteilnehmer wiedergibt – 3 im ersten und 2,08 im zweiten Fall.

Diese Darstellung hat praktische Anwendungen, die ich in meiner Beratungstätigkeit immer wieder einsetze:

Steigt die Anzahl Eurer Lieferanten oder Kunden?
Sehr einfach: nimm die monatlichen Geldflüsse
hin zu jedem Lieferanten und von jedem Kunden.
Berechne nun die jeweiligen Anteile
und so den Kehrwert des Herfindahl Index.

Es ist erstaunlich, dass bisher sonst niemand auf diese Idee gekommen zu sein scheint. Wenn Du möchtest, dann kannst Du diesen neuen Index – zum Spaß – gerne „Ohler-Index“ nennen. 🙂

In R sieht die Rechnung wie folgt aus (die Spalte Rev.Percent habe ich schon vorher erzeugt):

# Daten aufbereiten:
herfin <- t %>% 
  group_by(Year) %>% 
  summarise(Herfindahl = sum(Rev.Percent^2)) %>% 
  mutate(Num.Companies = 1/Herfindahl)

# Graphik erstellen:
ggplot(data = herfin, 
       aes(x = Year, 
           y = Num.Companies)) +
  geom_line()

Diese Graphik ist nun reichlich erstaunlich: Im Jahr 1994 sind die Umsätze der 500 größten US-Unternehmen in den Händen von 76 „effektiven“ Marktteilnehmern konzentriert. Im Jahr 1995 schnellt diese Zahl auf 146 Unternehmen hoch und hat sich seither bei etwa 135 Unternehmen eingependelt.

Seit dem Jahr 1995 wird der „Kuchen“ unter etwa
doppelt so vielen Marktteilnehmern aufgeteilt wie vorher.
Die „Kleinen“ (unter den 500 Größten)
scheinen ihre Chancen genutzt zu haben.

Gemeinsam mit Thomas und vielleicht auch Christian bin ich derzeit dabei herauszufinden, was sich in der US-amerikanischen Wirtschaft – oder auch nur in der Bewertung der 500 größten Unternehmen – für diesen massiven Effekt geändert haben könnte. Wenn Du den vorherigen Blog gelesen hast: in diesem Zeitraum wurden ganze 291 Unternehmen auf der Fortune 500 Liste ausgetauscht.

Melde Dich gerne, wenn Du dabei mitmachen möchtest!

An der Spitze zu bleiben wird immer schwerer – auch in der Wirtschaft

„Der Wettbewerb wird immer härter“. So heißt es.
So fühlt es sich angesichts Energie-, Lieferketten- und anderer Krisen vielerorts auch an. Wie aber lässt sich dieser Eindruck in Zahlen fassen?

Die „Fortune 500“ Liste

Seit dem Jahr 1955 gibt es die „Fortune 500“ Liste der jeweils 500 größten US-amerikanischen Unternehmen. Jahr für Jahr werden deren Umsatz, Profit und Marge zusammengetragen und in dieser Liste veröffentlicht. Im Laufe der Zeit ist so eine beachtliche Datengrundlage entstanden.

Du kannst die Daten zu dem einen oder anderen Jahr im Internet finden. Manche Anbieter verkaufen sie auch. Dankenswerterweise hat der Nutzer cmusam die Datensätze der Jahre 1955 bis 2019 zusammengetragen und stellt sie auf Github zur Verfügung.

Mit einer kleinen Schleife habe ich diese Jahresscheiben heruntergeladen und in einer einzigen Datei von immerhin 32500 Zeilen (65 Jahre, 500 Zeilen pro Jahr) zusammengefasst. Das Ergebnis sieht wie folgt aus:

Ausschnitt aus den Daten. Wir sehen den Jahresübergang zwischen 2018 und 2019.

Wir verwenden R für unsere OSAN-Analysen

Wir betreiben „Open Source Analytics“ (OSAN) und verwenden dafür frei verfügbare Datenquellen und die Skript-, Berichts- und Webapplikationssprache R, die speziell für die Handhabung von Daten, Texten und Bildern entwickelt wurde. Du kannst Sie kostenfrei installieren. Sprachen wie R oder Python bieten Dir viele Vorteile, zum Beispiel diese:

  1. Du hast auf einen Schlag Zugang zu den neuesten und besten Analysewerkzeugen inklusive Dokumentation.
  2. Du kannst Dich bequem von „generativer“ künstlicher Intelligenz wie ChatGPT bei der Erstellung Deines Skripts coachen lassen.
  3. Du kannst Deine Analysen ohne viel Aufwand ständig aktuell halten: Einmal „Run“ gedrückt und schon lädt Dein Skript wieder die neuesten Daten herunter und wertet sie für Dich aus.
  4. Als Team ist Eure Lernkurve steiler: Anders als bei „Klicksoftware“ kannst Du Dein Vorgehen inklusive aller „Tricks und Kniffe“ in Deinem Skript festhalten. So könnt Ihr beste Praktiken leicht untereinander teilen.
  5. Eventuelle Fehler in Deiner Analyse können von Dir oder anderen aufgespürt und korrigiert werden: Denn anhand des Skriptes können alle Dein Vorgehen genau nachvollziehen.

Wie viele Unternehmen fallen Jahr für Jahr aus der Fortune 500 Liste heraus?

Wenn es tatsächlich immer schwerer wäre, an der Spitze zu bleiben, dann müssten wir das anhand der Fortune 500 Liste erkennen. Wir stellen deshalb zunächst die Frage: wie viele Unternehmen fallen Jahr für Jahr aus der Liste heraus? Ein Anstieg dieses „Ausfallrate“ wäre ein Maß für die Schwierigkeit, sich unter den größten 500 Unternehmen zu halten.

Wir wollen diese Frage zunächst für ein einziges Jahr beantworten. Dafür gehen wir wie folgt vor:

  • Erstelle eine Liste der Unternehmen für das Jahr selbst („yearlist“)
  • Erstelle eine weitere Liste für das Vorgängerjahr („previous.yearlist“).
  • Ermittele aus diesen beiden Listen die „dropouts“.

Mit „Dropouts“ meinen wir diejenigen Unternehmen, die zwar in der „previous.yearlist“, nicht aber in der „yearlist“ selbst aufgeführt werden. In R-Code übersetzt sieht diese Überlegung wie folgt aus:

y <- 2000   # "Dropouts" für das Jahr 2000

yearlist <- t %>%
   filter(Year == y) %>%
   select(Company) %>%
   pull()

previous.yearlist <- t %>%
   filter(Year == y-1) %>%
   select(Company) %>%
   pull()

dropouts <- previous.yearlist[(previous.yearlist %notin% yearlist)]

Hier habe ich die Funktion %notin% als Negation der in dplyr verfügbaren Funktion %in% erstellt. So sehen wir, dass im Jahr 2000 immerhin 50, also 10% aller im Jahr 1999 aufgeführten Unternehmen von der Liste genommen wurden.

Diese „dropout“-Liste möchten wir nun Jahr für Jahr erstellen und ihre jeweilige Länge bestimmen: die Anzahl der in einem gegebenen Jahr „ausgeschiedenen“ Unternehmen. Es mag dafür elegantere Wege geben, der Einfachheit halber verwende ich jedoch die vorherigen Codezeilen und baue sie in eine Schleife ein, mit der ich alle Jahre durchlaufe.

Für das Jahr 1995 finde ich so einen „Ausreißer“: in diesem Jahr werden sage und schreibe 291 Unternehmen auf der Liste ausgetauscht: Ergebnis einer neuen Bewertungsmethode? Eine Krise? Das wäre zu klären. Ich nehme diesen Datenpunkt aus den Daten heraus und erhalte mittels ggplot folgende Darstellung:

Anzahl der Unternehmen, die Jahr für Jahr von der Fortune 500 Liste genommen werden.

Man könnte hier den Eindruck gewinnen, die Situation wäre bis etwa zum Jahr 1980 mehr oder weniger stabil – und als wäre seither die Anzahl der „Dropouts“ angestiegen. Um das zu überprüfen, verwende ich eine Regelkarte.

Regelkarten erlauben, das Signal im Rauschen zu finden

Wenn Du in der Produktion oder im Qualitätsmanagement arbeitest, dann kennst Du dieses Werkzeug. Regelkarten wurden vor ziemlich genau 100 Jahren von Walter A. Shewhart entwickelt. Sie erlauben, statistisch signifikante Prozessschwankungen schnell und sicher zu identifizieren: Wenn Du zum Beispiel mit 10 Würfeln würfelst, dann hast Du mal mehr und mal weniger Sechser. Es handelt sich hier um kein „Signal“ sondern um reines „Rauschen“. Wenn Du dann jedoch bei Deinen Würfeln hinter den Einsern kleine Gewichte einarbeiten würdest, dann würde in der Folge die Wahrscheinlichkeit, eine Sechs zu würfeln, ansteigen. In dem „Rauschen“ dieser neuen „Phase“ wäre dann im Vergleich zu den Vorgängerdaten ein „Signal“ versteckt. Solche Signale kannst Du mit Regelkarten aufdecken.

Je nach Art der vorliegenden Daten gibt es jeweils angepasste Regelkarten. Da wir hier eine konstante Stichprobe von 500 Unternehmen („sizes“) vorliegen haben und wir das Herausfallen eines Unternehmens als „Defekt“ zählen, verwende ich die np-Regelkarte, zunächst einmal für alle Daten.

In R ist das dank des qcc-Pakets ein Einzeiler. „Dropouts“ und „Sizes“ sind jeweils Vektoren. Einige „Verschönerungen“, die die Graphik lesbarer machen, habe ich der Einfachheit halber hier weggelassen:

qcc(data = Dropouts, sizes = Sizes, type = "np")

np-Regelkarte für die jährlich von der Fortune 500 Liste heruntergenommenen Unternehmen.

In dieser Darstellung erkennen wir, dass die Werte der meisten Jahre vor 1980 unterhalb der Mittellinie (CL = Center Line, bei 34,3) liegen. Weil das „erstaunlich viele“ sind, markiert die np-Karte diese gelb. In den späteren Jahren finden wir auch drei Ereignisse, die überhaupt nicht zu der allgemein beobachteten Variation passen und deutlich oberhalb der „oberen Eingreifgrenze“ (UCL, „upper control limit“) von 51,2 ausgetauschten Unternehmen pro Jahr liegen. Diese Ereignisse werden rot markiert.

Mit Beginn der 1980er Jahre scheint die Welt anders auszusehen als vorher. Was hat sich da geändert? Unsere Daten geben keine Antwort – sie werfen aber diese Frage auf: Unternehmen in die Zukunft zu führen scheint seither schwerer geworden zu sein. Warum ist das so?

Um diese Änderung graphisch deutlicher herauszuarbeiten erlaube ich mir, mit dem Jahr 1980 eine neue „Phase“ beginnen zu lassen. Ich eiche die Regelkarte mit den vorherigen Jahren und bewerte mit der so erhaltenen Kalibrierung diese neue Phase:

np-Regelkarte für die jährlich von der Fortune 500 Liste heruntergenommenen Unternehmen. Wir „eichen“ die Regelkarte mit den Jahren bis 1979 und betrachten damit die Jahre seit 1980.

In den Jahren 1955-1979 werden Jahr für Jahr im Durchschnitt 26,2 Unternehmen von der Fortune 500 Liste genommen. Für die Jahre 1980-2019 steigt diese Zahl auf durchschnittlich 39,7 Unternehmen an. Das entspricht einer Steigerung um etwa 50%.

Ziemlich harter Tobak. Oder?

Es ist also tatsächlich schwerer geworden, in der Gruppe der 500 größten Unternehmen zu verbleiben: Seit 1980 um ca. 50% schwerer.

Auf ihrer „Reise nach Jerusalem“, wenn man so will, hat es bis Anfang der 1980er Jahre jedes Jahr etwa 26 Unternehmen auf der Fortune 500 Liste „erwischt“ und sie waren im Folgejahr nicht mehr dabei. Seither ist diese Zahl auf etwa 40 Unternehmen pro Jahr angestiegen.

Als nächstes wollen wir eine „Lebensdauerbetrachtung“ durchführen. Wenn Du Dich mit Produktzuverlässigkeit auskennst, dann weißt Du, wie das geht. Für den vorliegenden Fall brauchst Du dazu nicht einmal besonders ausgefuchste Werkzeuge. Aber das ist eine andere Geschichte. Und die soll beim nächsten Mal erzählt werden.

Die App, die ich mir vor 25 Jahren gewünscht hätte

Tatah: die App ist da!

Mit den im letzten Beitrag geteilten Ansätzen hast Du die Möglichkeit, das sogenannte „Rendite-Dreieck“ selbst zu erstellen. So kannst Du bequem miteinander vergleichen, welche Rendite langfristige Geldanlagen in der Vergangenheit erbracht haben.

WAHNSINN, oder?

Und ehrlich:

Ich hätte manche Entscheidung anders getroffen,
wenn ich das vor 25 Jahren gekonnt hätte.

Ich habe einigen Freunden und Bekannten von dieser Möglichkeit erzählt.
Und bin auf freundliches Interesse gestoßen.
Das war’s.

Kein „WAHNSINN!!!“.
Nur Thomas wollte den Code.

Falls es Dir ähnlich geht, dann habe ich heute etwas für Dich.
So hoffe ich.

In meinem letzten Beitrag hatte ich nämlich geschrieben:

Eine App muss her. Kurssymbol rein.
Klick auf „als Sparplan“ oder „als Investition“.
Rendite-Dreieck raus. Fertig.

Also, tatah, hier ist sie, die App:

Der „Financialyser“

https://ohlermichael.shinyapps.io/Financialyser/

Screenshot aus der App: Das Renditedreieck für einen monatlichen Sparplan in Gold.

Technischer Hintergrund zu der App

In diesem Blog betreiben wir „Open Source Analytics“ (OSAN) und verwenden dafür frei verfügbare Datenquellen und die Skript-, Berichts- und Webapplikationssprache R, die speziell für die Handhabung von Daten, Texten und Bildern entwickelt wurde. Hier nutze ich die Möglichkeit, eine Webapplikation zu erstellen. Du kannst R kostenfrei installieren.

Warum mir diese App so sehr am Herzen liegt

Mit dieser App kannst Du sehr schnell verschiedene Anlageformen vergleichen:
Wie sieht der DAX im Vergleich zum MSCI World aus? Schnell getan.
Und Gold? Einfach „GC=F“ als Symbol eingeben.

Die Liste aller Symbole findest Du mit einer Internetsuche.
Einige gängige Indizes habe ich gleich beigefügt.

Eine Geschichte vorab

Als ich im September 1990 mein Studium in Frankreich begonnen habe, da kam einer unserer Kommilitonen gerade aus Japan zurück. Er hatte Japanisch gelernt und war ein gefeierter Held. Denn die ganze Welt schaute damals auf Japan:

„Wie machen die das?“

Die japanische Wirtschaft hatte einen jahrelangen Höhenflug hinter sich.
Ein Ende war trotz eines aktuellen Einbruchs nicht in Sicht.

Seinen Höchststand vom 29. Dezember 1989 hat der japanische Nikkei 225 Index seither nicht mehr erreicht. Wenn Du damals eingestiegen wärst, dann würdest Du auch mehr als 30 Jahre später noch auf Verlusten sitzen.

Einzelne Aktien können kippen.
Ganze Märkte können stagnieren.
Und das über Jahrzehnte hinweg.

Schau Dir deshalb mit der App auch das Renditedreieck des Nikkei an (Symbol: ^N225).

Wo wir herkommen und was die App kann

In meinem letzten Beitrag habe ich die Codezeilen geteilt, die brauchst, um Daten von Einzelaktien, Indizes oder Gold herunterzuladen und als Renditedreieck darzustellen.

Die jetzt verfügbare App kann deutlich mehr. Für einen Index Deiner Wahl (z.B. ^GDAXI), für Gold (GC=F) oder für Einzelaktien (z.B. SIE.DE) kannst Du:

  • Den Verlauf darstellen
  • Zu einem Ein- und Ausstiegstermin die Rendite berechnen
  • Und das für eine Einmal-Investition und für einen monatlichen Sparplan
  • Für diese beiden Szenarien das Renditedreieck berechnen
  • Das „Erinnerungsvermögen“ (Autokorrelation) des Kurses bestimmen
  • Damit ein Szenario für mögliche zukünftige Entwicklungen simulieren
  • Die erwartete Renditeverteilung vieler Szenarien  berechnen
  • Simulationen für die Entnahmephase Deiner Anlage erstellen.

Renditeverteilung monatlicher Sparpläne:
Du planst, über die nächsten 20 Jahre hinweg jeden Monat 100 Euro in einen Wert (DAX, Euro Stoxx, MSCI World, Gold, …) zu investieren. Wie könnte am Ende das Ergebnis aussehen?

Regelmäßige Entnahmen:
Du hast insgesamt 250.000 Euro in einem Wert (Dax, …) angespart. Wie lange kannst Du jeden Monat 1500 Euro entnehmen, bis das Geld aufgebraucht ist?

Ich bin kein Anlageberater.
Und die App erlaubt Dir einen „Blick hinter den Vorhang“.

Professionelle Anlageberater können Dir bei der Entscheidung für einen privaten Rentensparplan helfen. Die App und der von mir geteilte Code für seine Erstellung helfen Dir, einen Blick hinter den Vorhang zu werfen. Denn Du wirst von Deinem Bankberater oder Deiner Beraterin hören, dass sie „Hunderte von Monte Carlo Simulationen“ durchgeführt haben und so gewisse Aussagen zu Renditeerwartungen treffen.

Meiner Ansicht nach muss bei so wichtigen Entscheidungen das Verständnis um diese Dinge „demokratisiert“ werden. Was Deine Bank Dir erzählt darf für Dich nicht nach „schwarzer Magie“ klingen. Du solltest nicht unterschreiben, ohne zumindest zu verstehen, woher diese Aussagen kommen.

In diesem Sinne erlaubt Dir die App, „hinter den Vorhang“ zu schauen. Wenn Du dadurch auch nur eine Dir wichtige Frage stellen kannst, dann hat sich die App gelohnt.

Auf keinen Fall jedoch solltest Du die App verwenden, um finanzielle Entscheidungen zu treffen. Überlege nur folgendes: Die App ist Software. Software besteht aus Code. Und Code hat – immer – Fehler. Vielleicht fehlt irgendwo ein Faktor. Oder eine Formel stimmt nicht. Oder es stellt sich im Jahr 2027 ein Szenario ein, das aus der Vergangenheit überhaupt nicht vorhersagbar war.

Wirf deshalb einen Blick hinter den Vorhang.
Und sprich mit den richtigen Leuten.

Ein Appell zum Mitmachen

Das ist die App, die ich vor 25 Jahren gebraucht hätte.
Mit dieser App hätte ich manches anders gemacht.
Vor allem hätte ich mehr selbst in die Hand genommen.

„Finanzielle Mündigkeit“ muss „demokratisiert“ werden.
Die Möglichkeit, sich eine schnelle Übersicht zu verschaffen und
Szenarien „durchzuspielen“ liefern einen wesentlichen Beitrag dazu.

Es freut mich deshalb, wenn Du die App nutzt.
Wenn Du mitmachen möchtest, um sie zu verbessern,
dann freut mich das besonders.

Im Grunde sucht diese App aber ein „neues Zuhause“.
Denn sie ist wichtig. Und wertvoll.
Und muss im richtigen Rahmen genutzt werden.
Ich freue mich über Vorschläge.

Geld in Aktien stecken – oder doch besser unter die Matratze?

Warum Du diesen Beitrag lesen solltest

Aktien- und Rententipps gibt es landauf, landab. Neben einem Hauskauf ist das jahrzehntelange Besparen eines Rentenplans eine der größten finanziellen Entscheidungen, die viele Menschen treffen. Allerdings musst Du den Expertinnen und Experten vieles glauben – und findest ein bis zwei Jahrzehnte später heraus, wie es gelaufen ist. Dieser Blog hilft Dir, rechtzeitig eigene quantitative Überlegungen anzustellen. Und zwar für:

  • Aktienfonds
  • Einzelaktien
  • Gold
  • Immobilien.

Wenn Du als Angestellte oder Angestellter mit Deinem aktuellen Rentenbescheid zufrieden bist, dann: herzlichen Glückwunsch! Denn in dem Fall kannst Du „rein aus Neugierde“ weiterlesen.

Haftungsausschluss

Ich möchte hier explizit auf mein Impressum hinweisen: auch dieser Beitrag dient in erster Linie der „Vision“des Blogs. Ich möchte darstellen, welche Einsichten sich über die Analyse öffentlich verfügbarer Daten gewinnen lassen. Meine Schlussfolgerungen wurden nicht im Vier-Augen-Prinzip von Expertinnen oder Experten validiert und können deshalb keine Grundlage für konkrete Maßnahmen sein. Ich bin auch nicht als Finanzberater ausgebildet.

Die Klage über uns Deutsche ist wohlbekannt

Die Deutschen sparen zu wenig.
So heißt es.

„Wie bitte??“
Magst Du einwenden.
Mit zwei großen Fragezeichen.

Denn immerhin gehören die „schwäbische Hausfrau“ und der schwäbische Hausmann auch dazu. Und zumindest DEREN Sparsamkeit ist ja sprichwörtlich!

Gemeint mit der Klage ist: unser Geld läge unter irgendeiner Matratze. Im Sparstrumpf. Auf dem Girokonto. Eben dort, wo es nicht hinsoll. Geld müsse vielmehr „arbeiten“. Zum Beispiel in AKTIEN investiert werden. Denn das sei SOOO RENTABEL, sagen die einen. Aber auch SOO GEFÄHRLICH, erwidern die anderen: „Alles futsch – verstohsch?“ (Das ist Badisch, wo ich herkomme, nicht Schwäbisch).

Dieser Weg kann ein leichter sein

Sich darüber Gedanken zu machen ist wichtig: es geht um die Rente. Deine Rente. Wenn Du gerade ins Berufsleben eintrittst, dann solltest Du genau jetzt loslegen. Wie Du es anstellst mit Deinem Sparplan für die Rente kann am Ende ohne weiteres für doppelt- oder für halb-soviel Geld sorgen. Es lohnt sich also. Und Du wirst sehen:

Dieser Weg ist eben nicht „steinig und schwer“.

Er wird vielmehr ein überraschend leichter sein.
Um es vorwegzunehmen:

Investiere regelmäßig.
Ziehe die Sache durch.
Entnimm gleichmäßig.

Zum Schluss habe ich noch einige persönliche Tipps, falls Du auch mit Deiner Bank darüber sprechen möchtest. Und ich glaube, dass Du das tun solltest.

Drei Wege zur Glückseligkeit

Vereinfacht gesagt hast Du drei Möglichkeiten:

  1. Nichts tun. Das ist bequem. Es kommt vermutlich nur weniger dabei heraus.
  2. Vertraue dem Banker. Auch gut. Denn das ist besser als nichts zu tun.
  3. DIY. Do it yourself. Klingt kompliziert. Ist es aber nicht. Du wirst sehen.

Meine Überzeugung vorab:
Wenn Du selbst die Winterreifen aufziehst,
oder Terrassenplatten eigenhändig verlegst,
zumindest die Zwiebeln selbst schneidest,
dann solltest Du überlegen,
ob DIY nicht Dein Weg ist.
Zumindest für einen Teil.
Deines Geldes.

Coden ist kein Hexenwerk

Um in diesem Blog zu unseren Schlüssen zu kommen, betreiben wir „Open Source Analytics“ (OSAN) und verwenden dafür frei verfügbare Datenquellen und die Skript-, Berichts- und Webapplikationssprache R, die speziell für die Handhabung von Daten, Texten und Bildern entwickelt wurde. Du kannst Sie kostenfrei installieren. Sprachen wie R und auch Python bieten Dir viele Vorteile, zum Beispiel diese:

  1. Du hast auf einen Schlag Zugang zu den neuesten und besten Analysewerkzeugen inklusive Dokumentation. Du kannst Dich auch bequem von „generativer“ künstlicher Intelligenz wie ChatGPT bei der Erstellung Deines Skripts coachen lassen.
  2. Du kannst Deine Analysen ständig aktuell halten: Einmal „Run“ gedrückt und schon lädt Dein Skript wieder die neuesten Daten herunter und wertet sie für Dich aus.
  3. Als Team ist Eure Lernkurve steiler: Anders als bei „Klicksoftware“ kannst Du Dein Vorgehen, inklusive aller „Tricks und Kniffe“, in einem Skript festhalten. So könnt Ihr Euer Vorgehen leicht untereinander teilen. Versuche einmal, das was wir hier tun, in Excel nachzubauen, was möglich ist, und das Excel-Blatt dann anderen zu erklären…
  4. Im Vergleich zu Tabellenkalkulationsprogrammen liegt der Unterschied darin, dass Deine Algorithmen von den Daten getrennt und nicht per Formeln in die Zellen verwoben werden. So ist viel deutlicher ersichtlich und nachvollziehbar, was Du tust.
  5. Deshalb ist es auch viel einfacher, Fehler, die sich immer einschleichen, in Deiner – oder meiner – Analyse aufzuspüren und zu korrigieren.

Wie sonst auch kannst Du diesen Beitrag auch ohne die Code-Zeilen lesen. Die Zwischenüberschriften erlauben Dir zu springen, falls bestimmte Abschnitte Dich mehr als andere interessieren.

Das „Rendite-Dreieck“: eine wichtige Visualisierung

Wie andere Tageszeitungen auch, so hat sich der Finanzteil der FAZ offensichtlich der Mission verschrieben, das Wissen um Geldfragen zu „demokratisieren“.

So lerne ich in einem Beitrag vom 19. Mai 2023 („MSCI World besser als der DAX“) das „Renditedreieck“ (siehe unten) kennen: eine aufschlussreiche Visualisierung, die wichtige, praktische Schlüsse zulässt. In diesem FAZ-Artikel stoße ich auch auf den Satz, der den heutigen Beitrag motiviert:

„… Insofern ist es verdienstvoll, dass das Deutsche Aktieninstitut nach dem Dax, dem Euro Stoxx 50 und Einzelaktien für Mitarbeiter nun auch den MSCI World als Renditedreieck gerechnet hat, und zwar in der Variante als monatlicher Sparplan“.

Echt jetzt?

Ein ganzes Institut rechnet erst „den Dax“, vielleicht nach eine Erholungspause „den Euro Stoxx 50“ und dankenswerterweise „nun auch“ den MSCI World? Das klingt nach einer Menge Arbeit. Das DAI veröffentlicht auch tatsächlich regelmäßig Renditedreiecke. Übrigens graphisch und didaktisch sehr gut aufbereitet und zum Download verfügbar. Vielleicht wurde es dort auch erfunden? Dir ist aber vermutlich klar, was das alles im Rahmen dieses Blogs bedeutet:

Eine App muss her. Kurssymbol rein.
Klick auf „als Sparplan“ oder „als Investition“.
Rendite-Dreieck raus. Fertig.

Der Dax auf Achterbahnfahrt

Dank Yahoo Finance, des quantmod-Pakets und der getSymbols-Funktion sind zumindest die Daten schnell beschafft und für unsere Zwecke aufbereitet, hier für den Dax (^GDAXI):

# Index oder Aktie:
stock <- "^GDAXI" 

# Wir wollen so weit wie möglich zurückblicken:
Horizont.Jahre <- 50 
end <- Sys.Date() - 1 # gestern
start <- end - 365*Horizont.Jahre

# Daten von Yahoo Finance herunterladen und aufbereiten:
Stock <- getSymbols(stock, 
                    from = start, 
                    to = end, 
                    auto.assign = FALSE) %>% 
         as.data.frame() %>% 
         rownames_to_column() %>% 
         drop_na() %>% 
         select(1, 5) %>% 
         rename_with(~ c("Date", "Stock"), 1:2) %>% 
         mutate(Date = as.Date(Date))

# Graphische Darstellung
ggplot() +
    geom_point(data = Stock,
               aes(x = Date, y = Stock)) +
    theme_minimal() +
    ylab(stock)

Verlauf des Dax seit dem Jahr 1987. Mit dem vorigen Code direkt aus tagesaktuellen Daten erstellt.

Was für eine Achterbahnfahrt!

Wenn Du im Jahr 2000 bei einem Kurs von 8000 eingestiegen wärst, dann hättest Du fast acht Jahre warten müssen, um Dein Geld wiederzusehen. Gleich danach wärst Du wieder „abgesoffen“ und erst im Laufe des Jahres 2014 da gelandet, wo Du im Jahr 2000 eingestiegen bist.

Angesichts solch einer Achterbahnfahrt sind Sorgen bezüglich Aktien berechtigt!

Dann allerdings, ab 2014, hätte sich Deine Anlage in den folgenden knapp 10 Jahren mehr als verdoppelt – was einer jährlichen Verzinsung von etwas mehr als 7% entspricht.

Lohnt sich das?
Oder ist das „Zockerglück“?

Darum soll es heute gehen.

Unser Zweck: die langfristige Perspektive

Es geht hier nicht um Chart-Analysen, „Unterstützungslinien“ und selbstgebastelte Aktientipps. Wir interessieren uns vielmehr für eine Perspektive von Jahrzehnten, von Deinem Einstieg ins Berufsleben bis hin zur Rente. Es geht uns auch um die Frage, ob eine Anlage in den Dax, den MSCI World, einen anderen Index-Fonds oder vielleicht auch in Gold oder Einzelaktien für die Altersvorsorge taugt. Denn wenn dem so wäre, dann könntest Du inzwischen über Direktbanken sehr günstig solche Zertifikate erwerben und halten. Die fälligen Kosten und Steuern – sowie die leidige Inflation – lasse ich aus unserer Betrachtung heraus.

Dieser Beitrag darf, kann und will Dir Deine eigene Entscheidung jedoch nicht abnehmen. Aber mit dem Renditedreieck, das Du für jeden Index, jede Aktie und auch für Gold selbst erstellen kannst, hast Du eine wichtige Entscheidungsgrundlage. Du musst nur in dem hier geteilten Code die Variable „stock“ (siehe oben im Code) anpassen.

Das Szenario „kaufen – halten – verkaufen“

Zunächst einmal möchte ich folgendes einfache Szenario betrachten: Du kaufst einen ETF (Exchange Traded Fund) zum Beispiel auf den Dax und lässt ihn einfach liegen. Wir möchten wissen, wie sich Deine Investition im Laufe der Jahre entwickelt. Das möchten wir für verschiedene Einstiegszeitpunkte betrachten und graphisch darstellen.

Auch wenn die Daten auf Tagesbasis vorliegen, betrachten wir bei diesem Anlagehorizont Jahresscheiben und bereiten die Daten entsprechend auf. Wir wählen deshalb den Kursstand zu jedem Jahresstart aus den Daten aus. Indem Du die Variable „period“ änderst, kannst Du selbstverständlich auch einen anderen Rhythmus wählen:

# In diesem Rhythmus betrachten wir die Entwicklung:
period <- "year"  

# Jahresscheiben erstellen:
t <- Stock %>%                                    
  mutate(Period = floor_date(Date, period)) %>% 
  group_by(Period) %>% 
  filter(Date == min(Date)) %>% 
  select(Period, Stock)

# Kauf- und Verkaufstabelle erstellen.
# Dafür kreuzen (crossing) wir die Kaufs- und Verkaufstabellen,
# filtern SellDate > BuyDate
# und berechnen neue Spalten mit mutate:
t2 <- t %>%
  select(Period, Stock) %>%
  rename(BuyDate = Period, 
         BuyValue = Stock) %>%
  crossing(t %>%
             select(Period, Stock) %>%
             rename(SellDate = Period, 
                    SellValue = Stock)) %>% 
  filter(SellDate > BuyDate) %>% 
  mutate(HoldTime.Days = difftime(SellDate, 
                                  BuyDate,  
                                  units = "days") %>% 
                         as.numeric()) %>% 
  mutate(HoldTime.Years = round(HoldTime.Days/365, 1)) %>% 
  mutate(Ratio = SellValue/BuyValue) %>% 
  mutate(Percent.per.Year = Ratio^(365/HoldTime.Days) - 1) %>% 
  mutate(Percentage = paste(round(Percent.per.Year*100, 0), 
                            "%", sep = "")) %>% 
  mutate(Intervals = cut(Percent.per.Year, 
                         breaks = my_breaks, 
                         labels = my_labels)) %>% 
  mutate(Intervals = factor(Intervals, levels = my_labels))

In dieser Tabelle t2 liegen nun alle Daten vor. Das Weitere ist ausschließlich der Visualisierung gewidmet – wie auch schon die letzten drei mutate-Anweisungen.

Erstellung des Renditedreiecks

Ich möchte, dass das Renditedreieck für verschiedene Aktien und Indizes jeweils die gleichen Farbskala aufweist. So lässt sich der MSCI World leichter mit dem Dax, dem Euro Stoxx 50 und auch mit Einzelwerten vergleichen. Diese Anforderung macht meinen Code etwas komplizierter. Deshalb habe ich in den obigen Zeilen die Renditewerte („Percent.per.Year“) mit „my_breaks“ in Intervalle aufgeteilt, diese mit „my_labels“ beschriftet und zudem eine eigene Farbtabelle erstellt. Breaks, Labels und Farbtabelle kannst Du selbstverständlich anpassen:

# So erstellen wir die Farb-Umbrüche:
my_breaks <- c(-Inf, -0.5, -0.4, -0.3, -0.2, -0.1, -0.05, -0.03, -0.01, 
               0.01, 0.03, 0.05, 0.1, 0.2, 0.3, 0.4, 0.5, Inf)

my_labels <- c("<-50%", "-50%..-40%", "-40%..-30%", "-30%..-20%", 
               "-20%..-10%", "-10%..-5%", "-5%..-0.3%", "-3%..-1%", 
               "-1% .. 1%", "1%..3%", "3%..5%", "5%..10%", "10%..20%", 
               "20%..30%", "30%..40%", "40%..50%", ">50%")

# Farbcodes:
color1 <- "#8B0000" # dark red
color2 <- "#FFFFFF" # white
color3 <- "#006400" # dark green

colourtable <- data.frame(
   Intervals = my_labels,
   colours = colorRampPalette(colors = c(color1, color2, color3))(17)
)

Die Schwierigkeit besteht nun darin, dass nicht jedes Renditedreieck alle Intervalle ausgeschöpft. Deshalb untersuche ich zunächst, welche aktuellen Farben („current_colours“ im nächsten Code-Block) vorliegen und verwende diese für die Einfärbung der Kacheln (tiles) in ggplot. Falls Du lieber Quartals- als Jahresscheiben betrachtest, was Du oben über die Variable „period“ einstellen kannst, dann lasse ich Dir die Fallunterscheidung noch im Code, sodass auch die Prozentwert-Beschriftungen in den Kacheln in einer passenden Größe erscheinen. Die vielen Formatanweisungen des ggplot lasse ich ebenfalls stehen – auf die Gefahr hin, dass es abschreckend wird. Aber so kannst Du den Code übernehmen und gleich loslegen:

# Wir berechnen die Farben DES VORLIEGENDEN Graphen, 
# in der richtigen Reihenfolge:
current_colours <- t2 %>% 
     arrange(Percent.per.Year) %>% 
     select(Intervals) %>% 
     unique() %>% 
     left_join(colourtable)

# Textgröße für Beschriftung der Zellen im Dreieck:
text.size <- case_when(
    period == "year" ~ 3,
    period == "quarter" ~1)

p <- ggplot(data = t2,
            aes(x = SellDate,
                y = BuyDate,
                fill = Intervals)) +
     geom_tile() +
     scale_fill_manual(values = current_colours$colours) +
     labs(title = paste("Renditedreieck", stock, sep = " "),
          x = "Verkauf",
          y = "Kauf") +
     # Ab hier folgen Formatanweisungen für die Darstellung:
     theme_minimal() +
     theme(panel.background = element_rect(fill = "white")) +
     scale_y_date(date_labels = "%Y", 
                  date_breaks = "5 years",
                  date_minor_breaks = "1 year") +
     scale_x_date(date_labels = "%Y", 
                  date_breaks = "5 years",
                  date_minor_breaks = "1 year") +
     geom_text(aes(label=paste(round(Percent.per.Year*100),
                               "%", sep = "")), 
               color="black",
               size = text.size) +
      guides(fill = guide_legend(title = NULL)) +
      theme(legend.position = c(0, 1), 
      legend.direction = "horizontal",
      legend.justification = c(0,1))

p

# Falls Du die Graphik abspeichern möchtest:
ggsave(filename = "MeinErstesrenditeDreieck.png",
       width = 20, height = 10, dpi = 300)

So erhalten wir nun endlich das Renditedreieck:

Renditedreieck des Dax für das Szenario: Kaufen – Liegen lassen – Verkaufen. Im Jahresrhythmus gerechnet. Vertikale Achse: Jahr des Kaufs. Horizontale Achse: Jahr des Verkaufs. In den Zellen abgebildet ist die jeweilige jährliche Rendite der Investition, Jahr für Jahr. Ohne Gebühren und Steuern gerechnet. Je nach dem, welchen Bildschirm Du verwendest, musst Du das Bild vergrößern, um alles lesen zu können. Du kannst es auch abspeichern (dafür mit der rechten Maustaste darauf klicken).

Wie Du das Renditedreieck liest

Auf der vertikalen Achse ist das Jahr des Kaufs dargestellt, auf der horizontalen das des Verkaufs. Es ergibt sich ein aufsteigendes Treppchen, weil man natürlich nicht früher verkaufen als kaufen kann. In den Kacheln dargestellt ist die jeweils erzielte Rendite der Anlage. Für jedes Verkaufsjahr entspricht die oberste Kachel, die „Stufe“ also, einer Haltezeit von einem Jahr. Bei einem gegebenen Einkaufsjahr gehst Du für längere Haltezeiten horizontal in das Dreieck hinein. Rote Kacheln entsprechen Verlusten, grüne Kacheln entsprechen Gewinnen und bei weißlich gefärbten wärst Du mehr oder weniger bei Null herausgekommen.

Schauen wir uns ein Beispiel an.

Wenn Du am 1. Januar 2002 in den Dax eingestiegen (vertikale Achse) und am 1. Januar 2003 schon wieder ausgestiegen wärst (horizontale Achse), was einer Haltezeit von einem Jahr entspricht, dann hättest Du satte 40% verloren. Allerdings hätte es sich gelohnt, die Nerven zu bewahren: bei einem Ausstieg schon im Folgejahr (eine Kachel weiter in horizontaler Richtung) hätten sich Deine Verluste auf 12% p.a. und bei einem Verkauf zum 1. Januar 2005 auf 6% p.a. begrenzt. Ab dem Jahr 2014 (bei gleicher vertikaler Position gehen wir auf der horizontalen Achse auf dieses Jahr) hättest Du aus Deiner Investition sogar eine jährliche Rendite von 5% herausgeholt. Bei einer Anlage von 1000 Euro im Jahr 2002 wären bis Anfang 2023 also 2790 Euro zusammengekommen, also mehr als doppelt soviel.

Ist das Zockerglück?

Für diese Frage schauen wir uns das Rendite-Dreieck genauer an: parallel zur Hypotenuse verlaufen die Linien gleichen Investitionshorizonts. Je größer der Abstand einer roten Kachel von der Hypotenuse desto länger hättest Du für diese Investition auf Dein Geld warten müssen. Über den gesamten Zeitraum betrachtet wäre eine Investition am 1. Januar 2000 die schlechteste gewesen, denn Du hättest selbst im Jahr 2010 noch ein Minus von einem Prozent pro Jahr gemacht. Das nächst-schlechte Einstiegsjahr wäre 2007 gewesen: bei einem Verkauf im Jahr 2012 hättest Du 2% Verluste pro Jahr eingefahren. Aber danach geht es nach oben.

Ist das „Zocken“?
Oder zahlt sich letztlich Geduld aus?

Wenn Du auf den Dax setzt, dann schließt Du eine Wette darauf ab, dass es mit der deutschen Wirtschaft, zumindest langfristig, „schon irgendwie bergauf gehen wird“. Im Betrachtungszeitraum heißt „langfristig“, dass Du einen Horizont von mehr als 10 Jahren mitbringen solltest, um auf der sicheren Seite zu liegen. Bei Berufseinstieg bringst Du etwa 40 Jahre mit.

Dax, Dow Jones oder MSCI World?

Eine andere spannende Frage ist natürlich: Soll ich wirklich in den Dax investieren? Oder lieber auf den Dow Jones setzen, einen MSCI-World-ETF kaufen oder doch in Einzelaktien gehen?

Solche Fragen beantwortet Dir Deine Bank sicher gerne – und empfiehlt Dir vielleicht stattdessen auch ein paar gemanagte Fonds – mit Ausgabeaufschlägen und Verwaltungsgebühren. Das kann durchaus eine sinnvolle Ergänzung oder Alternative sein. Dazu unten einige persönliche Gedanken.

Mein Vorschlag ist: baue das oben dargestellte Skript nach und passe die Variable „stock“ für den Index oder die Aktie an, die Dich interessieren. Und rechne auch einmal das Renditedreieck für den Nikkei. Du erinnerst Dich vielleicht: der hatte im Jahr 1990 seinen Höchststand…

Das Renditedreieck für den kontinuierlichen Sparplan

Unser bisheriges Szenario ist natürlich unrealistisch: Rentenpläne werden in der Regel kontinuierlich bespart. So könntest Du zum Beispiel beschließen, Monat für Monat 100 Euro zurückzulegen. Schön wäre es, wenn Du dabei nicht nachdenken müsstest: „Soll ich diesen Monat besser nicht, oder vielleicht ‚jetzt erst recht‘ kaufen?“

Ohne solche Gedanken hättest Du weniger Kopfschmerzen: Wenn alle von „Krise“ sprechen, dann machst Du genauso weiter wie zu Zeiten größter Euphorie. So wirst Du manchmal teuer einkaufen (zu „Bullenmarkt“-Zeiten, wenn alle sagen, dass Du kaufen sollst), manchmal günstig (in einer „Bärenmarkt“-Stimmung, wenn alle Dir davon abraten). Interessant wäre also, wie das Renditedreieck für dieses Szenario aussähe – und das hat ja schließlich auch das Deutsche Aktieninstitut gerechnet.

Wir stellen wir uns deshalb die Frage: welche Rendite, Jahr für Jahr, erhalten wir für solch eine kontinuierliche Investition? Um das zu rechnen, betrachten wir die Zahlungsströme: Monat für Monat gehen von Deinem Konto zum Beispiel 100 Euro in Richtung Sparplan ab und am Ende fließt Dir der Gesamtbetrag wieder zu. In Excel kannst Du mit der IKV-Funktion den „internen Zinsfluss“ oder „Zinsfuß“ solcher Geldströme berechnen. Meine Empfehlung ist: baue Dir damit ein Excelblatt. Das ist schnell gemacht.

Oder vielleicht doch lieber eine Wohnung kaufen? Oder Gold?

Solch ein Excelblatt kannst Du auch für andere Investitionen wie zum Beispiel für den Kauf einer Wohnung oder für die Bewertung eines Bausparvertrages, von der Spar- bis zur Darlehensphase, nutzen. Du erfasst in einer Spalte alle zunächst abfließenden und später eingehenden Zahlungsströme und berechnest dann den Zinsfluss mittels IKV-Funktion.

Diese Themen sind jedoch nicht meine Schwimmbahn. Anders als zum Beispiel in den USA sind in Deutschland die Daten zu Immobilienpreisen leider nicht transparent und öffentlich zugänglich. Für diesen Blog nutze ich öffentlich zugängliche Daten. Wenn Du also Ideen für Finanzmodellierungen einer Investition suchst, dann musst Du anderweitig fündig werden.

Und Gold?

Das wiederum ist sehr einfach: für die Variable „stock“ oben setzt Du „GC=F“ ein. Das ist das Symbol für den Goldpreis. Und schon hast Du Dein Gold-Renditedreieck.

Zur Berechnung des „Zinsfußes“

In R verwende ich das Paket jrvFinance und die irr()-Funktion („internal rate of return“). Ich möchte hier meine Vorgehensweise möglichst genau darstellen (ein großer Vorteil von R, Python & Co), sodass Du meinen Ansatz überprüfen kannst. Wenn ich einen Fehler mache, dann bitte ich um einen Hinweis!

Ich investiere jeden Monat den Wert 1 in ein Wertpapier, das zu diesem Zeitpunkt je Anteil beim Kurswert x steht. Das heißt: ich erwerbe 1/x Anteile. Wenn ich nun Monat für Monat den Wert 1 investiere, dann muss ich die Kehrwerte 1/x über alle Monate aufsummieren, um zu berechnen, wie viele Anteile ich im Laufe der Zeit erworben habe. Diese Anteile verkaufe ich am Ende der Zeit zu dem dann gültigen Kurswert. So erstelle ich folgende Funktion, die mir aus

  • dem „Einkaufskalender“ („schedule“: mit Spalten „Period“ und „Stock“)
  • dem Startdatum („date1“) der Käufe und
  • dem Verkaufsdatum („date2“)

den jeweiligen Zinsfuß berechnet:

Zinsfuss <- function(date1, date2) {

# Vektor aller Einkaufspreise:
buy <- schedule %>% 
       filter(Period >= date1, 
              Period < date2) %>% 
       pull(Stock)

# Anzahl der erworbenen Anteile:
shares <- sum(1/buy)

# Verkaufserlös:
sell <- shares*schedule$Stock[schedule$Period == date2]

# Da wir jeweils 1 investiert haben, 
# ist unsere Investitition rentabel 
# solange sell > length(buy) ist.

# Cashflow-Vektor:
my_cf <- rep(-1, length(buy)) %>% append(sell)

# Zinsfuss berechnen:
Zf <- jrvFinance::irr(my_cf)

# Das ist jedoch nur der monatliche Zinsfuss.
# Den müssen wir jetzt noch auf das Jahr umrechnen:
Zf.pa <- (1 + Zf)^12 - 1

return(Zf.pa) 

}

Diese Funktion greift auf die in der Variablen „schedule“ abgelegten monatlichen Aktienstände zurück, die wir wie folgt aus dem Yahoo-Finance-Download, also der Variable „Stock“, berechnen:

schedule <- Stock %>% 
     mutate(Period = floor_date(Date, "1 month")) %>% 
     group_by(Period) %>% 
     filter(Date == min(Date)) %>% 
     select(Period, Stock)

Mit dieser Funktion Zinsfuss() durchlaufe ich nun eine Schleife über die gesamte Tabelle t2 und erhalte folgendes Rendite-Dreieck:

Rendite-Dreieck des Dax bei monatlich gleichbleibenden Zukäufen.

„Von weitem betrachtet“ sieht dieses Dreieck dem vorherigen recht ähnlich. Bei näherem Augenschein sind durchaus Unterschiede erkennbar: vor allem treten zu Krisenzeiten deutliche vertikale Strukturen hervor: da Du zu Krisenzeiten günstig nachkaufst, überstehst Du die Krisen schneller!

Durch regelmäßigen Nachkauf kannst Du Krisen „aussitzen“. Bei Nachkauf bei Bärenstimmung und dann günstigeren Preisen hat sich Deine Anlage schneller wieder „berappelt“ als bei einer Einmal-Investition.

Wärst Du zum Beispiel zum 1. 1. 2000 eingestiegen, dann hättest Du im ersten Jahr 21% Verlust gemacht. Bei Ausstieg am 1. 1. 2003 wärst Du sogar bei -32% p.a. gelandet. Gerade jetzt wäre aber „Ruhe bewahren“ richtig gewesen, denn bis zum 1. 1. 2006 hättest Du mit Deinen monatlichen Investitionen „im Schnitt“ einen Zinsfluss von 7% p. a. erwirtschaftet.

Dein „wahres“ Investitionsszenario ist noch entspannter

Der kontinuierliche Kauf „entschärft“ also das Problem der Volatilität. Gerade wenn Du Deine Anlage als Altersvorsorge betrachtest, dann wirst Du vermutlich auch nicht alles auf einen Schlag abziehen. Vielmehr wirst mit Rentenbeginn auch kontinuierlich, zum Beispiel monatlich, entnehmen: in Bullenjahren wenige, hochpreisige Anteile und in Bärenjahren mehr niedrigpreisige Anteile, um so einen monatlich gleichbleibenden Bedarf zu decken. Dadurch entspannt sich die Situation noch einmal. Das heißt:

Je länger und je kontinuierlicher Du investierst und gleichmäßiger Du entnimmst, desto mehr bildet Deine Investition die langfristige Entwicklung ab.

Wenn Du also glaubst, dass es mit der deutschen, der amerikanischen, der Weltwirtschaft langfristig bergauf geht, dann solltest Du über einen Rentensparplan in ein Papier, das Deinen bevorzugten Index nachbildet, ernsthaft nachdenken. Das Renditedreieck hilft Dir bei der Entscheidung.

Die Vergangenheit lässt keine Rückschlüsse auf die Zukunft zu

Zu recht magst Du nun sagen: Schön und gut – aber kann ich mich auch in Zukunft darauf verlassen, dass meine Anlage nach spätestens 10 Jahren wieder gut dasteht?

Die Antwort kennst Du selbst.
Nein, verlassen können wir uns auf die Zukunft nicht.

Es stehen große Herausforderungen an: Vielleicht wandert die deutsche Industrie ja dorthin ab, wo die Energie billiger ist. Oder wir kriegen die Digitalisierung nicht hin. Oder in Deutschland oder Europa entstehen „japanische Verhältnisse“. Oder die Klimakrise stürzt die ganze Welt in den Abgrund. Oder die USA versinken im Chaos. Oder, oder, oder.

Vielleicht. Und deshalb müssen wir die Ärmel hochkrempeln. Aussitzen können wir – als Menschheit – diese Themen nicht. „Als Menschheit“ haben wir aber auch andere Dinge hingekriegt: nach zwei Weltkriegen eine neue Wirtschaftsordnung aufgebaut, extreme Armut halbiert, Corona irgendwie überstanden. Vielleicht wird jetzt trotzdem alles anders und schlimmer. Oder aber wir kriegen das Problem mit dem Fachkräftemangel in den Griff. Vielleicht startet Deutschland auch dank künstlicher Intelligenz so richtig durch. Aber all das ist eine andere Geschichte. Und die musst Du mit jemand anderem besprechen, denn als „Schuster“ bleibe ich hier bei meinem „OSAN-Leisten“.

Wie Du Dich zu diesen Themen positionierst hat natürlich auch Konsequenzen für Deine Wahl. Denn falls Du in den DAX investierst, dann wettest Du darauf, dass es mit der deutschen Wirtschaft gut weiter geht. Vielleicht traust, nur als Beispiel, den USA mehr zu? Dann könntest Du den Dow Jones wählen. Oder Du siehst über die nächsten Jahrzehnte Indien oder China vorn? Dann suche Dir entsprechende ETFs aus und schaue ihre Rendite-Dreiecke an. Oder Du wettest einfach darauf, dass es mit der gesamten Welt „schon irgendwie weitergeht“? Dann könntest Du den MSCI World auswählen (der allerdings Nordamerika übergewichtet – schaue deshalb bei jedem ETF oder Fonds rein, was drin ist in der Packung).

Eine nützliche Faustformel

Was Du im Hinterkopf behalten solltest:

Eine Geldanlage, die zum Zinssatz x% verzinst wird,
verdoppelt nach etwa 70/x Jahren ihren Wert.

Bei 2% also nach 35 Jahren. Bei 5% schon nach 14 Jahren und bei 7% nach 10 Jahren. Wenn Du rechtzeitig anfängst und so Zeit mitbringst, dann solltest Du Dir diese Effekte nicht entgehen lassen. Vor allem, wenn Du erst in 40 Jahren in Rente gehst.

Ein paar Tipps möchte ich Dir noch mit auf den Weg geben

So schwer ist es also nicht, mit doppelt soviel Geld in Rente zu gehen. Und so „steinig und schwer“ ist der Weg dahin auch nicht, selbst wenn Du ihn alleine gehst: Du musst regelmäßig Geld beiseite legen, in guten wie in schlechten Zeiten „einfach weitermachen“ und am besten schließlich genauso kontinuierlich Geld entnehmen.

Ich denke jedoch auch, dass dieses Thema wichtig genug ist und dass Du eigene Recherchen anstellen, mit Freunden, Eltern und mit Deiner Bank darüber sprechen solltest.

Meine „Schwimmbahn“ ist die Visualisierung von Daten. Die folgenden Gedanken möchte ich Dir dennoch nicht vorenthalten, da sie Dir helfen können, Dich auf diese Gespräche vorzubereiten. Du solltest sie aber unter dem Vorbehalt lesen, dass ich hier meinen Kompetenzbereich verlasse.

Bevor Du bei der Bank unterschreibst: Frage nach, welche Möglichkeiten deren Anlage Dir für Spar- und Entnahmephase bietet (z. B. die Möglichkeit, auch einmal auszusetzen, ganz auszusteigen oder eine größere Einzahlung zu tätigen) und wie hoch die Kosten dafür sind. Bei 5% Ausgabeaufschlag und 2% Verwaltungsgebühren pro Jahr muss ein Fonds schon richtig gut gemanagt sein, um „den Markt“, also den von Dir für einen ETF gewählten Index, zu schlagen. Bei all den zusätzlichen Features wie „Airbag“, „dynamische Anpassungen ohne zusätzliche Gesundheitsprüfung“ und „eingebaute Berufsunfähigkeitsversicherung“ lässt sich vielleicht gar nicht so genau sagen, wie hoch diese Gebühren tatsächlich sind. Dann ist für Dich der Geldfluss wichtig, den Du in Excel mit der IKV-Funktion in den Griff kriegst. Und stelle die Frage: ich schließe heute ab und verkaufe morgen wieder. Wieviel kriege ich zurück? – Denn DAS ist der Ausgabeaufschlag.

Eine weitere Idee Deiner Bank könnte sein, das Geld „zur Sicherheit“ mehreren Managern anzuvertrauen („lege niemals alle Eier in einen Korb“). Bei diesem Vorschlag solltest Du folgendes überlegen: Alle Manager zusammen bilden den Markt ab: manche performen besser, manche schlechter. Wie viele verschiedene Manager musst Du im Portfolio haben, um den Markt tatsächlich mehr oder weniger abzubilden? „Zur Sicherheit“ zehn? – Vielleicht kannst Du Dir dann die Verwaltungsgebühren für diese Manager auch sparen und gleich einen Index-ETF kaufen.

Aber Achtung: ETF ist nicht gleich ETF, auch wenn die Gebühren vernachlässigbar sind. Das siehst Du auch, wenn Du deren Renditedreiecke rechnest (sehr einfach: Du änderst die Variable „stock“ in dem Code oben).

Hier sind noch meine eigenen „Leitplanken“ für Investitionen – zum Teil habe ich dafür Lehrgeld bezahlt, das Du Dir vielleicht sparen kannst:

  • Ich kaufe ETFs nur zu transparenten und gut regulierten Märkten. Übersetzt für mich heißt das, dass ich mich auf demokratisch regierte Länder beschränke.
  • Ich bin vorsichtig bei „Nischen-ETFs“. Vieles klingt gut („Wasserstoff“, „ökologisch“, „sozial“, …). Und es ist sicher richtig, auf solche Trends zu setzen, wenn man an sie glaubt. Wenn mein „Traum-ETF“ aber eine Nische besetzt (wenige, kleine Unternehmen) und viele andere meinen Traum teilen, dann kann durch eben diese Anlagemöglichkeit die Nische „hochgejazzt“ werden – und es entsteht ein Blase. Ich schaue mir also an, welche und wie viele Unternehmen drin sind in dem ETF, wo sie beheimatet sind und wie groß sie sind.

Die Idee, die wir hier verfolgen, ist ohnehin: lasst uns nicht zu clever sein. Wir sind lieber konsistent (regelmäßig anlegen, liegen lassen, viel später regelmäßig entnehmen). Denn wenn Du auf den „Geheimtipp-ETF“ setzt, dann sagst Du ja insgeheim doch, dass Du schlauer bist als der Markt. Oder?

Ein Nachtrag noch: am 8. Juni hat die FAZ einen meiner Ansicht nach guten Artikel genau zu diesen Fragen veröffentlicht: „Sind ETFs wirklich besser?“. Vielleicht steigst Du damit einmal ein.

Wo ich Unterstützung gebrauchen kann

Es gelingt mir nicht, die exakten Werte des Rendite-Dreiecks für den MSCI World in dem oben zitierten Artikel der FAZ nachzubauen. Vielleicht wird mit einem anderen Stichdatum als dem 1. Januars gerechnet? Meine Zahlen erscheinen zudem allgemein etwas niedriger als die des Deutschen Aktieninstituts zu sein. Ist meine Zinsfußberechnung vielleicht doch falsch? Die Schlussfolgerungen bleiben die gleichen. Aber diese Unstimmigkeit würde ich gerne aufklären.