Video Game Metacritic Scores, 1995-2021


Visualization

Introduction

For this second lab, I set out to find a data set that was relevant to my interests and would be fun to work with so I went with video game data once again. After consulting a few different data sources, the one that appeared to be the most workable was the list of Metacritic scores for video games from 1995-2021. Pulled from Kaggle and verified on the Metacritic website, the date seemed simple yet expansive enough that I might be able to create some interesting visualizations from it.

Materials

I used a couple of different sources for this lab: Tableau Public, Kaggle, OpenRefine, and Metacritic.com. I used Kaggle as a source for my data set, searching to see if they had any relevant video game information. I had considered using a data set about the most watched streamers on Twitch but there was no date metric there. Then, I double checked Metacritic to make sure the data was accurate. This meant going through the page linked in the Kaggle page to ensure it matched. Once it was all verified, I put the data set into OpenRefine to clean it up. Finally, Tableau Public was used to create the visualizations.

Process

OpenRefine was the first place I started messing with the data. I removed the description columns with little summaries of the games since they were not going to be useful for the visualization. I also switched the date of release to a month/day/year format that would be more easily processed. WIth my verified and cleaned up data set ready to go, I began to fiddle around with Tableau Public. Plugging in the data led me to start inserting different values into the shelves to see what would make sense. Using some of the notes I had from the recorded lecture and the “Show Me” function, I started to piece together what kinds of visualizations would make most sense with this data. Identifying goals for each visualization (wanting to see which console has the highest average critic score, average critic score by year, etc) was where the concepts really started to come together.

Result and Critique

Average Metacritic Score vs Average User Score by Year
This visualization tracks the correlation between metacritic score and user scores using an area graph that makes it very easy to see where there is overlap and discrepancy. For example, in 1999 the average user score was slightly higher than the critic score. In 2021 however, critic score is significantly higher than user score. This is interesting due to the online sentiment that reviewers are not reflective of the “average gamer.” 

Average Metacritic Score by Console
Given that this just tracks games back to 1995, this is a way to see which games overall have the better critic score. This graph shows us that the Nintendo 64 (whose life span was from 1996-2002) has an average of 78 score for its games, compared to the Wii whose average was a 65. 

Average User Score by Console
Similar to the previous one, but with user scores. The biggest differences here are that it’s the Xbox One that has the lowest average user review, which is interesting given that it’s a fairly recent console.

Total Games by Platform
This was kind of a surprise one for me due to it being unrelated to any scores, but I thought that since this data captured all games reviewed in Metacritic going back to 1995 if it could tell me how many games were on which consoles. The end result being PC is a bit skewed, since many games that were released on home consoles also saw a PC release. Playstation 4 being the second highest number makes more sense

Release Day (of the week) and Average Metacritic Score
The wackiest type of data I could try and visualize. Again, because one of the values in the data is release date, I thought it would be interesting to see what the average critic score per release day would be. Unsurprisingly the averages are not super spread out but finding that Sunday releases were on average most successful was very interesting!

Overall, this was an interesting and fun experience. Having a data set in front of me that I could manipulate using the tools provided by the software was exciting, even if it took me a while to figure out. I worry that the visualizations are a bit simple in comparison to what they could be, but I think I would need to spend more time in Tableau to create something more elaborate. I think this was a helpful way to see how important it is to use a good and clean data set, as well as seeing what Tableau is capable of. 

References:

Best video games of all time. Metacritic. (n.d.). Retrieved October 5, 2022, from https://www.metacritic.com/browse/games/score/metascore/all/all/filtered?page=0

Contractor, D. (2022, January 30). Top video games 1995-2021 metacritic. Kaggle. Retrieved October 5, 2022, from https://www.kaggle.com/datasets/deepcontractor/top-video-games-19952021-metacritic

            <script type='text/javascript'>                    var divElement = document.getElementById('viz1664953047655');                    var vizElement = divElement.getElementsByTagName('object')[0];                    vizElement.style.width='100%';vizElement.style.height=(divElement.offsetWidth*0.75)+'px';                    var scriptElement = document.createElement('script');                    scriptElement.src = 'https://public.tableau.com/javascripts/api/viz_v1.js';                    vizElement.parentNode.insertBefore(scriptElement, vizElement);                </script>
            <script type='text/javascript'>                    var divElement = document.getElementById('viz1664953009656');                    var vizElement = divElement.getElementsByTagName('object')[0];                    vizElement.style.width='100%';vizElement.style.height=(divElement.offsetWidth*0.75)+'px';                    var scriptElement = document.createElement('script');                    scriptElement.src = 'https://public.tableau.com/javascripts/api/viz_v1.js';                    vizElement.parentNode.insertBefore(scriptElement, vizElement);                </script>
            <script type='text/javascript'>                    var divElement = document.getElementById('viz1664952967453');                    var vizElement = divElement.getElementsByTagName('object')[0];                    vizElement.style.width='100%';vizElement.style.height=(divElement.offsetWidth*0.75)+'px';                    var scriptElement = document.createElement('script');                    scriptElement.src = 'https://public.tableau.com/javascripts/api/viz_v1.js';                    vizElement.parentNode.insertBefore(scriptElement, vizElement);                </script>
            <script type='text/javascript'>                    var divElement = document.getElementById('viz1664952890926');                    var vizElement = divElement.getElementsByTagName('object')[0];                    vizElement.style.width='100%';vizElement.style.height=(divElement.offsetWidth*0.75)+'px';                    var scriptElement = document.createElement('script');                    scriptElement.src = 'https://public.tableau.com/javascripts/api/viz_v1.js';                    vizElement.parentNode.insertBefore(scriptElement, vizElement);                </script>
            <script type='text/javascript'>                    var divElement = document.getElementById('viz1664952603245');                    var vizElement = divElement.getElementsByTagName('object')[0];                    vizElement.style.width='100%';vizElement.style.height=(divElement.offsetWidth*0.75)+'px';                    var scriptElement = document.createElement('script');                    scriptElement.src = 'https://public.tableau.com/javascripts/api/viz_v1.js';                    vizElement.parentNode.insertBefore(scriptElement, vizElement);                </script>