Florian Reichle


Angaben

Verwendetes Dataset: https://www.kaggle.com/datasets/gregorut/videogamesales
Daten von https://www.vgchartz.com/ für die Jahre 1980 bis 2016

Wie folgt dargestellt:


Inhaltsverzeichnis

  1. Releaseanalyse
  2. Platformanalyse
  3. Publisheranalyse
  4. Genreanalyse
  5. Genreverteilung pro Jahr
  6. Publisher Genres
  7. Kritischer Rückblick

Thesen

Folgende Thesen bzw. Fragestellungen werden analysiert:


Daten und Librarys

Nach dem Vorstellen der Daten und dem Aufstellen der initialen Thesen werden die Daten eingelesen. Zusätzlich wird eine Farbpalette erstellt und die Librarys importiert.

library(readr)
library(tidyverse)
library(forcats)
library(plotly)
library(knitr, warn.conflicts = FALSE, quietly=TRUE)
library(RColorBrewer)
library(stringr)
library(dygraphs)
library(xts)
suppressPackageStartupMessages(library(dplyr))
myPalette <- brewer.pal(10, "Paired")
vgsales <- read_csv("vgsales.csv")

Veröffentlichungen/Releases - Videospiele

im Lauf der Jahre 1980 bis heute

Releases nach Anzahl

Um der Fragestellung „In welchen Jahren wurden releaste Games am meisten verkauft“ auf den Grund zu gehen, wurden die Daten der Tabelle vgsales mit Hilfe der Funktion group_by(Year) pro Jahr zusammengefasst. So entsteht eine nach Jahren zusammengefasste Tabelle, deren Einträge mit der Funktion dplyr::summarize(Anzahl =n())gezählt und als Wert Anzahl abgespeichert wurde. Zur Vermeidung von fehlerhaften Daten wird die Funktion filter() angewendet, um alle fehlenden Jahreseinträge sowie die Jahre 2020 und 2017 herauszufiltern. Letztgenannte Jahre ist fehlerhaft, da der Datensatz 2016 erstellt wurde.

Die so gewonnenen Daten wurden als data.frame in der Variable grouped abgespeichert. Dieses data.frame wird nachfolgend nur verwendet, um die Einträge Jahr und Anzahl zu selektieren und jeweils in der Variable filtered abzuspeichern.

Die erzeugte Tabelle hat zwei Spalten: Jahr und Anzahl.

Weiter wurden mit zwei weiteren Variablen ax und ay eine weitere Liste mit nur einem Attribut Title erstellt. Mittels plot_ly() sowie type = ‘scatter’ und mode = ‘lines’ wurde ein Liniendiagramm generiert. Mit der layout() funktion wurde ein Titel erzeugt sowie mit Hilfe unsere beiden Variablen ax und ay die Achsen beschriftet.

grouped <- vgsales  %>%                                 
  group_by(Year) %>%
  dplyr::summarize(Anzahl =n()) %>% filter(Year!='N/A')%>%filter(Year!=2020) %>% filter(Year!='2017') %>%
  as.data.frame()


filtered <- grouped %>% select(Year,Anzahl)

ax <- list(
  title = "Jahr"
)

ay <- list(
  title = "Anzahl"

)

filtered %>%
plot_ly(x = ~Year, y = ~Anzahl, type = 'scatter', mode = 'lines', fill = 'tozeroy' ,colors = myPalette) %>% 
  layout(title="Anzahl der Spielereleases von 1980-2016",
         xaxis = ax,
         yaxis = ay
         )

Auswertung:

Zwischen 1980 und 1993 sind kaum Unterschiede festzustellen. Die Schwankungen können aufgrund der geringen Zahl der Veröffentlichungen (zwischen 14 und 49) vernachlässigt werden. Ab 1993 können wir dann ein stetiges Wachstum feststellen welches 1998 vorerst den Höchstwert erreicht. In den Jahren 1999 und 2000 geht Zahl der Veröffentlichungen zunächst leicht zurück, bevor sich der Wert bis 2002 von 349 auf 829 mehr als verdoppelt. Bis 2004 ist wiederum ein leichter Rückgang festzustellen. Nach 2005 folgt ein stetiges Wachstum bis zu den Höchstwerten von 1428 in 2008 sowie 1431 in 2009. Danach folgt ein extremer und - mit kurzen Unterbrechungen in den Jahren 2014 (582) und 2015 (614) - stetiger Rückgang der Release-Zahlen auf 344 im Jahr 2016.

Auch wenn die Analyse dieser Zahlen zur Frage führt, worauf diese extremen Veränderungen der Zahl der Veröffentlichungen zurückzuführen sind, kann an diesem Punkt der Analyse nur spekuliert werden, dass die Spitzenwerte auf die Veröffentlichungen großer, den Markt bestimmenden Plattformen, wie der PS2/3, der Xbox und den Plattformen von Nintendo wie Gamecube oder Wii, zurückzuführen sein könnten. Hierzu aber später mehr.

Releases nach Verkaufszahlen

Für den zweiten Teil der Fragestellung wurden die Daten der Tabelle vgsales mithilfe der Funktion group_by(Year) anhand der Jahre gruppiert. Dies ergab eine nach den Jahren geordnete Tabelle, deren Einträge mit der Funktion dplyr::summarize(gr_sum = sum(Global_Sales)) zusammengefasst wurde. Auffallend ist hier eine Abweichung zum vorherigen Aufruf: Statt Anzahl =n() nutzen wir hier gr_sum = sum(Global_Sales). Diese Funktion summiert alle Werte der Spalte Global_Sales auf und speichert den Wert in die Spalte gr_sum. Zur Beseitigung fehlerhafter Daten wurde mit der Funktion filter() alle fehlenden Jahreseinträge sowie die Jahre 2020 und 2017 herausgefiltert. Diese Daten wurden als data.frame in der Variable grouped abgespeichert. Im folgenden wurde das data.frame nur genutzt, um die Einträge Jahr und gr_sum zu selektieren und unter der Variablen filtered abzuspeichern. Die erhaltene Tabelle hat nun zwei Spalten: Jahr und gr_sum. Weiter wurde erneut die Variablen ax und ay genutzt und mittels plot_ly() und type = ‘scatter’ und mode = ‘lines’ mit den Parametern ein Liniendiagramm erstellt. Außerdem wurde die layout() Funktion eingesetzt, um einen Titel zu erstellen, sowie mithilfe der beiden Variablen ax und ay die Achsen zu beschriften.

grouped <- vgsales  %>%                                 
  group_by(Year) %>%
  dplyr::summarize(gr_sum = sum(Global_Sales)) %>% filter(Year!='N/A')%>%filter(Year!=2020) %>% filter(Year!='2017') %>%
  as.data.frame()


filtered <- grouped %>% select(Year,gr_sum)

ax <- list(
  title = "Jahr"
)

ay <- list(
  title = " Verkäufe pro Jahr (in mio)"

)

filtered %>%
plot_ly(x = ~Year, y = ~gr_sum, type = 'scatter', mode = 'lines', fill = 'tozeroy' ,colors = myPalette) %>% 
  layout(title="Videospielverkäufe von 1980-2016",
         xaxis = ax,
         yaxis = ay
         )

Bei der Betrachtung des so erstellten Diagramms fällt uns zuerst auf, dass es dem vorherigen recht ähnlich sieht. Der wohl deutlichste Unterschied ist das Fehlen des Anstiegs der Anzahl der Gamereleases zum Jahr 2015. Nach dem direkten Vergleich bietet es sich an, sich mit der zweiten These “Werden heutzutage mehr Spiele releast und verkauft als noch 1980?” auseinanderzusetzen. Obwohl festzustellen ist, dass die besten Verkaufsjahre - sowohl in Verkäufen/Sales, als auch in der Anzahl - die Jahre 2008 und 2009 waren, bestätigt sich die These. Doch auch wenn die Frage nach dem Grund für diesen beständige Entwicklung ein interessanter Ansatz wäre, kann dies hier nicht beantwortet werden.Siehe auch.

Verkaufszahlen pro Spiel

Zur Beantwortung der Frage, ob neuere Spiele automatisch häufiger gekauft werden, werden die beiden bereits dargestellten Ansätze erneut angewendet: Dafür werden die Daten mithilfe von group_by(Year) anhand der Jahre und die so entstandene Tabelle mit dplyr::summarize(gr_sum = sum(Global_Sales)) zusammengefasst, in dem die Befehle sum(Global_Sales) und n() kombiniert werden. Das durch Addition der Spalte Global_Sales und Division der Summe durch die Anzahl der Einträge entstehende Ergebnis wird in die Spalte gamesales (gamesales = sum(Global_Sales)/n()) gespeichert. Die Daten werden erneut gefiltert und als data.frame in grouped abgespeichert. Die Einträge der Spalten Jahr sowie gamesales werden danach selektiert und in der Variablen filtered gesichert. Mit den Variablen ax und ay und plot_ly() sowie der type = ‘scatter’ und mode = ‘lines’ Parameter wird ein Liniendiagramm erstellt. Mit der layout() Funktion wird sodann ein Titel erzeugt und der beiden Variablen ax und ay genutzt, um die Achsen zu beschriften.

grouped <- vgsales  %>%                                 
  group_by(Year) %>%
  dplyr::summarize(gamesales = sum(Global_Sales)/n()) %>% filter(Year!='N/A')%>%filter(Year!=2020) %>% filter(Year!='2017') %>%
  as.data.frame()


filtered <- grouped %>% select(Year,gamesales)

ax <- list(
  title = "Jahr"
)

ay <- list(
  title = "Verkäufe pro Spiel"

)

filtered %>%
plot_ly(x = ~Year, y = ~gamesales, type = 'scatter', mode = 'lines', fill = 'tozeroy' ,colors = myPalette) %>% 
  layout(title="Videospielverkäufe pro Spiel von 1980-2016",
         xaxis = ax,
         yaxis = ay
         )

Sahen sich die beiden Diagramme für Anzahl und Verkaufszahlen noch recht ähnlich, zeigt sich hier ein deutlich unterschiedlicher Verlauf: Ist der Wert zwischen 1980 (1,26) und 1983 (0,98) noch relativ gering, steigt dieser für die Jahre 1984 (3,59) und 1985 (3,85) deutlich an, bevor er 1986 (1,76) und 1987 (1,35) wieder absinkt. Nach dieser fast Halbierung des Wertes, steigt er allerdings in den beiden nachfolgenden Jahren in 1988 (3,14) in 1989 auf einen Höchststand von 4,32. Danach sinkt der Wert wieder ab, um sich nach einem kurzen Ausschlag in 1992 in den Jahren bis 2014 auf einen relativ beständigen Wert zwischen 0,5 und 0,7 einzupendeln. Erst in den Jahren 2015 und 2016 sinkt der Wert unter 0,5. Einschränkend muss man davon ausgehen, dass die Extremwerte der Jahre vor 1993 mit der geringen Anzahl der Spiele zu erklären ist. Einzelne, sich gut verkaufende Spiele machen hier noch einen Großteil des Markts aus, wohingegen sich in den Jahren danach neuere Spiele jeweils, sowohl gegen eine Großzahl von bereits etablierten Spielen, als auch eine große Anzahl neuer Releases, durchsetzen mussten.


Analyse der Plattformen

Videospiele gibt es in den unterschiedlichsten Varianten. Was sie jedoch alle gemeinsam haben, ist die Nutzung eines Mediums, wie Sonys Playstation, Microsofts xBox, Nintendos Spielekonsolen, die Wii oder der einfache Desktop-PC.

Hierbei wird unter Fans eifrig diskutiert, welches davon das beste Medium ist? Da dies auch eine subjektive, immer im Auge des Betrachters liegende Entscheidung darstellt, soll vorliegend die Frage anhand objektiver Kriterien (Zahl der Verkäufe pro Plattform, Zahl der Game-Releases) beantwortet werden. Welche Probleme hierbei durch den vorhandenen Datensatz auftraten, Genaueres im Fazit.

Platformanalyse - global

nach Anzahl

Um sich einen guten Überblick über die Rankings der Plattformen zu verschaffen, wird ein Paretodiagramm genutzt, ein nach der Größe der Werte sortiertes Säulendiagramm.

Zum Erstellen des Diagramms wird der vorhandene Datensatz in diesem Fall mit Hilfe des group_by Befehls pro Platform gruppiert. Mit summarize(Anzahl =n() wurden die Einträge abgezählt und der Wert als Anzahl abgespeichert. Um die Einträge der Anzahl nach zu sortieren wird mit grouped[order(grouped$Anzahl),decreasing = FALSE] sortiert und das Ergebnis der neuen Tabelle Ordered wenn dieser Befehl komplex aussieht, sortiert „Ordered“ die Tabelle nur nach der gegebenen Spalte, wobei Parameter decreasing = bestimmt, ob der größte Wert am Anfang oder Ende stehen soll. Das im Befehl enthaltene Dollarzeichen selektiert hierbei die Spalte mit dem dahinterstehenden Name aus der vorher stehenden Tabelle nach dem Schema Tabelle$Spalte. Danach wurde die Spalte Platform mit dem Befehl as_factor(ordered$Platform) als Faktor eingelesen. Mit unsere beiden Variablen ax und ay wurden erneut die Achsen beschriftet.

Zur eigentlichen Diagrammerstellung wurde die Tabelle ordered weiter an plot_ly() übergegeben und add_bars genutzt, um ein Balkendiagramm zu erstellen. Der Unterschied zwischen der Erstellung eines Balken- oder Paretodiagramm liegt hierbei in der Parameterübergabe. Dies erfolgt durch die Zuweisung der X-Achse. Hieraus erklärt sich die vorherigen Umwandlung der Spalte „Platform“ zu einem „Faktor“ mittels x=~fct_reorder(Platform,Anzahl, .desc=“true”),y=~Anzahl Mit dem Befehl fct_reorder() werden die Plattformen nach der Anzahl sortiert und angeordnet. Der erste Parameter ist hierbei die zu sortierende Spalte, der zweite der, nach dem sortiert werden soll. Der Parameter „.desc“ steht hierbei für „descending“ und bestimmt, wie sortiert werden soll, in unserem Fall die Darstellung des größten Wertes als Ersten. Abschließend erhält das Diagramm einen Namen, die Farbpalette wurde zugewiesen und das Layout mit Titel sowie der beiden Achsenbeschriftungen erzeugt.

grouped <- vgsales  %>% 
  group_by(Platform) %>% 
  summarize(Anzahl =n()) 

ordered <- grouped[order(grouped$Anzahl), decreasing = FALSE]
ordered$Platform <- as_factor(ordered$Platform)


ax <- list(
  title = "Platform"
)

ay <- list(
  title = "Anzahl"
)
ordered%>%
  plot_ly() %>% 
  add_bars(x=~fct_reorder(Platform,Anzahl, .desc=TRUE),
           y=~Anzahl,
           name="Spieleanzahl pro Platform" ,colors = myPalette) %>% 
  layout(title="Spieleanzahl pro Platform",
         xaxis = ax,
         yaxis = ay
         
         )

Haben etablierte, ältere Plattformen ein größeres Spielangebot als Plattformen, die neu auf den Markt kommen?

Dies Auswertung des Diagramms lässt keine Rückschlüsse darauf zu, ob bereits etablierte oder noch ganz neue Plattformen „die Nase vorne haben“. Sowohl auf den ersten beiden Stellen finden sich der DS von Nintendo (2163) und die Playstation 2 von Sony (2161), was nicht weiter verwunderlich ist, da sich beide Konsolen weltweit am besten verkauft haben. Ein weiterer Grund für deren hohe Zahl von Spielen ist vermutlich auch deren Stellung als Platzhirsche im Konsolen- bzw. Handheldmarkt.

Auffallend ist, dass es meist die ältere Generationen einer Konsole sind, für die mehr Spiele angeboten werden. Für die Playstation 2 (PS2) existieren beispielsweise mehr Spiele, als für die PS3 und die PS4, für die ältere XboX360 mehr, als für die neuere xBoxOne und für den älteren DS mehr, als für den neueren 3DS. Dies scheint jedoch jeweils nicht auf die erste Generationen zuzutreffen. Die erste Playstation hat so mehr Verkäufe, als die wesentlich neuere PS4, jedoch weniger als die PS3 und die PS2. Die älteste Xbox hat zwar mehr Verkäufe als die neueste XboxOne, aber weniger als die zeitlich dazwischen releaste Xbox360.

nach Verkaufszahlen

Für die Betrachtung der Verkaufszahlen der Spiele der einzelnen Plattformen wird wieder ein Paretodiagramm verwendet und das Vorgehen ist ähnlich dem des vorherigen Diagramms. Mit der group_by Funktion wird nach den Plattformen gruppiert. Da aber die Verkaufszahlen betrachtet werden sollen, wird der Befehl summarize() auf die Global_Sales Spalte angewendet. Mit der rename() Funktion wird die so entstandene Spale sum(Global_Sales) in Global_Sales umbenannt. Dies soll später die Referenzierung der Spalte einfacher machen. Um später nach dieser neu erstellten Spalte sortieren zu können, wurde diese in einen Vector umgewandelt; dies mit dem Befehl grouped$Global_Sales<-as_vector(grouped$Global_Sales). Damit wird die Tabelle sortiert und in der Variablen “ordered” abgespeichert.

ordered <- grouped[order(grouped$Global_Sales), decreasing = FALSE].

Als letzten Schritt vor der Erstellung des Diagramms, wird die Spalte “Plattform” in einen Faktor umgewandelt - ordered$Platform <- as_factor(ordered$Platform) - und mit der Achsenbeschriftungen ax und ay ergänzt.

grouped <- vgsales  %>% 
  group_by(Platform) %>% 
  summarize(sum(Global_Sales))  %>%
rename(
    Global_Sales = "sum(Global_Sales)"
    )
grouped$Global_Sales<-as_vector(grouped$Global_Sales)
ordered <- grouped[order(grouped$Global_Sales), decreasing = FALSE]
ordered$Platform <- as_factor(ordered$Platform)


ax <- list(
  title = "Platform"
)

ay <- list(
  title = "Verkaufszahlen (in mio)"

)


ordered%>%
  plot_ly() %>% 
  add_bars(x=~fct_reorder(Platform,Global_Sales, .desc=TRUE),
           y=~Global_Sales,
           name="Verkaufszahlen nach Platform" ,colors = myPalette) %>% 
  layout(title="Verkaufszahlen nach Platform",
         xaxis = ax,
         yaxis = ay
         )

Spitzenplatz zusammen mit der PS2 und belegt nur Platz 5, zum anderen sind die Unterschiede zwischen den Spitzenplätzen bzw. dem Spitzenplatz und dem Rest der Top 5 deutlich geringer. Waren es bei der Spieleanzahl noch fast 40 % Unterschied zwischen den Plätzen 1 und 2 sowie 3 und 4, sind es in diesem Diagramm nur knapp 20 %. Die restlichen Plätze der Top 5 weisen dagegen keine Abweichungen auf. Außer dem Nintendo DS, der von Platz 1 auf Platz 5 abrutscht, hat nur die XboX360 ihre Position in der Rangliste verändert.

Haben etablierte, ältere Plattformen mehr Verkäufe als Plattformen, die neu auf den Markt kommen?

Beim Betrachten beider Diagramme oder sogar nur einem der Diagramme erkennt der aufmerksam Betrachtende relativ schnell, dass hier keine Pauschalantwort auf diese Fragestellung möglich ist. Dies war allerdings zu erwarten, da es unzählige Faktoren sind, die den Erfolg einer bestimmten Plattform bestimmen, und es ist unmöglich wäre, einen Erfolgs-Faktor festzulegen. Die Frage nach der „besten“ Platform konnte allerdings – zumindest teilweise – belegt werden. Die PS2 ist sowohl bei der Zahl der Spiele, als auch bei der Zahl der Verkäufe Spitzenreiter. Obwohl der Nintendo DS bei der Zahl der Spiele knapp vor der PS2 liegt, ist der NIntendeo DS bei der Zahl der Verkäufe weit abgeschlagen auf Platz 5. Da zur Beantwortung der Ausgangsfrage wohl ausschlaggebender zum Vergleich die Anzahl der verkauften Spiele pro Medium wäre, hierzu Weiteres im Ausblick in die Zukunft

Auch hier kritische Anmerkungen zur Verwendbarkeit des Datensatzes. Weiteres im Fazit.


Regionale Unterschiede der Verkaufszahlen der Plattformen

Nun soll die Fragen geklärt werden, ob es regionale Unterschiede der Verkausfzahlen gibt. + Gibt es regionale Unterschiede im Nutzerverhalten bei Plattformen? + Verkaufen die regionalen Plattformen regelmäßig auch mehr Spiele?

Hierbei werden die Verkaufszahlen herangezogen, Theoretisch wäre auch ein Vergleich der Anzahl der Spiele denkbar. Würde den Umfang dieser Arbeit aber sprengen, da der Datensatz diese Informationen nicht ohne weiteres hergibt.

Auch zum Beantworten dieser Frage werden Paretodiagramme genutzt und um sich einen ersten Überblick zu verschaffen Kreisdiagramme. Letztere haben ihre eigenen Probleme, bieten aber ein gutes Tool zur groben Übersicht über die Prozentualverteilung der Konsolen und bietet Abwechslung in diese bisher sehr balkendiagrammlastige Ausarbeitung.

Einzuwenden ist hierbei, dass die Regionen natürlich unterschiedlich viele Einwohnerinnen und Einwohner haben. Ein Vergleich der absoluten Verkaufswerte ohne Berücksichtigung der Einwohnerzahl ist daher nur bedingt aussagekräftig, zeigt aber einen groben Beliebtheitstrend der Konsolen in den einzelnen Regionen.

Plattformvergleich

Balkendiagramme

Auf die Erstellung der Paretodiagramme wird an dieser Stelle nicht mehr genauer eingegangen, da das Grundprinzip weiterhin das gleiche bleibt.Einziger Unterschied zwischen den verschiedenen Diagrammen ist hierbei der Wert in der „summarize“-Funktion summarize(sum(EU_Sales)) EU_Sales für EU NA_SALES für US und JP_SALES“ für Japan sowie der Titel und die Achsenbeschriftungen. Eine genaue Erläuterung zur Erstellung von Paretodiagrammen findet sich hier.

Europa

grouped <- vgsales  %>% 
  group_by(Platform) %>% 
  summarize(sum(EU_Sales))  %>%
rename(
    Global_Sales = "sum(EU_Sales)"
    )
grouped$Global_Sales<-as_vector(grouped$Global_Sales)
ordered <- grouped[order(grouped$Global_Sales), decreasing = FALSE]
ordered$Platform <- as_factor(ordered$Platform)


ax <- list(
  title = "Platform"
)

ay <- list(
  title = "EU verkäufe (in mio)"

)


ordered%>%
  plot_ly() %>% 
  add_bars(x=~fct_reorder(Platform,Global_Sales, .desc=TRUE),
           y=~Global_Sales,
           name="EU Verkaufszahlen pro Platform" ,colors = myPalette) %>% 
  layout(title="EU Verkaufszahlen pro Platform",
         xaxis = ax,
         yaxis = ay
         )

Die Auswertung zeigt, dass - während die PS2 im globalen Durchschnitt noch deutlich die Nase vorne hatte - in Europa (EU) die PS3 (343.71), noch vor der PS2 (339.29) liegt. Beide liegen mit einem recht weiten Vorsprung vor den Plätzen 3 (280.58) und 4 (268.38), die von der Xbox360 und der Wii belegt werden. Die erste Playstation (213.6) sichert sich in Europa immerhin einen Platz in den Top 5 und auch die PS4 (123.7) rückt gegenüber dem globalen Ranking einen Platz nach vorn. Den wohl größten Unterschied weist in Europa allerdings der PC (139.68) auf. Ist dieser global auf Platz 10, belegt er in Europa Platz 7. Auch außerhalb der Top 10 gibt es Unterschiede im Ranking. Aufgrund des eher geringeren Marketshares wird allerdings von einer genaueren Analyse abgesehen.

Zusammenfassend kann festgestellt werden, dass in Europa Sony-Konsolen sowie der PC überdurchschnittlich gerne genutzt werden.

Nord-Amerika

grouped <- vgsales  %>% 
  group_by(Platform) %>% 
  summarize(sum(NA_Sales))  %>%
rename(
    Global_Sales = "sum(NA_Sales)"
    )
grouped$Global_Sales<-as_vector(grouped$Global_Sales)
ordered <- grouped[order(grouped$Global_Sales), decreasing = FALSE]
ordered$Platform <- as_factor(ordered$Platform)


ax <- list(
  title = "Platform"
)

ay <- list(
  title = "NA verkäufe (in mio)"

)


ordered%>%
  plot_ly() %>% 
  add_bars(x=~fct_reorder(Platform,Global_Sales, .desc=TRUE),
           y=~Global_Sales,
           name="NA Verkaufszahlen pro Platform" ,colors = myPalette) %>% 
  layout(title="NA Verkaufszahlen pro Platform",
         xaxis = ax,
         yaxis = ay
         )

Im direkten Vergleich mit den EU-Daten fällt hier ins Auge, dass die Playstation 2 (583,84) auch hier vom ersten Platz verdrängt wurde, allerdings Microsofts Xbox360 (601.05) hier Sonys Playstation 3 (392,26) auf dem ersten Platz ablöst. Auch die Wii (507,71) weist erkennbar mehr Verkäufe auf, als in Europa. PS4 (96,8) und PC-Spiele (93,28) verkauften sich in Nord-Amerika deutlich schlechter als in Europa. Die restlichen Plattformen wiesen in ihrer Verteilung keine Unterschiede auf.

Japan

grouped <- vgsales  %>% 
  group_by(Platform) %>% 
  summarize(sum(JP_Sales))  %>%
rename(
    Global_Sales = "sum(JP_Sales)"
    )
grouped$Global_Sales<-as_vector(grouped$Global_Sales)
ordered <- grouped[order(grouped$Global_Sales), decreasing = FALSE]
ordered$Platform <- as_factor(ordered$Platform)


ax <- list(
  title = "Platform"
)

ay <- list(
  title = "JP verkäufe (in mio)"

)


ordered%>%
  plot_ly() %>% 
  add_bars(x=~fct_reorder(Platform,Global_Sales, .desc=TRUE),
           y=~Global_Sales,
           name="JP Verkaufszahlen pro Platform" ,colors = myPalette) %>% 
  layout(title="JP Verkaufszahlen pro Platform",
         xaxis = ax,
         yaxis = ay
         )

Japan ist wohl der größte Ausreißer der drei Regionen: Hier führt der Nintendo DS (175,57) die Liste an. Auch der Abstand auf Platz 2 ist hier größer als in den anderen Regionen und wird nicht von der Playstation 2 (Platz 3), sondern von der Playstation 1 belegt. Groß ist der Abstand zwischen PS2 (139,2) und PS1 (139,82) jedoch nicht. Sonys beide Konsolen sind hier auch die einzigen Nicht-Nintendo-Konsolen in den Top 7. Allgemein liegt hier ein großer Fokus auf japanische Unternehmen: Die erste, nicht japanische Konsole, die Xbox 360 (12,43), ist auf Platz 17. Japanische Unternehmen sind auf dem Spielemarkt weltweit verbreitet. Doch ein so extremes Verhältnis zwischen japanischen und nicht japanischen Plattformen ist global nicht die Norm. Hier kann ein Kreisdiagramm die Verhältnisse deutlicher machen.

Kreisdiagramme

Da wir bisher noch keine Kreisdiagramme genutzt haben schauen wir uns erst mal die Unterschiede in der Diagrammerstellung an bevor wir uns auf die Analyse ebenjener Diagramme stürzen. Der einfachheit halber schauen wir uns das ganze nur am Beispiel Europa an, die anderen Diagramme unterscheiden sich aber nur in dem Wert in der summarize funktion sowie den Achsen- und der Diagrbeschriftung. Der Grundaufbau der Diagramm erstellung ist hier wieder ähnlich wie bei den Paretodiagrammen. Zuerst gruppieren wir die Daten, sortieren sie nach Anzahl der Verkäufe und erstellen unsere Achsenbeschriftungen. Danach zum interessanten Teil der Diagrammerstellung welcher sich eigentlich auch nicht groß von den Paretodiagrammen unterscheidet. Wir übergeben unsere Sortierten Daten an Plot_ly() und verwenden die Funktion add_pie mit entsprechenden Parametern zur Diagramm erstellung. Diese unterscheiden sich etwas von den Paretodiagrammen. Values sind hierbei die Werte, die die Größe und labels die Bezeichnung der “Kuchenstücke” festlegen. Der letzte interessante Parameter ist textinfo mit welchem Festgelegt wird was als text in den Abschnitten aufgeführt wird. In unserem Beispiel nutzen wir hier textinfo=‘label+percent’ umd sowohl die Bezeichnungen als auch den Genauen Prozentwert anzuzeigen.

Europa

grouped <- vgsales  %>% 
  group_by(Platform) %>% 
  summarize(sum(EU_Sales))  %>%
rename(
    Global_Sales = "sum(EU_Sales)"
    )
grouped$Global_Sales<-as_vector(grouped$Global_Sales)
ordered <- grouped[order(grouped$Global_Sales), decreasing = FALSE]
ordered$Platform <- as_factor(ordered$Platform)


ax <- list(
  title = "Platform"
)

ay <- list(
  title = "EU verkäufe (in mio)"

)

ordered%>%
  plot_ly() %>% 
  add_pie(values =~Global_Sales,labels=~Platform,textinfo='label+percent',  textposition = 'inside',
           name="EU Verkaufszahlen pro Platform" ,colors = myPalette) %>% 
  layout(title="EU Verkaufszahlen pro Platform",
         xaxis = ax,
         yaxis = ay,
         showlegend = FALSE,
         autosize = F
         )

Ohne direkte Globale vergleichsdiagramme können wir hier im ersten Schritt noch keine großartigen Aussagen treffen werden aber im späteren Verlauf auf diese eingehen. Was wir hier allerdings gut erkennen Können ist, dass die größten vier Platformen hier 50.5% der Gesamtverkäufe ausmachen und Sonys Konsolen sogar 28%.

Nord-Amerika

grouped <- vgsales  %>% 
  group_by(Platform) %>% 
  summarize(sum(NA_Sales))  %>%
rename(
    Global_Sales = "sum(NA_Sales)"
    )
grouped$Global_Sales<-as_vector(grouped$Global_Sales)
ordered <- grouped[order(grouped$Global_Sales), decreasing = FALSE]
ordered$Platform <- as_factor(ordered$Platform)


ax <- list(
  title = "Platform"
)

ay <- list(
  title = "NA verkäufe (in mio)"

)


ordered%>%
  plot_ly() %>% 
  add_pie(values =~Global_Sales,labels=~Platform,textinfo='label+percent', textposition = 'inside',
           name="NA Verkaufszahlen pro Platform" ,colors = myPalette) %>% 
  layout(title="NA Verkaufszahlen pro Platform",
         xaxis = ax,
         yaxis = ay,
         showlegend = FALSE,
         autosize = F
         )

Beim betrachten des Diagrammes für Amerika sehen wir das die Top 4, welche weiterhin aus XboX360 Wii Ps2 und PS3 bestehen, nur noch 47.53% ausmachen. Größter Verlierer sind hier Sonys Konsolen, welche nur noch 22.23% ausmachen.

Japan

grouped <- vgsales  %>% 
  group_by(Platform) %>% 
  summarize(sum(JP_Sales))  %>%
rename(
    Global_Sales = "sum(JP_Sales)"
    )
grouped$Global_Sales<-as_vector(grouped$Global_Sales)
ordered <- grouped[order(grouped$Global_Sales), decreasing = FALSE]
ordered$Platform <- as_factor(ordered$Platform)


ax <- list(
  title = "Platform"
)

ay <- list(
  title = "JP verkäufe (in mio)"

)


ordered%>%
  plot_ly() %>% 
  add_pie(values =~Global_Sales,labels=~Platform,textinfo='label+percent', textposition = 'inside',
           name="JP Verkaufszahlen pro Platform" ,  rotation = 40, colors = myPalette) %>% 
  layout(title="JP Verkaufszahlen pro Platform",
         xaxis = ax,
         yaxis = ay,
         showlegend = FALSE,
         autosize = F
         
         )

In Japan machen die Top 4 44.23% aus bestehen aber bis auf die PS2 aus gänzlich anderen Konsolen. Da Sonys PS3 von der PS ersetzt wird halten diese weiterhin 21.6% der Top 4. Nintendo holt sich hier jedoch den Größten Anteil mit 22.63%. Ein vergleich dieser Werte ist jedoch, wie bereits im Vorspann der Platform Rankings erwähnt mit Problemen gehaft. Genaueres hierzu wie bereits erwähnt im Fazit.


Verkaufszahlen der Plattformen im Laufe der Jahre

Nachdem wir uns die regionale Verteilung der Plattformen angeschaut haben, wird nun die Frage bearbeitet, ob es im Laufe der Jahre Unterschiede in der Zahl der Verkäufe gibt.

Hierzu wird eine bisher noch nicht verwendete Art der Grafik genutzt. Zum Erstellen der Grafik werden zuerst wieder die Daten gruppiert und die Zahl der Verkäufe/Sales pro Jahr addiert. Zusätzlich zum Filter für ungültige Jahre werden hierbei auch alle Summen mit weniger als 60 Millionen Verkäufe/Sales herausgefiltert, um eine Überladung des Diagramms zu verhindern. Dies führt aber zu anderen Problemen. Neu bei der Erstellung dieses Diagramms sind die Befehle arrange() und slice(). „Arrange“ sortiert dabei die Tabelle anhand der gegebenen Spalte, im vorliegenden Fall die Summe der globalen Verkäufe. „Slice“ entfernt Spalten, die nicht verwendet werden sollen. Ebenfalls neu sind hier die Parameter mode = ‘none’ sowie stackgroup = ‘one’ welche die hier dargestellte Grafik erzeugen:

grouped <- vgsales  %>%                                 
  group_by(Year, Platform) %>%
  dplyr::summarize(gr_sum = sum(Global_Sales)) %>% filter(Year!='N/A')%>%filter(Year!=2020) %>% filter(Year!='2017')  %>% filter(gr_sum>60)%>%
  as.data.frame()
grouped <- grouped %>%arrange(desc(gr_sum)) %>% 
  group_by(Year, Platform) %>%
  slice(1:3)

filtered <- grouped %>% select(Year,Platform,gr_sum)
ax <- list(
  title = "Jahr"
)

ay <- list(
  title = "verkäufe pro Platform (in mio)"

)


filtered %>%
plot_ly(x = ~Year, y = ~gr_sum, type = 'scatter', mode = 'none', stackgroup = 'one',color = ~Platform ,colors = myPalette)%>% 
  layout(title="Verkäufe pro Platform von 1980-2016",
         xaxis = ax,
         yaxis = ay
         )

Auch wenn die Grafik im ersten Moment verwirrend wirkt, ist auffallend, dass die Jahre 1980-1988 sowie 1990-2005 und 2016 fehlen. Dies liegt an den oben dargestellten Filtern und den in diesen Jahren pro Plattform zu geringen Verkaufszahlen.

Zwischen den Jahren 1996 und 2000 erscheint nur die erste Playstation, welche 1994 veröffentlicht wurde. Im Jahre 2000 wird diese dann von der Playstation 2, welche am 04.03.2000 releast wurde, abgelöst. Der Faktor „Release-Datum“ wird auch beim Gameboy Advanced - hier in den Jahren 2000-2003 sowie 2004 - erkennbar, obwohl dieser weltweit erst Mitte des Jahres 2001 releast wurde. 2004 wird die Playstation 2 dann von der Xbox, welche am 22.02.2002 erstmals veröffentlich wurde, kurzzeitig abgelöst. Bevor die Wii (Release: 02.12.2006) mit nur einem Verkaufsmonat des Jahres 2006 die Führung übernimmt. Auch die guten Verkaufszahlen des Nintendo DS (Release: 02.12.2004) sind in den Jahren 2005-2010 erkennbar. Die XboX360 (Release: 10.12.2005) übernimmt ab 2007 den ersten Platz der Rangliste und wird erst 2014 von der PS4 (Release: 15.11.2013) abgelöst.

Allgemein ist hier ein deutlicher Trend erkennbar: Die am häufigsten verkauften Plattformen verkaufen nach ihrem Release die meisten Spiele. Erstaunlicherweise ist dies jedoch nicht kurz nach Release, sondern zeitversetzt - z.T. erst einige Jahre später- der Fall. Interessant wäre hier eine detaillierte Analyse, weiteres dazu hier.


Publisher-Vergleich

Nach der Übersicht über die Plattformen, wird nun ein Vergleich der Entwickler/Publisher vorgenommen. Anzunehmen wäre, dass namenhafte Publisher - wie EA und Nintendo - die Liste anführen. Auch hier werden Paretodiagramme verwendet. Genaueres zur Erstellung findet sich hier. Die Begriffe “Entertainment”, “Interactive”, “Game”, “Games” und “Studios” sind vorliegend jeweils gekürzt, da dies die Namen nur unnötig verlängern würde. Hierzu genutzt wird die Funktion str_remove_all() auf die Spalte „Publisher“.

Publisher

nach Anzahl

grouped <- vgsales  %>% 
  group_by(Publisher) %>% 
  summarize(Anzahl =n()) %>%  
  filter(Anzahl>100) %>% filter(Publisher!="Unknown")




PublisherSales <- vgsales %>% 
  group_by(Publisher) %>% 
  summarize(sum(Global_Sales)) %>%
rename(
    Global_Sales = "sum(Global_Sales)"
    ) %>% filter(Global_Sales>300)



grouped <- grouped  %>% filter(Publisher %in% PublisherSales$Publisher)


ordered <- grouped[order(grouped$Anzahl), decreasing = FALSE]
ordered$Publisher <-str_remove_all(ordered$Publisher, "Entertainment")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Interactive")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Studios")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Games")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Game")
ordered$Publisher <- as_factor(ordered$Publisher)


ax <- list(
  title = "Publisher"
)

ay <- list(
  title = "Anzahl"
)
ordered%>%
  plot_ly() %>% 
  add_bars(x=~fct_reorder(Publisher,Anzahl, .desc=TRUE),
           y=~Anzahl,
           name="Spiele Anzahl pro Publisher"
           ,colors = myPalette) %>% 
  layout(title="Spiele Anzahl pro Publisher",
         xaxis = ax,
         yaxis = ay
         
         )

Wenig überraschend ist die Anzahl der Spiele Releases bei EA (1351) mit jährlich veröffentlichten namenhaften Spielen, wie FIFA und Madden NFL sowie anderen bekannten Reihen wie Need for Speed, Battlefield oder Sims, Anführer im Ranking. An zweiter Stelle findet sich Activision-Blizzard (975), die unter anderem Spiele wie World of Warcraft, die Diablo-Reihe sowie Candy Crush entwickelt haben. Zum Zeitpunkt der Erstellung dieser Arbeit ist Activision noch eigenständig, wird allerdings voraussichtlich 2023 Teil von Microsoft. Im Ranking folgen in kurzen Abständen Ubisoft (921), welche für Assassin’s Creed, Rainbow six oder Anno bekannt sind, sowie THQ (715), mit ihren Produkten Gothic, Darksiders und TitanQuest. Auch Nintendo (703) mit Mario, Pokemon und Zelda sowie Sony (638), bekannt durch die „Gran Tourismo“- und Uncharted-Reihe sowie The Last of Us, sind nicht weit abgeschlagen. Den letzten Platz der Top-Publisher belegt Take-Two (413), die für GTA, Borderlands und Civilization bekannt sind.

nach Verkaufszahlen

grouped <- vgsales  %>% 
  group_by(Publisher) %>% 
  summarize(Anzahl =n(),sum(Global_Sales)) %>%
  filter(Anzahl>100) %>%
rename(
    Global_Sales = "sum(Global_Sales)"
    )

PublisherSales <- vgsales %>% 
  group_by(Publisher) %>% 
  summarize(sum(Global_Sales)) %>%
rename(
    Global_Sales = "sum(Global_Sales)"
    ) %>% filter(Global_Sales>300)



grouped <- grouped  %>% filter(Publisher %in% PublisherSales$Publisher)
grouped$Global_Sales<-as_vector(grouped$Global_Sales)
ordered <- grouped[order(grouped$Global_Sales), decreasing = FALSE]
ordered$Publisher <-str_remove_all(ordered$Publisher, "Entertainment")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Interactive")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Studios")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Games")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Game")
ordered$Publisher <- as_factor(ordered$Publisher)


ax <- list(
  title = "Publisher"
)

ay <- list(
  title = "Verkäufe (in mio)"

)


ordered%>%
  plot_ly() %>% 
  add_bars(x=~fct_reorder(Publisher,Global_Sales, .desc=TRUE),
           y=~Global_Sales,
           name="Verkaufszahlen pro Publisher"
           ,colors = myPalette) %>% 
  layout(title="Verkaufszahlen pro Publisher",
         xaxis = ax,
         yaxis = ay
         )

Beim Betrachten der Verkaufszahlen fällt hier direkt die diskrepanz zwischen Anzahl der Spielereleases und Anzahl der Spieleverkäufe auf. Im gegensatz zu der Anzahl der Spiele (bei dem Nintendo nur auf platz 6 Sitz) dominiert Nintendo(1.786 mrd) in Sales. EA (1.1 mrd), welche noch mit Abstand die meisten spielreleases hatten sind in den Verkäufen nur noch mit deutlichem Abstand auf Platz 2. Auch die anderen Plätze verändern sich leicht die Unterschiede sind hier jedoch deutlich geringer als bei Nintendo und EA. Interessant wäre hierzu vielleicht noch ein direkter vergleich zwischen Anzahl und Sales aber genaueres dazu im Fazit


Publisher-Ranking nach Region

Nach dem allgemeinen Überblick über die Publisher werden auch hier regionale Unterschiede in den Verkaufszahlen untersucht. Verwendet hierzu die bereits bekannten Schemata der Pareto- und Kreisdiagramm kombo. Einen Refresher für die Erstellung dieser Diagramme über die Links.

Ranking nach Region

Balkendiagramme

Europa

grouped <- vgsales  %>% 
  group_by(Publisher) %>% 
  summarize(Anzahl =n(),sum(EU_Sales)) %>%
  filter(Anzahl>100) %>%
rename(
    Global_Sales = "sum(EU_Sales)"
    )

PublisherSales <- vgsales %>% 
  group_by(Publisher) %>% 
  summarize(sum(Global_Sales)) %>%
rename(
    Global_Sales = "sum(Global_Sales)"
    ) %>% filter(Global_Sales>300)



grouped <- grouped  %>% filter(Publisher %in% PublisherSales$Publisher)


grouped$Global_Sales<-as_vector(grouped$Global_Sales)
ordered <- grouped[order(grouped$Global_Sales), decreasing = FALSE]
ordered$Publisher <-str_remove_all(ordered$Publisher, "Entertainment")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Interactive")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Studios")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Games")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Game")
ordered$Publisher <- as_factor(ordered$Publisher)


ax <- list(
  title = "Publisher"
)

ay <- list(
  title = "EU verkäufe (in mio)"

)

ordered%>%
  plot_ly() %>% 
  add_bars(x=~fct_reorder(Publisher,Global_Sales, .desc=TRUE),
           y=~Global_Sales,
           name="EU Verkaufszahlen pro Publisher"
           ,colors = myPalette) %>% 
  layout(title="EU Verkaufszahlen pro Publisher",
         xaxis = ax,
         yaxis = ay
         )

Im Vergleich zu den globalen Verkaufszahlen fällt hier auf, dass EA (371.27 Mio.) hierbei deutlich dichter hinter Nintendo (418.74 Millionen.) auf dem zweiten Platz ist. Der Abstand zwischen EA und Activision (215.53) ist dementsprechend auch deutlich größer. Die restlichen Werte dagegen unterscheiden sich kaum.

Nord Amerika

grouped <- vgsales  %>% 
  group_by(Publisher) %>% 
  summarize(Anzahl =n(),sum(NA_Sales)) %>%
  filter(Anzahl>100) %>%
rename(
    Global_Sales = "sum(NA_Sales)"
    )

PublisherSales <- vgsales %>% 
  group_by(Publisher) %>% 
  summarize(sum(Global_Sales)) %>%
rename(
    Global_Sales = "sum(Global_Sales)"
    ) %>% filter(Global_Sales>300)



grouped <- grouped  %>% filter(Publisher %in% PublisherSales$Publisher)

grouped$Global_Sales<-as_vector(grouped$Global_Sales)
ordered <- grouped[order(grouped$Global_Sales), decreasing = FALSE]
ordered$Publisher <-str_remove_all(ordered$Publisher, "Entertainment")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Interactive")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Studios")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Games")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Game")
ordered$Publisher <- as_factor(ordered$Publisher)


ax <- list(
  title = "Publisher"
)

ay <- list(
  title = "NA verkäufe (in mio)"

)

ordered%>%
  plot_ly() %>% 
  add_bars(x=~fct_reorder(Publisher,Global_Sales, .desc=TRUE),
           y=~Global_Sales,
           name="NA Verkaufszahlen pro Publisher"
           ,colors = myPalette) %>% 
  layout(title="NA Verkaufszahlen pro Publisher",
         xaxis = ax,
         yaxis = ay
         )

Auch in Nord Amerika kann EA(595.07) leicht größere Verkaufszahlen im vergleich mit Nintendo (816.87) als noch Global verbuchen. Im gegensatz zu Europa scheint jedoch Activision (429.7) in Amerika deutlich beliebter zu sein. Die weiteren Publisher sind auch weiterhin nicht Relevant.

Japan

grouped <- vgsales  %>% 
  group_by(Publisher) %>% 
  summarize(Anzahl =n(),sum(JP_Sales)) %>%
  filter(Anzahl>100) %>%
rename(
    Global_Sales = "sum(JP_Sales)"
    )

PublisherSales <- vgsales %>% 
  group_by(Publisher) %>% 
  summarize(sum(Global_Sales)) %>%
rename(
    Global_Sales = "sum(Global_Sales)"
    ) %>% filter(Global_Sales>300)



grouped <- grouped  %>% filter(Publisher %in% PublisherSales$Publisher)

grouped$Global_Sales<-as_vector(grouped$Global_Sales)
ordered <- grouped[order(grouped$Global_Sales), decreasing = FALSE]
ordered$Publisher <-str_remove_all(ordered$Publisher, "Entertainment")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Interactive")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Studios")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Games")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Game")
ordered$Publisher <- as_factor(ordered$Publisher)


ax <- list(
  title = "Publisher"
)

ay <- list(
  title = "JP verkäufe (in mio)"

)

ordered%>%
  plot_ly() %>% 
  add_bars(x=~fct_reorder(Publisher,Global_Sales, .desc=TRUE),
           y=~Global_Sales,
           name="JP Verkaufszahlen pro Publisher"
           ,colors = myPalette) %>% 
  layout(title="JP Verkaufszahlen pro Publisher",
         xaxis = ax,
         yaxis = ay
         )

Japan Zeigt hier wohl den Deutlichsten unterschied auf. Nintendo (455.42) Dominiert hier die Verkaufszahlen mit der mehr als 6 fachen menge an verkäufen als Sony (74.1) welche sich den 2. Platz sichern. Die anderen Publisher sind alle fast gleich irrelevant in Japan.

Kreisdiagramme

Europa

grouped <- vgsales  %>% 
  group_by(Publisher) %>% 
  summarize(Anzahl =n(),sum(EU_Sales)) %>%
  filter(Anzahl>100) %>%
rename(
    Global_Sales = "sum(EU_Sales)"
    )

PublisherSales <- vgsales %>% 
  group_by(Publisher) %>% 
  summarize(sum(Global_Sales)) %>%
rename(
    Global_Sales = "sum(Global_Sales)"
    ) %>% filter(Global_Sales>300)



grouped <- grouped  %>% filter(Publisher %in% PublisherSales$Publisher)

grouped$Global_Sales<-as_vector(grouped$Global_Sales)
ordered <- grouped[order(grouped$Global_Sales), decreasing = FALSE]
ordered$Publisher <-str_remove_all(ordered$Publisher, "Entertainment")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Interactive")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Studios")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Games")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Game")
ordered$Publisher <- as_factor(ordered$Publisher)


ax <- list(
  title = "Publisher"
)

ay <- list(
  title = "EU verkäufe (in mio)"

)

ordered%>%
  plot_ly() %>% 
  add_pie(values =~Global_Sales,labels=~Publisher,
           name="EU Verkaufszahlen pro Publisher"
          ,colors = myPalette) %>% 
  layout(title="EU Verkaufszahlen pro Publisher",
         xaxis = ax,
         yaxis = ay
         )

Im vergleich zu den Globalen Verkaufszahlen fällt hier auf das EA (23.7%) deutlich dichter hinter Nintendo(26.7%) auf dem Zweiten Platz ist. Der Abstand zwischen EA und Activision (13.7%) ist dementsprechend auch deutlich größer. Die restlichen werte unterscheiden sich kaum.

Nord-Amerika

grouped <- vgsales  %>% 
  group_by(Publisher) %>% 
  summarize(Anzahl =n(),sum(NA_Sales)) %>%
  filter(Anzahl>100) %>%
rename(
    Global_Sales = "sum(NA_Sales)"
    )

PublisherSales <- vgsales %>% 
  group_by(Publisher) %>% 
  summarize(sum(Global_Sales)) %>%
rename(
    Global_Sales = "sum(Global_Sales)"
    ) %>% filter(Global_Sales>300)



grouped <- grouped  %>% filter(Publisher %in% PublisherSales$Publisher)

grouped$Global_Sales<-as_vector(grouped$Global_Sales)
ordered <- grouped[order(grouped$Global_Sales), decreasing = FALSE]
ordered$Publisher <-str_remove_all(ordered$Publisher, "Entertainment")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Interactive")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Studios")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Games")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Game")
ordered$Publisher <- as_factor(ordered$Publisher)


ax <- list(
  title = "Publisher"
)

ay <- list(
  title = "NA verkäufe (in mio)"

)

ordered%>%
  plot_ly() %>% 
  add_pie(values =~Global_Sales,labels=~Publisher,textinfo='label+percent',
           name="NA Verkaufszahlen pro Publisher"
          ,colors = myPalette) %>% 
  layout(title="NA Verkaufszahlen pro Publisher",
         xaxis = ax,
         yaxis = ay
         )

Auch in Nord Amerika kann EA(21.3%) leicht größere Verkaufszahlen im vergleich mit Nintendo (29.3%) als noch Global verbuchen diese sind jedoch geringer als noch in Europa. Im gegensatz zu Europa scheint jedoch Activision (15.4%) in Amerika deutlich beliebter zu sein. Die weiteren Publisher sind auch weiterhin nicht Relevant.

Japan

grouped <- vgsales  %>% 
  group_by(Publisher) %>% 
  summarize(Anzahl =n(),sum(JP_Sales)) %>%
  filter(Anzahl>100) %>%
rename(
    Global_Sales = "sum(JP_Sales)"
    )

PublisherSales <- vgsales %>% 
  group_by(Publisher) %>% 
  summarize(sum(Global_Sales)) %>%
rename(
    Global_Sales = "sum(Global_Sales)"
    ) %>% filter(Global_Sales>300)



grouped <- grouped  %>% filter(Publisher %in% PublisherSales$Publisher)

grouped$Global_Sales<-as_vector(grouped$Global_Sales)
ordered <- grouped[order(grouped$Global_Sales), decreasing = FALSE]
ordered$Publisher <-str_remove_all(ordered$Publisher, "Entertainment")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Interactive")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Studios")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Games")
ordered$Publisher <-str_remove_all(ordered$Publisher, "Game")
ordered$Publisher <- as_factor(ordered$Publisher)


ax <- list(
  title = "Publisher"
)

ay <- list(
  title = "JP verkäufe (in mio)"

)

ordered%>%
  plot_ly() %>% 
  add_pie(values =~Global_Sales,labels=~Publisher,
           name="JP Verkaufszahlen pro Publisher"
          ,colors = myPalette) %>% 
  layout(title="JP Verkaufszahlen pro Publisher",
         xaxis = ax,
         yaxis = ay
         )

Japan Zeigt hier wohl den Deutlichsten unterschied auf. Nintendo (80.1%) Dominiert hier die Verkaufszahlen mit der mehr als 6 fachen menge an verkäufen als Sony (13%) welche sich den 2. Platz sichern. Die anderen Publisher sind mit weniger als 2.5% alle fast gleich irrelevant in Japan.

Zwischen den EU- und US-Werten lassen sich hier kaum Unterschiede feststellen, während in Japan eine deutliche Verschiebung zu erkennen ist. Hier führen japanische Publisher das Ranking an und verdrängen andere, große Unternehmen von den Top-Rängen.

Hieraus ist zu folgern, dass manche Regionen - hier vor allem Japan, welches jedoch im Vergleich die kleinste Region ist - abweichend von der globalen Präferenz deutliche Vorlieben für Spiele bestimmter Publisher haben. Eine genauere Analyse von Europa und Nordamerika durch eine weitere Unterteilung in Länder/Staaten liefert vermutlich weitere, interessante Einblicke, die Daten hierzu liegen jedoch leider nicht vor.


Genreverteilung der Videospiele nach Anzahl

Da belegbar bestimmte Publisher beliebter sind als andere, wird nun überprüft, ob bestimmte Spiele-Genres beliebter sind als andere. Hierzu zunächst ein Vergleich der Genres nach Anzahl der Spielereleases. Hierzu wird ein Pareto- und Kreisdiagramm verwendet. Anmerkung: Auch wenn Spiele meist mehr als einem Genre angehören, ist hier jeweils nur das Haupt-Genre angegeben.

Genre nach Anzahl

Balkendiagramm

grouped <- vgsales  %>% 
  group_by(Genre) %>% 
  summarize(Anzahl =n())

grouped$Anzahl<-as_vector(grouped$Anzahl)
ordered <- grouped[order(grouped$Anzahl), decreasing = FALSE]
ordered$Genre <- as_factor(ordered$Genre)


ax <- list(
  title = "Genre"
)

ay <- list(
  title = "Anzahl"

)

ordered%>%
  plot_ly() %>% 
  add_bars(x=~fct_reorder(Genre,Anzahl, .desc=TRUE),
           y=~Anzahl,
           name="Videospielanzahl nach Genre"
           ,colors = myPalette) %>% 
  layout(title="Videospielanzahl nach Genre",
         xaxis = ax,
         yaxis = ay
         )

Der Anführer des Ranking ist mit deutlichem Abstand Action (GTA, Bloodborne) mit 3316. Auf dem zweiten Platz findet sich Sports (2346) mit Reihen wie FIFA und NBA2k. Den dritten Platz belegt ein Genre, das aus vielen verschiedenen Genres besteht, die in dieser Liste nicht aufgeführt werden, mit 1739. Misc beinhaltet Spiele wie Just Dance (Musik/Rhythmus) oder Minecraft ein Sandbox Survival game. Danach kommen mit geringerem Abstand in der Reihenfolge des Ranking Role-Playing (Witcher, The Elder Scrolls) mit 1488, Shooter (Call of Duty, Doom) mit 1310, Adventure (God of War, Life is Strange) mit 1286 und Racing (Gran Tourismo, Forza) mit 1249. Mit größeren Abstand folgen Platform (Super Mario, LittleBigPlanet) mit 886, Simulation (Sims, Microsoft Flight Simulator) mit 867 sowie Fighting (Tekken, Super Smash Bros) mit 884. Als Letzte im Ranking erscheinen Strategy (Age of Empires, Civilisation) mit 681 sowie Puzzle (Portal,Tetris) mit 582.

Kreisdiagramm

grouped <- vgsales  %>% 
  group_by(Genre) %>% 
  summarize(Anzahl =n())

grouped$Anzahl<-as_vector(grouped$Anzahl)
ordered <- grouped[order(grouped$Anzahl), decreasing = FALSE]
ordered$Genre <- as_factor(ordered$Genre)


ax <- list(
  title = "Genre"
)

ay <- list(
  title = "Anzahl"

)

ordered%>%
  plot_ly() %>% 
  add_pie(values =~Anzahl,labels=~Genre,
           name="Videospielanzahl nach Genre"
          ,colors = myPalette) %>% 
  layout(title="Videospielanzahl nach Genre",
         xaxis = ax,
         yaxis = ay
         )

Der Anführer des Ranking ist mit deutlichem Abstand Action (GTA, Bloodborne) mit 20%. Auf dem zweiten Platz findet sich Sports (14.1%) mit Reihen wie FIFA und NBA2k. Den dritten Platz belegt ein Genre, das aus vielen verschiedenen Genres besteht, die in dieser Liste nicht aufgeführt werden, mit 10.5%. Misc beinhaltet Spiele wie Just Dance (Musik/Rhythmus) oder Minecraft ein Sandbox Survival game. Danach kommen mit geringerem Abstand in der Reihenfolge des Ranking Role-Playing (Witcher, The Elder Scrolls) mit 8.96%, Shooter (Call of Duty, Doom) mit 7.89%, Adventure (God of War, Life is Strange) mit 7.75% und Racing (Gran Tourismo, Forza) mit 7.53%. Mit größeren Abstand folgen Platform (Super Mario, LittleBigPlanet) mit 5.43%, Simulation (Sims, Microsoft Flight Simulator) mit 5.22% sowie Fighting (Tekken, Super Smash Bros) mit 5.11%. Als Letzte im Ranking erscheinen Strategy (Age of Empires, Civilisation) mit 4.1% sowie Puzzle (Portal,Tetris) mit 3.52%.

Zusammenfassend auffällig ist, dass die größten vier Genres über die Hälfte (53.56 %) der Spielereleases ausmachen. Dies ist eigentlich nicht weiter verwunderlich, da auch in der Spieleindustrie das Konzept Funktionierendes weiterzumachen („Never change a winning team“) genutzt werden wird. Dies ist vor allem auffällig bei Spielen, die ganze Genres prägen. Sei es Minecraft für die Survival-Games (DayZ, Rust), World of Warcraft für die MMORPG’s (Final Fantasy 14, Guild Wars 2) oder die Warcraft 3 mod Dota welche das MOBA genre (League of Legends, Dota 2) nach sich gezogen hat.


Genreverteilung der Videospiele nach Verkaufszahlen

Um der Frage nachzugehen, ob die Verkaufszahlen der Videospiele die gleichen oder andere Korrelationen aufzeigen wie die Genreverteilungen wird wieder ein Pareto- und Kreisdiagramm genutzt. Auch hier gelten die Erläuterungen zur Problematik der Genrenotation des Datensatzes.

Verkaufszahlen

Balkendiagramm

grouped <- vgsales  %>% 
  group_by(Genre) %>% 
  summarize(sum(Global_Sales))  %>%
rename(
    Global_Sales = "sum(Global_Sales)"
    )
grouped$Global_Sales<-as_vector(grouped$Global_Sales)
ordered <- grouped[order(grouped$Global_Sales), decreasing = FALSE]

ax <- list(
  title = "Genre"
)

ay <- list(
  title = "Verkäufe (in mio)"

)

ordered%>%
  plot_ly() %>% 
  add_bars(x=~fct_reorder(Genre,Global_Sales, .desc=TRUE),
           y=~Global_Sales,
           name="Verkaufszahlen nach Genre"
           ,colors = myPalette) %>% 
  layout(title="Verkaufszahlen nach Genre",
         xaxis = ax,
         yaxis = ay
         )

Auf Platz 1 und 2 des Rankings befinden sich auch unter diesem Gesichtspunkt Action (1.751 Mrd.) und Sports (1.33 Mrd.). Platz 3 belegt hier jedoch nicht Misc, welches mit nur 809.96 Mio. Verkäufen auf Platz 6 abrutscht, sondern Shooter (1.037 Mrd.). Platz 4 hält weiterhin Role-Playing (927.37 Mio.). Doch auch Platformer (831.37) verkaufen sich hier deutlich besser und sichern sich Platz 5. Die restlichen Genres unterscheiden sich nur geringfügig in Anzahl und Verkaufszahlen.

Kreisdiagramm

grouped <- vgsales  %>% 
  group_by(Genre) %>% 
  summarize(sum(Global_Sales))  %>%
rename(
    Global_Sales = "sum(Global_Sales)"
    )
grouped$Global_Sales<-as_vector(grouped$Global_Sales)
ordered <- grouped[order(grouped$Global_Sales), decreasing = FALSE]

ax <- list(
  title = "Genre"
)

ay <- list(
  title = "Verkäufe (in mio)"

)

ordered%>%
  plot_ly() %>% 
  add_pie(values =~Global_Sales,labels=~Genre,
           name="Verkaufszahlen nach Genre"
          ,colors = myPalette) %>% 
  layout(title="Verkaufszahlen nach Genre",
         xaxis = ax,
         yaxis = ay
        )

Auf Platz 1 und 2 der Liste befinden sich weiterhin Action (19.6%) und Spots (14.9%). Platz 3 belegt hier jedoch nicht Misc welches mit 9.08% auf platz 6 abgerutscht ist sondern Shooter (11.6%). Platz 4 wird weiterhin von Role-Playing (10.4%) belegt. Auch Platform (9.32%) verkaufen sich deutlich besser und sichern sich Platz 5. Die restlichen Genres unterscheiden sich Kaum in Anzahl und Verkaufszahlen.

Auf Platz 1 und 2 des Rankings befinden sich auch unter diesem Gesichtspunkt Action (19.6%) und Sports (14.9%). Platz 3 belegt hier jedoch nicht Misc, welches mit nur 9.08% der Verkäufe auf Platz 6 abrutscht, sondern Shooter (11.6%). Platz 4 hält weiterhin Role-Playing (10.4%). Doch auch Platformer (9.32%) verkaufen sich hier deutlich besser und sichern sich Platz 5. Die restlichen Genres unterscheiden sich nur geringfügig in Anzahl und Verkaufszahlen.

Beim Betrachten fällt hier auf, dass sich einige Genres deutlich besser verkaufen als andere. Auffallend ist allerdings: Vor allem Shooter und Platform-Spiele sind hier die Kassenschlager, wenn man die Verkaufszahlen mit der Anzahl der Spiele vergleicht. Allerdings sind die großen Genres „Action“ und „Sports“ sowohl in den Verkaufszahlen, als auch bei der Anzahl der Spiele unangefochten auf den Plätzen 1 und 2.


Genres - regionale Unterschiede

Nachdem bei den Platformen deutliche regionale Unterschiede festgestellt werden konnten, wird dies auch bei den Genres untersucht; entsprechend auch wieder der gleiche Lösungsansatz mit Pareto- und Kreisdiagrammen.

Verkäufe pro Genre

Balkendiagramme

Europa

grouped <- vgsales  %>% 
  group_by(Genre) %>% 
  summarize(sum(EU_Sales))  %>%
rename(
    Global_Sales = "sum(EU_Sales)"
    )
grouped$Global_Sales<-as_vector(grouped$Global_Sales)
ordered <- grouped[order(grouped$Global_Sales), decreasing = FALSE]

ax <- list(
  title = "Genre"
)

ay <- list(
  title = "Verkäufe (in mio)"

)

ordered%>%
  plot_ly() %>% 
  add_bars(x=~fct_reorder(Genre,Global_Sales, .desc=TRUE),
           y=~Global_Sales,
           name="Verkaufszahlen nach Genre (EU)"
           ,colors = myPalette) %>% 
  layout(title="Verkaufszahlen nach Genre (EU)",
         xaxis = ax,
         yaxis = ay
         )

Im Vergleich erscheint Europa wie bereits in der Platformanalyse festgestellt dem globalen Genrevergleich recht ähnlich:

Action (525 Mio.) führt weiterhin vor Sports (376.85 Mio.) und Shootern (313.27 Mio.). Auf Platz 4 ist jedoch der erste Unterschied feststellbar: Statt Role-Playing (188.06 Mio.), welches auf Platz 7 abgerutscht ist, findet sich hier Racing (238.39), so dass beide hier die Plätze tauschen. Auch Platz 5 Misc (215.98 Mio.) und Platz 6 Platform (201.63 Mio.) sind in Europa vertauscht. Allgemein scheint hier auch auf den hinteren Genreplätzen eine Verschiebung feststellbar, da bei gleichbleibendem Verhältnis der Genres zusätzlich sowohl Simulation (113.38 Mio.) und Fighting (101.32 Mio.) als auch Adventure (63.13 Mio.) und Puzzle (50.78 Mio.) ihre Plätze tauschen. In den hinteren Rängen bleibt somit einzig Strategy (45.34 Mio.) auf seinem vorherigen letzten Platz.

Nord-Amerika

grouped <- vgsales  %>% 
  group_by(Genre) %>% 
  summarize(sum(NA_Sales))  %>%
rename(
    Global_Sales = "sum(NA_Sales)"
    )
grouped$Global_Sales<-as_vector(grouped$Global_Sales)
ordered <- grouped[order(grouped$Global_Sales), decreasing = FALSE]

ax <- list(
  title = "Genre"
)

ay <- list(
  title = "Verkäufe (in mio)"

)

ordered%>%
  plot_ly() %>% 
  add_bars(x=~fct_reorder(Genre,Global_Sales, .desc=TRUE),
           y=~Global_Sales,
           name="Verkaufszahlen nach Genre (NA)"
           ,colors = myPalette) %>% 
  layout(title="Verkaufszahlen nach Genre (NA)",
         xaxis = ax,
         yaxis = ay
         )

In Nord-Amerika ist eine Verschiebung der Genres festzustellen: Die Top 3 belegen auch hier Action (877,83 Millionen), Sports (683,35 Millionen) und Shooter (582,6 Millionen). Im Gegensatz zu Europa sind hier allerdings die Plätze 4 und 7 vertauscht: Platform (447,05 Millionen Platz 4), Misc (410,24 Millionen Platz 5 ), Racing (359,42 Millionen Platz 6 ) und Role-Playing (327,28 Millionen Platz 7). Plätze 8 bis 12 verteilen sich wie die globalen Referenzwerte. Der einzige Unterschied zwischen Global und Nord-Amerika ist somit die Verschiebung von Role-Playing auf Platz 7.

Japan

grouped <- vgsales  %>% 
  group_by(Genre) %>% 
  summarize(sum(JP_Sales))  %>%
rename(
    Global_Sales = "sum(JP_Sales)"
    )
grouped$Global_Sales<-as_vector(grouped$Global_Sales)
ordered <- grouped[order(grouped$Global_Sales), decreasing = FALSE]

ax <- list(
  title = "Genre"
)

ay <- list(
  title = "Verkäufe (in mio)"

)

ordered%>%
  plot_ly() %>% 
  add_bars(x=~fct_reorder(Genre,Global_Sales, .desc= TRUE),
           y=~Global_Sales,
           name="Verkaufszahlen nach Genre (JP)" ,colors = myPalette) %>% 
  layout(title="Verkaufszahlen nach Genre (JP)",
         xaxis = ax,
         yaxis = ay
         )

In Japan befindet sich dagegen Role-Playing (352,31 Millionen) mit großem Abstand auf Platz 1, noch vor den sonstigen Platzhirschen - Action (159,95 Millionen) und Sports (135,37 Millionen). Der weltweite Top 3 Shooter (38,28 Millionen) fällt in Japan auf den letzten Platz und wird von Platform (130,77 Millionen) ersetzt. Misc (107,76 Millionen) kann sich weiterhin im Mittelfeld halten. Fighting (87,35 Millionen) und Simulation (63,7 Millionen) können einige Plätze gut machen und rücken auf die Plätze 6 und 7 vor. Auch Puzzle Games (57,31 Millionen) erfreuen sich einer höheren Beliebtheit als global, wohingegen Racing (56,69 Millionen) einen deutlichen Verlust hinnehmen muss. Adventure (52,07 Millionen) und Strategy (49,46 Millionen) bleiben auch in Japan auf den letzten Rängen der Genres.

Kreisdiagramme

Europa

grouped <- vgsales  %>% 
  group_by(Genre) %>% 
  summarize(sum(EU_Sales))  %>%
rename(
    Global_Sales = "sum(EU_Sales)"
    )
grouped$Global_Sales<-as_vector(grouped$Global_Sales)
ordered <- grouped[order(grouped$Global_Sales), decreasing = FALSE]

ax <- list(
  title = "Genre"
)

ay <- list(
  title = "Verkäufe (in mio)"

)


ordered%>%
  plot_ly() %>% 
  add_pie(values =~Global_Sales,labels=~Genre,
           name="Verkaufszahlen nach Genre (EU)" ,colors = myPalette) %>% 
  layout(title="Verkaufszahlen nach Genre (EU)",
         xaxis = ax,
         yaxis = ay
        )

Im Vergleich erscheint Europa wie bereits in der Platformanalyse festgestellt dem globalen Genrevergleich recht ähnlich:

Action (21.6%) führt weiterhin vor Sports (15.5%) und Shootern (12.9%). Auf Platz 4 ist jedoch der erste Unterschied feststellbar: Statt Role-Playing (7.73%), welches auf Platz 7 abgerutscht ist, findet sich hier Racing (9.79%), so dass beide hier die Plätze tauschen. Auch Platz 5 Misc (8.87%) und Platz 6 Platform (8.28%) sind in Europa vertauscht. Allgemein scheint hier auch auf den hinteren Genreplätzen eine Verschiebung feststellbar, da bei gleichbleibendem Verhältnis der Genres zusätzlich sowohl Simulation (4.66%) und Fighting (4.16%) als auch Adventure (2.63%) und Puzzle (2.09%) ihre Plätze tauschen. In den hinteren Rängen bleibt somit einzig Strategy (1.86%) auf seinem vorherigen letzten Platz.

Nord-Amerika

grouped <- vgsales  %>% 
  group_by(Genre) %>% 
  summarize(sum(NA_Sales))  %>%
rename(
    Global_Sales = "sum(NA_Sales)"
    )
grouped$Global_Sales<-as_vector(grouped$Global_Sales)
ordered <- grouped[order(grouped$Global_Sales), decreasing = FALSE]

ax <- list(
  title = "Genre"
)

ay <- list(
  title = "Verkäufe (in mio)"

)

ordered%>%
  plot_ly() %>% 
  add_pie(values =~Global_Sales,labels=~Genre,
           name="Verkaufszahlen nach Genre (NA)",colors = myPalette) %>% 
  layout(title="Verkaufszahlen nach Genre (NA)",
         xaxis = ax,
         yaxis = ay
        )

In Nord-Amerika ist eine Verschiebung der Genres festzustellen: Die Top 3 belegen auch hier Action (20%), Sports (15.6%) und Shooter (13.3%). Im Gegensatz zu Europa sind hier allerdings die Plätze 4 und 7 vertauscht: Platform (10,2% Platz 4), Misc (9.34% Platz 5), Racing (8.18% Platz 6 ) und Role-Playing (7.45% Platz 7). Plätze 8 bis 12 verteilen sich wie die globalen Referenzwerte. Der einzige Unterschied zwischen Global und Nord-Amerika ist somit die Verschiebung von Role-Playing auf Platz 7.

Japan

grouped <- vgsales  %>% 
  group_by(Genre) %>% 
  summarize(sum(JP_Sales))  %>%
rename(
    Global_Sales = "sum(JP_Sales)"
    )
grouped$Global_Sales<-as_vector(grouped$Global_Sales)
ordered <- grouped[order(grouped$Global_Sales), decreasing = FALSE]

ax <- list(
  title = "Genre"
)

ay <- list(
  title = "Verkäufe (in mio)"

)

ordered%>%
  plot_ly() %>% 
  add_pie(values =~Global_Sales,labels=~Genre,
           name="Verkaufszahlen nach Genre (JP)" ,colors = myPalette) %>% 
  layout(title="Verkaufszahlen nach Genre (JP)",
         xaxis = ax,
         yaxis = ay
        )

In Japan befindet sich dagegen Role-Playing (27,3%) mit großem Abstand auf Platz 1, noch vor den sonstigen Platzhirschen - Action (12.4%) und Sports (10,5%). Der weltweite Top 3 Shooter (2,97%) fällt in Japan auf den letzten Platz und wird von Platform (10.1%) ersetzt. Misc (8,35%) kann sich weiterhin im Mittelfeld halten. Fighting (6,77%) und Simulation (4,93%) können einige Plätze gut machen und rücken auf die Plätze 6 und 7 vor. Auch Puzzle Games (4,44%) erfreuen sich einer höheren Beliebtheit als global, wohingegen Racing (4,39%) einen deutlichen Verlust hinnehmen muss. Adventure (4,03%) und Strategy (3,83%) bleiben auch in Japan auf den letzten Rängen der Genres.

Auch hier ist zu erkennen, dass die Nutzenden in Amerika und Europa recht ähnliche Interessen haben und nur auf den mittleren und hinteren Rängen Unterschiede entstehen. Nord-Amerika, als der größte Markt, ist - wie zu erwarten - am nächsten an den globalen Referenzdaten. Auch hier ist im japanischen Markt ein gänzlich anderes Genreschema feststellbar. In Japan dominiert Role-Playing, welches sich in Europa und Amerika nur auf Rang 7 befindet. Dies lässt sich durch kulturelle Unterschiede erklären.


Genre-Entwicklung im Laufe der Jahre nach Anzahl

Nach der Beschäftigung mit der globalen und regionalen Verteilung der Genres wird nachfolgend der Frage nachgegangen, wie sich die Zahl der Genres im Laufe der Jahre verändert hat und ob sich Trends erkennen lassen. Zunächst wird die Anzahl der Spiele-Releases, danach die Entwicklung der Verkaufszahlen untersucht. Hierzu werden verschiedene Lineplots, die sich in der Datenvorbereitung zu Pareto- und Kreisdiagrammen kaum unterscheiden, genutzt. Unterschiede der Diagrammerstellung werden jeweils aufgezeigt

Anzahl der Spiele pro Genre pro Jahr

Lines

Zur Erstellung des Lines Diagrammes wird das vorgefilterte data.frame filtered an die plot_ly() funktion weitergegeben und mit add_lines ein Liniendiagramm erstellt. Nach dem Setzen der Parameter - Der X-Wert ist das Year, der Y-Wert die Anzahl - wird mit color das Genre bestimmt und diese Farbtabelle an die Funktion via colors= weitergegeben.

grouped <- vgsales  %>%                                 
  group_by(Year, Genre) %>%
  dplyr::summarize(Anzahl =n()) %>% filter(Year!='N/A')%>%filter(Year!=2020) %>% filter(Year!='2017') %>%
  as.data.frame()


filtered <- grouped %>% select(Year,Genre,Anzahl)
ax <- list(
  title = "Jahr"
)

ay <- list(
  title = "Anzahl"

)

filtered %>%
plot_ly() %>% 
  add_lines(x=~Year,
           y=~Anzahl, color=~Genre,colors = myPalette) %>% 
 layout(title="Anzahl der Spielereleases von 1980-2016",
         xaxis = ax,
         yaxis = ay
         )

Auch wenn im ersten Moment das Diagramm recht unübersichtlich wirkt, lässt es bei genauerer Betrachtung bereits einige Dinge erkennen: So war zwischen 1993 und 2003 tatsächlich Sports das meistverkaufte Genre, bevor es von Action abgelöst wurde. Misc erfreute sich zwischen 2005 und 2011 großer Beliebtheit, bevor es wieder in der Versenkung verschwand. Adventure war zwischen 2007 und 2010 am beliebtesten.

Filled Lines

Die Erstellung von Filled Lines Diagrammes unterscheidet sich etwas von dem einfachen Lines-Plot. Statt an die add_Lines funktion werden die Parameter an plot_ly() übertragen. X ist weiterhin das Jahr, Y die Anzahl und die Farbpaletten bleiben colors und color=Genre. Unterschiedlich sind allerdings der type Parameter, der auf scatter gesetzt wird, mode, welches none ist und fill, welches durch tozeroy die Füllung bis zur y Achse erzeugt.

grouped <- vgsales  %>%                                 
  group_by(Year, Genre) %>%
  dplyr::summarize(Anzahl =n()) %>% filter(Year!='N/A')%>%filter(Year!=2020) %>% filter(Year!='2017') %>%
  as.data.frame()


filtered <- grouped %>% select(Year,Genre,Anzahl)
ax <- list(
  title = "Jahr"
)

ay <- list(
  title = "Anzahl"

)


filtered %>%
plot_ly(x = ~Year, y = ~Anzahl, type = 'scatter', mode = 'none', fill = 'tozeroy',color = ~Genre ,colors = myPalette)%>% 
  layout(title="Anzahl der Spielereleases von 1980-2016",
         xaxis = ax,
         yaxis = ay
         )

So lassen sich feinere Unterschiede deutlich besser erkennen, als noch im Lines Diagramm. Man erkennt beispielsweise das große Wachstum von Strategy zwischen 1996 und 1998, bevor diese Entwicklung 2000 stark abflacht und nicht mit dem allgemeinen Wachstum der anderen Genres mithalten kann. Auch der Erfolg von Racing zwischen 2000 und 2004 ist gut erkennbar.

Stacked Lines

Als erste Ansicht wurde stacked Lines genutzt, da es sehr übersichtlich ist und sich gut eignet, einen Grobüberblick Daten zu schaffen. Um die zugehörigen Texte zu verstehen, wird empfohlen zunächst den „Lines und Filled Lines tab“ zu studieren.

Hinweis: Die Erstellung des „stacked Lines“-Diagramm ist den „Filled Lines“ sehr ähnlich. Einziger Unterschied ist die Abwesenheit des fill parameters. Stattdessen wird stackgroup=‘one’ zur Erzeugung der stacked Lines verwendet.

grouped <- vgsales  %>%                                 
  group_by(Year, Genre) %>%
  dplyr::summarize(Anzahl =n()) %>% filter(Year!='N/A')%>%filter(Year!=2020) %>% filter(Year!='2017') %>%
  as.data.frame()


filtered <- grouped %>% select(Year,Genre,Anzahl)
ax <- list(
  title = "Jahr"
)

ay <- list(
  title = "Anzahl"

)


filtered %>%
plot_ly(x = ~Year, y = ~Anzahl, type = 'scatter', mode = 'none', stackgroup = 'one',color = ~Genre, colors = myPalette)%>% 
  layout(title="Anzahl der Spielereleases von 1980-2016",
         xaxis = ax,
         yaxis = ay
         )

Bedauerlicherweise ist die Darstellung der Farben fehlerhaft; mehr dazu imFazit Beim Betrachten des Stacked Line plots werden trotzdem einige Dinge gut erkennbar: So ist das größere Wachstum der Genres Shooter gegenüber der gleichbleibenden Entwicklung bei Puzzle und Platform Games in den 2010er deutlich. Auch das deutliche Wachstum bei Action, Strategy, Misc und Sports Games wird erkennbar.

Genreverschiebung

Schauen wir uns nun die Erstellung der zum vergleichen der Genres wohl interessantesten Grafik an. Die erstellung ist hier quasi gleich zu den Stacked Lines. Einzige neuerung ist das hinzufügen des Parameters groupnorm = ‘percent’ welches die Y-Achse von dem wert der Anzahl zu Prozentwerten ändert. Auch hier sind jedoch die Farben leider Fehlerhaft.

grouped <- vgsales  %>%                                 
  group_by(Year, Genre) %>%
  dplyr::summarize(Anzahl =n()) %>% filter(Year!='N/A')%>%filter(Year!=2020) %>% filter(Year!='2017') %>%
  as.data.frame()


filtered <- grouped %>% select(Year,Genre,Anzahl)
ax <- list(
  title = "Jahr"
)

ay <- list(
  title = "Prozent %"

)


filtered %>%
plot_ly(x = ~Year, y = ~Anzahl, type = 'scatter', mode = 'none', stackgroup = 'one',groupnorm = 'percent',color = ~Genre ,colors = myPalette)%>% 
  layout(title="Marketshare Genreverschiebung in % von 1980-2016",
         xaxis = ax,
         yaxis = ay
         )

Beim Betrachten fällt hier direkt auf, dass Action Games 1980-1984 einen großen Marktanteil, teilweise bis zu 50% ausgemacht haben. Sie verlieren diesen Anteil in 1994 bis auf nur noch 3%, jedoch dann beginnt eine gegenläufige Entwicklung, bis sie 2016 wieder bei knapp 40% enden. Auch die große Marktpräsenz von Platform-Spielen zwischen 1984 und 1992 ist gut erkennbar. Allerdings erfreuen sich Racing Games zwischen 1994 und 2004 der größten Beliebtheit.

Deutlich wird, dass trotz stetiger Zunahme der jährlichen Spiele-Releases über die Jahre hinweg , die meisten Genres im Vergleich zueinander ähnlich häufig vertreten bleiben. Auffällig hierbei nur die Strategy-Games, die nach dem erstmaligen Release 1991 auftauchen, aber seitdem - trotz leichten Verlusten am Marketshare - auch diesem Trend folgen. Action Games sind die Spiele mit der wohl größten Volatilität: 1982 noch fast 50 % der Game-Releases, jedoch bereits in 1984 nur noch knapp 10 % der Releases und in 1986 die Steigerung auf wieder fast 30 %. Dieser Trend setzt sich fort bis 1996, wobei sich Action Games dann aber von 3,6% über die Jahre bis 2016 wieder auf 35 % steigern.


Genre-Entwicklung im Laufe der Jahre nach Verkaufszahlen

Zum Vergleich der Entwicklung der Verkäufe werden die gleichen Diagrammformate genutzt, wie bereits bei der Betrachtung der Spieleanzahl. Eine nähere Erläuterung findet sich hier.

Verkäufe pro Jahr

Lines

grouped <- vgsales  %>%                                 
  group_by(Year, Genre) %>%
  dplyr::summarize(gr_sum = sum(Global_Sales)) %>% filter(Year!='N/A')%>%filter(Year!=2020) %>% filter(Year!='2017') %>%
  as.data.frame()


filtered <- grouped %>% select(Year,Genre,gr_sum)

ax <- list(
  title = "Jahr"
)

ay <- list(
  title = "Verkäufe (in mio)"

)

filtered %>%
plot_ly() %>% 
  add_lines(x=~Year,
           y=~gr_sum, color=~Genre ,colors = myPalette) %>% 
  layout(title="Verkaufszahlen der Spielereleases von 1980-2016",
         xaxis = ax,
         yaxis = ay
         )

Beim ersten Betrachten fällt hier direkt die hohe Volatilität der einzelnen Graphen auf, welche durch den hohen Einfluss einiger gut performender Games auf die Verkaufszahlen zurückzuführen ist. Am besten ist dies zwischen 1980 und 1992 erkennbar: 1981 ist ein hoher Ausschlag bei Action Games erkennbar, namentlich durch die Veröffentlichung von Verkaufsschlagern wie Frogger und Pitfall. Im Jahr 1984 sind dann Höchststände bei Shootern durch Duck-Game sowie 1985 bei Platform Games durch Super Mario Bros erkennbar. Super Mario prägt die Historie der Platform Games auch zwischen 1988 und 1990 mit Super Mario Bros 3 und Super Mario World. Das Spiel, das 1989 das Ranking der Puzzle-Games nach oben treibt, dürfte sogar Menschen außerhalb der Gaming-Community ein Begriff sein: Tetris.

Filled Lines

grouped <- vgsales  %>%                                 
  group_by(Year, Genre) %>%
  dplyr::summarize(gr_sum = sum(Global_Sales)) %>% filter(Year!='N/A')%>%filter(Year!=2020) %>% filter(Year!='2017') %>%
  as.data.frame()


filtered <- grouped %>% select(Year,Genre,gr_sum)

ax <- list(
  title = "Jahr"
)

ay <- list(
  title = "Verkäufe (in mio)"

)


filtered %>%
plot_ly(x = ~Year, y = ~gr_sum, type = 'scatter', mode = 'none', fill = 'tozeroy',color = ~Genre ,colors = myPalette) %>% 
  layout(title="Verkaufszahlen der Spielereleases von 1980-2016",
         xaxis = ax,
         yaxis = ay
         )

Durch Betrachten des Filled Line Plots wird das Hoch der Strategiespiele im Jahr 1999 durch Spiele wie Pokemon Stadium, Warzone 2100 oder Age of Empires II deutlich. Auch der Gipfel der Role-Playing Games im gleichen Jahr durch Pokemon Gold/Silber und Final Fantasy VIII sowie 1996 durch Pokemon Rot/Blau sind deutlich erkennbar.

Stacked Lines

grouped <- vgsales  %>%                                 
  group_by(Year, Genre) %>%
  dplyr::summarize(gr_sum = sum(Global_Sales)) %>% filter(Year!='N/A')%>%filter(Year!=2020) %>% filter(Year!='2017') %>%
  as.data.frame()


filtered <- grouped %>% select(Year,Genre,gr_sum)

ax <- list(
  title = "Jahr"
)

ay <- list(
  title = "Verkäufe (in mio)"

)


filtered %>%
plot_ly(x = ~Year, y = ~gr_sum, type = 'scatter', mode = 'none', stackgroup = 'one',color = ~Genre ,colors = myPalette)%>% 
  layout(title="Verkaufszahlen der Spielereleases von 1980-2016",
         xaxis = ax,
         yaxis = ay
         )

Auch hier wird Stacked Lines, das vermutlich beste Vergleichs-Diagramm, verwendet. Am auffälligsten ist hier, dass die Volatilität in den früheren Jahren (1980-1995) - bei geringerer Präsenz von Videospielen - deutlich größer ausfällt. Danach – vor allem ab 2003 - fallen die Schwankungen jedoch deutlich geringer aus, was vermutlich am größeren Angebot von Videospielen und einem breiter gefächerten Konsumverhalten liegt.

Genreverschiebung

grouped <- vgsales  %>%                                 
  group_by(Year, Genre) %>%
  dplyr::summarize(gr_sum = sum(Global_Sales)) %>% filter(Year!='N/A')%>%filter(Year!=2020) %>% filter(Year!='2017') %>%
  as.data.frame()


filtered <- grouped %>% select(Year,Genre,gr_sum)

ax <- list(
  title = "Jahr"
)

ay <- list(
  title = "Prozent %"

)


filtered %>%
plot_ly(x = ~Year, y = ~gr_sum, type = 'scatter', mode = 'none', stackgroup = 'one',groupnorm = 'percent',color = ~Genre ,colors = myPalette)%>% 
  layout(title="Marketshare Genreverschiebung in % von 1980-2016",
         xaxis = ax,
         yaxis = ay
         )

Durch die hohe Volatilität ist die Grafik in den frühen Jahren vor allem zwischen 1980 und 1992 sehr unübersichtlich und teilweise schwierig zu sichten. In den nachfolgenden Jahren wird es aber deutlich einfacher, bestimmte Dinge, wie das erstmalige Auftreten der Strategiespiele 1992 oder die fast vollständige Abwesenheit von Puzzle Games zwischen 1995 und 2002 und ab 2012, zu erkennen.

