Planen Sie Fakt, Dynamik und Profit in einem Diagramm mit R

    Jedes Mal, wenn die Finanzergebnisse des vergangenen Jahres zusammengefasst werden und eine entsprechende Präsentation vorbereitet wird, wird überlegt, wie die Hauptzahlen in einem Diagramm dargestellt werden sollen. Unabhängig vom Tätigkeitsbereich der Organisation beginnt die Zusammenfassung in der Regel mit einer Analyse der wichtigsten Finanzindikatoren, die für jeden Geschäftsbereich getrennt sind:
    • Umsatz im abgelaufenen Jahr (tatsächliche Zahlen);
    • zuvor erstellte Pläne für das abgeschlossene Jahr (zur Analyse der Umsetzung);
    • Umsatz ein Jahr zuvor (um die Dynamik zu verstehen);
    • Rentabilität.
    Das Standardbalkendiagramm, das in Excel hochgefahren werden kann, liefert, gelinde gesagt, kein ganz offensichtliches Ergebnis. Wenn ein Unternehmen beispielsweise vier Richtungen hat, werden 16 benachbarte Spalten im Diagramm angezeigt, und möglicherweise ist jemand nicht daran gewöhnt, Führendes und Rückwärtses zu verwechseln.
    Fachleute, die mit R vertraut sind, können ggplot2 verwenden, um das gewünschte Diagramm programmgesteuert zu erstellen, z. B. hier. Die Zahlen für 2012 stammen beispielsweise aus dem Geschäftsbericht von Unilever. Die geplanten Indikatoren beziehen sich nicht auf öffentliche Daten, daher musste ich sie aus meinem Kopf heraus erfinden und auf das Niveau von „letztes Jahr + 5%“ setzen.
    Die ursprünglichen Zahlen sind in Excel und sehen folgendermaßen aus (Angaben in Millionen Euro):
    Bild
    Das in RStudio erstellte Diagramm sieht folgendermaßen aus:
    Bild
    Überprüfen Sie das Diagramm auf Intuitivität und gehen Sie, ohne auf die Zahlen zu achten, davon aus, welcher Indikator welchem ​​Element des Diagramms entspricht. Die Erläuterungen folgen.

    Die Idee ist, dass der Hauptparameter - Umsatz - in Form von farbigen Spalten, dem Indikator des letzten Jahres (LastYear) - als visuell dahinter liegende Kontur, geplanten Indikatoren (Forecast) in Form von „Balken“ und der Rentabilität (genauer gesagt, das Gegenteil ist Ausgaben) - eine kleine Marke.
    Verwenden Sie das XLConnect-Paket, um Daten aus Excel zu lesen. Aus der Excel-Datei wird aus dem angegebenen Blatt eine benannte Tabelle in R geladen.
    Die Farben für das Diagramm stammen aus der Unilever-Unternehmensfarbentabelle.
    Also der Code
    require(XLConnect)
    require(data.table)
    require(ggplot2)
    require(scales)
    indata <- readTable(loadWorkbook("Unilever.xlsx"), 
                        sheet = "FinResults", 
                        table = "Unilever2012", 
                        useCachedValues = TRUE)
    finreport <- data.table(indata)[, list(
                                      Segment = reorder(Segment, -Turnover),
                                      Cost = (Turnover - Profit),
                                      Forecast, Turnover, LastYear
                                      )]
    turnover_format = function(...){
      function(x) paste("€B ", format(x/1000, ..., nsmall = 1L, scientific = FALSE, trim = TRUE))
    }
    chart <- ggplot(finreport, aes(x = Segment)) +
      geom_bar(aes(y = LastYear), stat = "identity", color = "#004976", fill = "white", width = 0.9) +
      geom_bar(aes(y = Turnover), stat = "identity", color = "white", fill = "#0085CA",  width = 0.6) +
      geom_crossbar(aes(ymin = Forecast, ymax = Forecast, y = Forecast), color = "#ED8800", width = 0.4, size = 0.7) +
      geom_point(aes(y = Cost), shape = 25, color = "#cedc00", fill = "white") +
      scale_y_continuous(breaks = pretty_breaks(20), labels = turnover_format()) +
      theme_bw() +
      theme ( panel.border = element_blank()
              , axis.line = element_line()
              , axis.title.x = element_blank()
              , axis.title.y = element_blank()
              , axis.text = element_text( size = 13, color = "#3C1053")
      )
    print(chart)
    

    Quelle: Univeler Geschäftsbericht und Jahresabschluss 2012 , Seite 92.

    Jetzt auch beliebt: