Skip to content
Project: When Was the Golden Era of Video Games?
  • AI Chat
  • Code
  • Report
  • Video games are big business: the global gaming market is projected to be worth more than $300 billion by 2027 according to Mordor Intelligence. With so much money at stake, the major game publishers are hugely incentivized to create the next big hit. But are games getting better, or has the golden age of video games already passed?

    In this project, you'll analyze video game critic and user scores as well as sales data for the top 400 video games released since 1977. You'll search for a golden age of video games by identifying release years that users and critics liked best, and you'll explore the business side of gaming by looking at game sales data.

    Your search will involve joining datasets and comparing results with set theory. You'll also filter, group, and order data. Make sure you brush up on these skills before trying this project! The database contains two tables. Each table has been limited to 400 rows for this project, but you can find the complete dataset with over 13,000 games on Kaggle.

    game_sales table

    ColumnDefinitionData Type
    nameName of the video gamevarchar
    platformGaming platformvarchar
    publisherGame publishervarchar
    developerGame developervarchar
    games_soldNumber of copies sold (millions)float
    yearRelease yearint

    reviews table

    ColumnDefinitionData Type
    nameName of the video gamevarchar
    critic_scoreCritic score according to Metacriticfloat
    user_scoreUser score according to Metacriticfloat

    users_avg_year_rating table

    ColumnDefinitionData Type
    yearRelease year of the games reviewedint
    num_gamesNumber of games released that yearint
    avg_user_scoreAverage score of all the games ratings for the yearfloat

    critics_avg_year_rating table

    ColumnDefinitionData Type
    yearRelease year of the games reviewedint
    num_gamesNumber of games released that yearint
    avg_critic_scoreAverage score of all the games ratings for the yearfloat
    Unknown integration
    DataFrameavailable as
    best_selling_games
    variable
    -- best_selling_games
    
    SELECT *
    FROM game_sales
    ORDER BY games_sold DESC
    LIMIT 10;
    
    Unknown integration
    DataFrameavailable as
    critics_top_ten_years
    variable
    -- critics_top_ten_years
    
    SELECT
    	g.year,
    	COUNT(c.num_games) AS num_games,
    	ROUND(AVG(c.avg_critic_score),2) AS avg_critic_score
    FROM
    	public.game_sales AS g
    INNER JOIN
    	public.critics_avg_year_rating AS c
    ON g.year = c.year
    GROUP BY 
    	g.year
    HAVING 
    	AVG(c.num_games) > 4
    ORDER BY 
    	avg_critic_score DESC
    LIMIT 10;
    Unknown integration
    DataFrameavailable as
    golden_years
    variable
    -- golden_years
    
    SELECT
    	u.year,
    	u.num_games,
    	c.avg_critic_score,
    	u.avg_user_score,
    	GREATEST(c.avg_critic_score, u.avg_user_score) - 
    	LEAST(c.avg_critic_score, u.avg_user_score) AS diff
    FROM 
    	public.critics_avg_year_rating AS c
    INNER JOIN
    	public.users_avg_year_rating AS u
    ON 
    	c.year = u.year
    WHERE 
    	c.avg_critic_score > 9
    	OR u.avg_user_score > 9
    ORDER BY diff ASC;