Wie zu erwarten ergeben sich hier große Parallelitäten zu den Feststellungen zur Anzahl der Game-Releases: Auch hier ist eine hohe Volatilität durch einzelne Spiele-Releases, vor allem in früheren Jahren feststellbar. Grund hierfür dürften die teils hohen Marktanteile einzelner “Kassenschlager” sein.

Hinweis: Obwohl einige Spiele auch rereleast werden - vor allem für unterschiedliche Konsolen - werden diese Daten in unserem Datensatz nicht zusammengeführt. Weiteres hierzu im Fazit


Genreentwicklung im laufe der Jahre nach Verkaufszahlen pro Spiel

Im nachfolgendem Vergleich der Entwicklung der Anzahl der Spiele-Releases sowie der Verkaufszahlen werden erneut die bereits bekannten Diagramm-Formate genutzt, jedoch in der dplyr::summarize() Funktion die Summe der Verkaufszahlen durch die Anzahl der Einträge dividiert.

Verkäufe pro Spiel pro Jahr

Lines

grouped <- vgsales  %>%                                 
  group_by(Year, Genre) %>%
  dplyr::summarize(gr_sum = sum(Global_Sales)/n()) %>% filter(Year!='N/A')%>%filter(Year!=2020) %>% filter(Year!='2017') %>%
  as.data.frame()


filtered <- grouped %>% select(Year,Genre,gr_sum)
ax <- list(
  title = "Jahr"
)

ay <- list(
  title = "Verkäufe pro Spiel"

)

filtered %>%
plot_ly() %>% 
  add_lines(x=~Year,
           y=~gr_sum, color=~Genre ,colors = myPalette) %>% 
  layout(title="Verkäufe pro Spiel nach Genre von 1980-2016",
         xaxis = ax,
         yaxis = ay
         )

Im Lines-Plot werden in der Verkaufszahlanalys die genannten Extreme, welche durch einzelne Spiele, vor allem in den früheren Jahren, beeinflusst werden, deutlich dargestellt. Am eindrücklichsten wird dies bei Shooter Games 1984 durch Duck-Game und bei den Plattform-Spielen 1985 durch Super Mario Bros. Auch die deutlichen Ausschläge durch Tetris (Puzzle 1989) sowie Super Mario Bros 3 (Platform 1988) und Super Mario World (Platform 1990) sind deutlich erkennbar. Erstmalig wird hier der Anstieg bei Racing Games 1992 durch den Klassiker Super Mario Kart, dessen Nachfolger bis heute auf fast jeder Nintendo Konsole zu finden ist.

Filled Lines

Für die Darstellung der Verkäufe pro Jahr sind die Stacked Lines leider wenig aussagekräftig und daher auch nicht als erste Ansicht vorausgewählt. Zum besseren Verständnis der Analyse empfiehlt sich ein vorheriges Lesen der Lines-Tab.

grouped <- vgsales  %>%                                 
  group_by(Year, Genre) %>%
  dplyr::summarize(gr_sum = sum(Global_Sales)/n()) %>% filter(Year!='N/A')%>%filter(Year!=2020) %>% filter(Year!='2017') %>%
  as.data.frame()


filtered <- grouped %>% select(Year,Genre,gr_sum)
ax <- list(
  title = "Jahr"
)

ay <- list(
  title = "Verkäufe pro Spiel"

)

filtered %>%
plot_ly(x = ~Year, y = ~gr_sum, type = 'scatter', mode = 'none', fill = 'tozeroy',color = ~Genre ,colors = myPalette) %>% 
  layout(title="Verkäufe pro Spiel nach Genre von 1980-2016",
         xaxis = ax,
         yaxis = ay
         )

Beim Betrachten der Filled-Lines ist auffallend, dass das neben den bereits genannten Extremausschlägen Racing-Games bereits im Jahre 1990 einen Ausschlag durch F-1 Race erfuhr. Einen noch deutlicheren Extremausschlag des Action Genres in 1987 ergab auch Zelda II: The Adventure of Link.

Stacked Lines

grouped <- vgsales  %>%                                 
  group_by(Year, Genre) %>%
  dplyr::summarize(gr_sum = sum(Global_Sales)/n()) %>% filter(Year!='N/A')%>%filter(Year!=2020) %>% filter(Year!='2017') %>%
  as.data.frame()


filtered <- grouped %>% select(Year,Genre,gr_sum)
ax <- list(
  title = "Jahr"
)

ay <- list(
  title = "Verkäufe pro Spiel"

)

filtered %>%
plot_ly(x = ~Year, y = ~gr_sum, type = 'scatter', mode = 'none', stackgroup = 'one',color = ~Genre, colors = myPalette)%>% 
  layout(title="Verkäufe pro Spiel nach Genre von 1980-2016",
         xaxis = ax,
         yaxis = ay
         )

Stacked Lines ist hier für eine Analyse der einzelnen Spiele-Genres leider nicht hilfreich. Der aufmerksame Beobachter wird sich jedoch an eine der ersten Grafiken erinnern, in denen die Sales pro Game analysiert wurde und Fragen unbeantwortet blieben, warum die Werte hier deutlich höher ausfallen als vorher. War in der Analyse ohne Genres der Maximalwert noch bei 4, liegt er hier über 20. Dies liegt in erster Linie daran, dass Action Games in den frühen Jahren einen Großteil der Releases ausmachten, bei den Verkaufszahlen aber eher gering in Erscheinung traten und so den Durchschnitt hier verringern. Sind dagegen die Spiele nach Genres aufgeteilt, beeinflusst das schlecht performende Action-Genre die Verkaufszahlen pro Spiel der anderen nicht, sodass additiv eine deutlich größere Zahl dargestellt wird.

Genreverschiebung

grouped <- vgsales  %>%                                 
  group_by(Year, Genre) %>%
  dplyr::summarize(gr_sum = sum(Global_Sales)/n()) %>% filter(Year!='N/A')%>%filter(Year!=2020) %>% filter(Year!='2017') %>%
  as.data.frame()


filtered <- grouped %>% select(Year,Genre,gr_sum)
ax <- list(
  title = "Jahr"
)

ay <- list(
  title = "Prozent %"

)
filtered %>%
plot_ly(x = ~Year, y = ~gr_sum, type = 'scatter', mode = 'none', stackgroup = 'one',groupnorm = 'percent',color = ~Genre, colors = myPalette)%>% 
  layout(title="Marketshare in Verkäufe pro Spiel nach Genre von 1980-2016",
         xaxis = ax,
         yaxis = ay
         )

Durch die hohe Volatilität der frühen Jahre ist auch hier - wie bei den Verkaufszahlen - das Genreshift-Diagramm wenig aussagekräftig. Ab 1994 wird jedoch deutlich, wie sich die Genres im Laufe der Jahre entwickeln. Shooter werden deutlich beliebter, wohingegen Role-Playing Games verlieren.

Erwartbar ist die Entwicklung in Prozent ähnlich. Auffällig ist jedoch, dass Shooter - trotz ihrer geringen Vertretung in der prozentualen Verteilung - 1984 sowie 2014, 2015 und 2016 an erster Stelle gelistet sind. Plattform-Games haben dagegen 1985, 1988 und 1990 die Nase vorne, während Puzzle-Games in 1988 unangefochten mit dem weltweit bekanntem - Platz 6 der meistverkauften - Videospiele Tetris führt. Auffällig die neuesten Entwicklungen: So werden in den Jahren 1996 bis 2005 Role-Playing und nach und nach auch immersive Erlebnisse deutlich beliebter. Derzeit dominiert Shooter mit ihrem rundenbasierten „Fast Paced” - dem schnellen Spielfluss –. Offenkundig entwickelt sich das Nutzerverhalten weg von zeitintensiven Games (Rollenspielen) hin zu weniger zeitintensiven - eine Runde von 15-45 Minuten -. Nutzende bevorzugen es zunehmend, kurz zu spielen, als sich stundenlang in eine Rolle hineinzuversetzen. Vielen Menschen fehlt möglicherweise auch einfach Zeit oder Geduld, um sich in einer Zeit der modernen sozialen Medien, wie Tik-Tok oder Instagram, die sich auf kurze Erlebnisse von oft wenigen Sekunden spezialisiert haben, in ein zeit- und geld intensives , immersives Gameerlebnis zu vertiefen.


Genreverteilung nach Publisher

Nach der Betrachtung der Entwicklungen der Genres und der Publisher werden nun diese Daten für einen Vergleich und zur Klärung der Fragen zusammengeführt: Gibt es Publisher, die bestimmte Genres bevorzugt anbieten, und/oder Publisher, die hohe Verkaufszahlen von Games eines bestimmten Genres verzeichnen? Verwendung findet hier ein stacked Bar-Plot. Während der Beginn der Diagrammerstellung bei Paretodiagrammen ähnelt, werden dann jedoch statt nur eines Dataframes zwei erzeugt: neben der bereits bekannte grouped die Publisher, Genres und Verkaufszahlen beinhaltet, die Dataframe PublisherSales die eine Liste der Publisher mit Gesamtverkaufszahlen über 300 Millionen enthält. Mittels Letzterer werden im weiteren Verlauf aus unserem grouped Datensatz die Publisher entfernt, die sich nicht in PublisherSales finden. Das geschieht mit Hilfe des filter() commands und dem Schlagwort %in%. Die restliche Diagrammerstellung ist äquivalent zur Publisheranalyse. Einziger Unterschied: Die Bars werden bei der Diagrammerstellung nicht sortiert.

Genreverteilung pro Publisher

Verkäufe

grouped <- vgsales  %>% 
  group_by(Publisher,Genre) %>% 
  summarize(sum(Global_Sales))  %>%
rename(
    Global_Sales = "sum(Global_Sales)"
    ) 

PublisherSales <- grouped %>% 
  group_by(Publisher) %>% 
  summarize(sum(Global_Sales)) %>%
rename(
    Global_Sales = "sum(Global_Sales)"
    ) %>% filter(Global_Sales>300)

grouped <- grouped %>% filter(Publisher %in% PublisherSales$Publisher)

grouped$Global_Sales<-as_vector(grouped$Global_Sales)

grouped$Publisher <-str_remove_all(grouped$Publisher, "Entertainment")
grouped$Publisher <-str_remove_all(grouped$Publisher, "Interactive")
grouped$Publisher <-str_remove_all(grouped$Publisher, "Studios")
grouped$Publisher <-str_remove_all(grouped$Publisher, "Games")
grouped$Publisher <-str_remove_all(grouped$Publisher, "Game")

  

ax <- list(
  title = "Genre"
)

ay <- list(
  title = "Verkäufe (in Millionen)"

)

grouped%>%
  plot_ly(x=~Publisher,
           y=~Global_Sales,
            type='bar',
           color=~Genre, colors = myPalette)  %>% 
  layout(title="Verkäufe pro Genre pro Publisher",
         xaxis = ax,
         yaxis = ay,
         barmode = 'stack'
         )

Beim Betrachten der Verkaufszahlen fällt direkt auf, dass die meisten Publisher bestimmte Genres präferieren. Activision hat mit Call of Duty den überwiegenden Teil ihrer Verkäufe im Shooter-Genre. Das Electronic Arts mit FIFA und MaddenNFL überwiegend im Sport-Genre vertreten ist, ist auch wenig verwunderlich. Bei dem US-basiertem Gaming-Riesen sind die Genres Shooter (Battlefield) und Racing (Need for Speed) auch sehr beliebt. Nintendo ist dagegen - wenig verwunderlich - auf die Genres Platform (Super Mario) und Role-Playing (Pokemon) spezifiziert. Sony hingegen fächert ihr Angebot relativ breit und hat neben 110.57 Millionen im Genre Racing auch 104 Millionen im Genre Platform, 80 Millionen im Genre Misc und 94,5 in Millionen im Genre Action. Take-Two mit Grand Theft Auto und Red Dead Redemption sind nicht überraschend auf das Genre Action spezialisiert, wohingegen sich THQ relativ breit fächert. Ubisoft hat dagegen eine zweigeteilte Genre-Fokussierung mit Action (Assassin’s Creed) und Misc (Just Dance).

Anzahl

grouped <- vgsales  %>% 
  group_by(Publisher,Genre) %>% 
  summarize(Anzahl =n(),sum(Global_Sales))  %>%
rename(
    Global_Sales = "sum(Global_Sales)"
    )

PublisherSales <- grouped %>% 
  group_by(Publisher) %>% 
  summarize(sum(Global_Sales)) %>%
rename(
    Global_Sales = "sum(Global_Sales)"
    ) %>% filter(Global_Sales>300)



grouped <- grouped  %>% filter(Publisher %in% PublisherSales$Publisher)

grouped$Global_Sales<-as_vector(grouped$Global_Sales)
grouped$Publisher <-str_remove_all(grouped$Publisher, "Entertainment")
grouped$Publisher <-str_remove_all(grouped$Publisher, "Interactive")
grouped$Publisher <-str_remove_all(grouped$Publisher, "Studios")
grouped$Publisher <-str_remove_all(grouped$Publisher, "Games")
grouped$Publisher <-str_remove_all(grouped$Publisher, "Game")



ax <- list(
  title = "Genre"
)

ay <- list(
  title = "Anzahl"

)

grouped%>%
  plot_ly(x=~Publisher,
           y=~Anzahl,
            type='bar',
           color=~Genre ,colors = myPalette)  %>% 
  layout(title="Anzahl pro Genre pro Publisher",
         xaxis = ax,
         yaxis = ay,
         barmode = 'stack'
         )

Stellt man die Anzahl der Spiele den Verkaufszahlen gegenüber, fällt auf, dass Firmen mit Focus auf ihre Verkaufszahlen die Genres in der Produktion noch mehr priorisieren. Interessant ist auch, dass Activison ihren Focus deutlich mehr auf Action Games legt, als auf Shooter, die sich vergleichsweise deutlich schlechter verkaufen.

Beim Vergleich dieser Werte ist festzuhalten, dass sich bei den meisten Publisher die Anzahl der Spiele und der Verkäufe/Sales gut abdecken. Auffällig sind hier EA mit dem Sports Genre und ihren jährlich releasten Spielen FIFA/NBA2K etc. sowie Nintendo mit der dem Genre Platform zuzuschreibenden „Super Mario“-Reihe.


Genre-Verteilung für Publisher Electronic Arts

Für die Detailbetrachtung wird erneut Pareto- und Kreisdiagramm genutzt, die bereits oben dargestellt sind.

Genre für Electronic Arts

Balkendiagramme

Verkaufszahlen

grouped <- vgsales  %>% 
  group_by(Publisher,Genre) %>% 
  summarize(sum(Global_Sales))  %>%
rename(
    Global_Sales = "sum(Global_Sales)"
    ) %>% 
  filter(Publisher == "Electronic Arts")


grouped$Global_Sales<-as_vector(grouped$Global_Sales)

ax <- list(
  title = "Genre"
)

ay <- list(
  title = "Verkäufe (in mio)"

)

grouped%>%
  plot_ly() %>% add_bars(x=~Genre,
           y=~Global_Sales,
           color=~Genre ,colors = myPalette)  %>% 
  layout(title="Verkaufszahlen für Electronic Arts",
         xaxis = ax,
         yaxis = ay,
         barmode = 'stack',
         showlegend = FALSE
         )

Bei Auswertung der Verkäufe/Sales der Genres steht Sports (479,67 Millionen) auf dem ersten Rang. Mit deutlichem Abstand folgen Shooter (158,26 Millionen), Racing (145,77 Millionen) und Action (115,54 Millionen). Das einzig noch relevante Genre ist Simulation mit 89,53 Millionen Verkäufen/Sales. Role-Playing (35,3 Millionen), Fighting (31,39 Millionen), Misc (24,95 Millionen) sowie Strategy (14,08 Millionen), Platform (6,53 Millionen), Adventure (4,75 Millionen) und Puzzle (4,55 Millionen) spielen hierbei eher untergeordnete Rollen.

Anzahl

grouped <- vgsales  %>% 
  group_by(Publisher,Genre) %>% 
  summarize(Anzahl =n())  %>% 
  filter(Publisher == "Electronic Arts")


ax <- list(
  title = "Genre"
)

ay <- list(
  title = "Anzahl"

)


grouped%>%
  plot_ly() %>% add_bars(x=~Genre,
           y=~Anzahl,
           color=~Genre ,colors = myPalette)  %>% 
  layout(title="Anzahl der Spielereleases nach Genre für Electronic Arts ",
         xaxis = ax,
         yaxis = ay,
         barmode = 'stack',
         showlegend = FALSE
         )

In der Detailansicht erscheint die Anzahl der Spiele und Sales deutlich geringer. Den ersten Platz belegt auch hier Sports (561) vor Action (183), Racing (159), Shooter (139) und Simulation (116). Auch die eher irrelevanten Genres wie Misc (46), Fighting (39) und Strategy (37) sind hier kaum vertreten.

Kreisdiagramme

Verkaufszahlen

grouped <- vgsales  %>% 
  group_by(Publisher,Genre) %>% 
  summarize(sum(Global_Sales))  %>%
rename(
    Global_Sales = "sum(Global_Sales)"
    ) %>% 
  filter(Publisher == "Electronic Arts")


grouped$Global_Sales<-as_vector(grouped$Global_Sales)

ax <- list(
  title = "Genre"
)

ay <- list(
  title = "Verkäufe (in mio)"

)

grouped%>%
  plot_ly() %>% 
  add_pie(values =~Global_Sales,labels=~Genre,textinfo='label+percent', rotation = 110, sort = FALSE,
           name="Verkaufszahlen pro Genre für Electronic Arts" ,colors = myPalette) %>% 
  layout(title="Verkaufszahlen pro Genre für Electronic Arts",
         xaxis = ax,
         yaxis = ay,
         showlegend = FALSE,
         autosize = F
         )

Beim Betrachten der Sales erkennen wir das wie bereits vorher festgestellt Sports (43.2%) an erster Stelle steht. Mit deutlichem Abstand danach folgen Shooter (14.3%), Racing (13.1%) und Action (10.4%). Das einzig andere Relevante Genre ist Simulation mit 8.06% der Sales. Role-Playing (3.18%), Fighting (2.83%), Misc (2.25%) sowie Strategy (1.27%), Platform (0.588%), Adventure (0.428%) und Puzzle (0.41%) spielen eine eher untergeordnete Rolle.

Bei Auswertung der Verkäufe/Sales der Genres steht Sports (43.2%) auf dem ersten Rang. Mit deutlichem Abstand folgen Shooter (14.3%), Racing (13.1%) und Action (10.4%). Das einzig noch relevante Genre ist Simulation mit 7.06% der Verkäufe/Sales. Role-Playing (3.18%), Fighting (2.83%), Misc (2.25%) sowie Strategy (1.27%), Platform (0.588%), Adventure (0.428%) und Puzzle (0.41%) spielen hierbei eher untergeordnete Rollen.

Anzahl

grouped <- vgsales  %>% 
  group_by(Publisher,Genre) %>% 
  summarize(Anzahl =n())  %>% 
  filter(Publisher == "Electronic Arts")


ax <- list(
  title = "Genre"
)

ay <- list(
  title = "Anzahl"

)

grouped%>%
  plot_ly() %>% 
  add_pie(values =~Anzahl,labels=~Genre,textinfo='label+percent',sort = TRUE, rotation = 90,
           name="Anzahl der Spielereleases pro Genre für Electronic Arts" ,colors = myPalette) %>% 
  layout(title="Anzahl der Spielereleases pro Genre für Electronic Arts",
         xaxis = ax,
         yaxis = ay,
         showlegend = FALSE,
         autosize = F
         )

In der Detailansicht erscheint die Anzahl der Spiele und Sales deutlich geringer. Den ersten Platz belegt auch hier Sports (41,5%) vor Action (13,5%), Racing (11,8%), Shooter (10,3%) und Simulation (8,59%). Auch die eher irrelevanten Genres wie Misc (3,4%), Fighting (2,89%) und Strategy (2,74%) sind hier kaum vertreten.

Bei einer Detailbetrachtung von EA fällt die Diskrepanz zwischen Verkäufen/Sales und der Anzahl der Game-Releases, die für EA bei Sports nicht so groß ist (41,5 % zu 43,2 %), wie angenommen. Die größeren Diskrepanzen finden sich im Genre Shooter, bei dem nur 10 % der Game-Releases gut 15 % der Verkäufe/Sales bedingen und im Genre Action mit 13.5% der Game-Releases und 10,4 % Verkäufen/Sales.

Genre-Verteilung bei Nintendo

Während bei Electronic Arts die Diskrepanz zwischen Verkäufen/Sales und Anzahl der Spiele nicht so groß ist wie angenommen, fragt sich, ob dies bei Nintendo ähnlich feststellbar ist oder ob sich bei Nintendo bestimmte Genres besser verkaufen als anzunehmen.


Genre-Verteilung bei Nintendo

Balkendiagramme

Verkaufszahlen

grouped <- vgsales  %>% 
  group_by(Publisher,Genre) %>% 
  summarize(sum(Global_Sales))  %>%
rename(
    Global_Sales = "sum(Global_Sales)"
    ) %>% 
  filter(Publisher == "Nintendo")


grouped$Global_Sales<-as_vector(grouped$Global_Sales)

ax <- list(
  title = "Genre"
)

ay <- list(
  title = "Verkäufe (in mio)"

)

grouped%>%
  plot_ly() %>% add_bars(x=~Genre,
           y=~Global_Sales,
           color=~Genre ,colors = myPalette)  %>% 
  layout(title="Verkaufszahlen pro Genre für Nintendo",
         xaxis = ax,
         yaxis = ay,
         barmode = 'stack',
         showlegend = FALSE
         )

Wie bereits in der Genre-Analyse der Publisher festgestellt, verkaufen sich Platform-Spiele (427,21 Millionen) bei Nintendo am besten. Doch auch Role-Playing (284,9 Millionen), Sports (218 Millionen) und Misc (180,67 Millionen) machen keinen unwesentlichen Teil ihrer Verkäufe aus. Selbst die weniger prominenten Genres wie Racing (151,3 Millionen), Action (128,18 Millionen) und Puzzle (124,88 Millionen) verkaufen sich immer noch deutlich besser als die entsprechenden Spiele-Genres der Konkurrenz EA. Am deutlichsten ist der Unterschied bei den „kleinen” Genres Simulation (85,27 Millionen), Shooter (69,73 Millionen), Fighting (53,35 Millionen) und Adventure (35,71). Auch wenn diese sich nicht immer im gleichen Rang der Verkäufe/Sales befinden, hat der letzte Rangplatz von Nintendo Strategy (27,35 Millionen) dennoch mehr als das 6-fache der Verkäufe/Sales als der letzte Rangplatz von EA. Dem zum Trotz betragen Nintendos Gesamtverkäufe/Total Sales gegenüber denen von Electronic Arts nicht das 6-fache, sondern weniger als das Doppelte.

Anzahl

grouped <- vgsales  %>% 
  group_by(Publisher,Genre) %>% 
  summarize(Anzahl =n())  %>% 
  filter(Publisher == "Nintendo")



ax <- list(
  title = "Genre"
)

ay <- list(
  title = "Anzahl"

)



grouped%>%
  plot_ly() %>% add_bars(x=~Genre,
           y=~Anzahl,
           color=~Genre ,colors = myPalette)  %>% 
  layout(title="Anzahl der Spielereleases nach Genre für Nintendo",
         xaxis = ax,
         yaxis = ay,
         barmode = 'stack',
         showlegend = FALSE
         )

Hier fällt direkt auf, dass der Ausschlag von Platform (112) deutlich geringer ausfällt, als noch in den Verkaufszahlen. Sowohl Role-Playing (106), als auch Misc (100) umfassen nur wenige Spiele. Im Mittelfeld sind mit Action (79), Puzzle (74) und Sports (55) immer noch eine relativ große Anzahl an Spielen. Selbst die hinteren Plätze mit Racing (37), Adventure (35) und Strategy (32) liegen nur knapp vor Simulation (29), Shooter (26) und Fighting (18).

Kreisdiagramme

Verkaufszahlen

grouped <- vgsales  %>% 
  group_by(Publisher,Genre) %>% 
  summarize(sum(Global_Sales))  %>%
rename(
    Global_Sales = "sum(Global_Sales)"
    ) %>% 
  filter(Publisher == "Nintendo")


grouped$Global_Sales<-as_vector(grouped$Global_Sales)

ax <- list(
  title = "Genre"
)

ay <- list(
  title = "Verkäufe (in mio)"

)

grouped%>%
  plot_ly() %>% 
  add_pie(values =~Global_Sales,labels=~Genre,textinfo='label+percent',sort = TRUE,
           name="Verkäufe nach Genre für Nintendo" ,colors = myPalette) %>% 
  layout(title="Verkäufe nach Genre für Nintendo",
         xaxis = ax,
         yaxis = ay,
         showlegend = FALSE,
         autosize = F
         )

Wie bereits in der Genreanalyse der Publisher festgestellt, verkaufen sich Platform-Spiele (23.9%) bei Nintendo am besten. Doch auch Role-Playing (15.9%), Sports (12.2%) und Misc (10.1%) machen keinen unwesentlichen Teil ihrer Verkäufe aus. Selbst die weniger prominenten Genres wie Racing (8.47%), Action (7.17%) und Puzzle (6.99%) verkaufen sich immer noch deutlich besser als die entsprechenden Spiele-Genres der Konkurrenz EA. Am deutlichsten ist der Unterschied bei den „kleinen” Genres Simulation (4.77%), Shooter (3.9%), Fighting (2.99%) und Adventure (2%). Auch wenn diese sich nicht immer im gleichen Rang der Verkäufe/Sales befinden, hat der letzte Rangplatz von Nintendo Strategy (1.53%) dennoch mehr als das 6-fache der Verkäufe/Sales als der letzte Rangplatz von EA. Dem zum Trotz betragen Nintendos Gesamtverkäufe/Total Sales gegenüber denen von Electronic Arts nicht das 6-fache, sondern weniger als das Doppelte.

Anzahl

grouped <- vgsales  %>% 
  group_by(Publisher,Genre) %>% 
  summarize(Anzahl =n())  %>% 
  filter(Publisher == "Nintendo")


ax <- list(
  title = "Genre"
)

ay <- list(
  title = "Anzahl"

)

grouped%>%
  plot_ly() %>% 
  add_pie(values =~Anzahl,labels=~Genre,textinfo='label+percent',sort = TRUE,
           name="Anzahl nach Genre für Nintendo" ,colors = myPalette) %>% 
  layout(title="Anzahl nach Genre für Nintendo",
         xaxis = ax,
         yaxis = ay,
         showlegend = FALSE
         )

Hier fällt direkt auf, dass der Ausschlag von Platform (15,9%) deutlich geringer ausfällt, als noch in den Verkaufszahlen. Sowohl Role-Playing (15,1%), als auch Misc (14,1%) umfassen nur wenige Spiele. Im Mittelfeld sind mit Action (11,2%), Puzzle (10,5%) und Sports (7,82%) immer noch eine relativ große Anzahl an Spielen. Selbst die hinteren Plätze mit Racing (5,26%), Adventure (4,98%) und Strategy (4,55%) liegen nur knapp vor Simulation (4,13%), Shooter (3,7%) und Fighting (2,56%).

Diese Werte machen deutlich, dass die Spiele des Genre Platform die Kassenschlager sind. Obwohl diese nur 16 % der Spiele-Releases haben, erbringen sie dennoch 24 % der Verkäufe/Sales. Vergleichbares gilt für die Sport-Games, hier ergibt sich bei 8 % Releaseanteil ein Anteil an Verkäufen/Sales von 12 %. Die Spiele der Genres Action (11 % zu 7 %), Misc (14 % zu 10 %) und Puzzle Games (10,5 % zu 7 %) sind im Vergleich nicht so erfolgreich. Die Frage, woran dies liegen könnte, wird im Ausblick in die Zukunft versucht zu beantworten.


Ausblick in die Zukunft

Die vorliegend erläuterte Analyse des Datensatzes und die so erzeugten Grafiken haben weitere Fragen und Ansätze aufgezeigt, bei denen es sich sicher lohnen würde, diese weiter zu verfolgen. Hier als Beispiele und Anregung künftiger Projekte:

Zusammenfassend stellt diese Liste nur einen kleinen Ausschnitt der schier unendlichen Möglichkeiten zur Analyse von mittlerweile mehr als 4 Millionen Videospielen dar. Zu jedem der Videospiele existieren genug öffentliche Daten für entsprechende Arbeiten. Dabei würde jedoch der vorliegend vorgegebene Zeitrahmen von rund 70 Stunden allerdings meistens nicht reichen.

Aufgetretene Probleme

Hier nun die Darstellung der aufgetretenen Problemen, welche entweder nicht lösbar waren oder eine relativ starke Überarbeitung der Ausarbeitung erforderlich machen würde.

Literatur und Quellenverzeichnis

 

Created by Florian Reichle

contact(at)florian-reichle.de