Skip to content

ken1th/SteamReviewAnalysis

Repository files navigation

Battlefield 2042 Steam Reviews Analysis

This repository contains scripts to fetch, process, and analyze Battlefield 2042 Steam reviews, load them into BigQuery, and visualize insights in Looker Studio.


Project Structure

📂 Repository Contents

The project involves the following steps:

  1. Fetching Battlefield 2042 Steam reviews from Steam API using battlefield2042_steam_review_request.py.
  2. Converting JSON responses to CSV using json_to_csv_conversion.py.
  3. Loading the reviews and event data into BigQuery.
  4. Aggregating reviews by sentiment per week for analysis.
  5. Creating a Looker Studio dashboard to visualize trends.

Below is a snapshot of the Looker Studio dashboard. Looker Studio Dashboard


1. Fetching Reviews from Steam API

The script battlefield2042_steam_review_request.py retrieves up to 292,000 reviews from Steam.

  • It requests 100 reviews per page, iterating through 2930 pages.
  • Uses a cursor-based pagination system to ensure continuous fetching.
  • Saves the output to battlefield2042_full_responses.json.

Running the Script

python battlefield2042_steam_review_request.py

2. Converting JSON to CSV

The json_to_csv_conversion.py script processes the JSON responses and extracts relevant data into CSV files:

  • battlefield2042_reviews_no_text.csv (without review text, for efficiency)
  • battlefield2042_reviews_full.csv (with full text for sentiment analysis)

Running the Conversion

python json_to_csv_conversion.py

3. Loading Data into BigQuery

Two datasets were uploaded to BigQuery:

  1. battlefield2042_reviews_no_text.csv → Contains structured review data.
  2. battlefield2042_events.csv → Contains major game updates, DLC releases, and free weekend events.

4. Aggregating Reviews by Week

To analyze sentiment trends, reviews were aggregated per week using the following BigQuery SQL query:

CREATE OR REPLACE TABLE `analysis-450722.bf_reviews.sentiment_by_week` AS
SELECT
    week_date,
    DATE_TRUNC(week_date, MONTH) AS month_date,  -- Extracts the month from week_date
    COUNTIF(review_sentiment = 'Positive') AS positive_count,
    COUNTIF(review_sentiment = 'Negative') AS negative_count,
    COUNT(*) AS total_reviews,
    SAFE_DIVIDE(COUNTIF(review_sentiment = 'Positive'), COUNT(*)) AS positive_ratio
FROM
    `analysis-450722.bf_reviews.reviews_no_text`
GROUP BY
    week_date, month_date
ORDER BY
    week_date;

This query:

  • Groups reviews by week_date.
  • Calculates the positive and negative review counts.
  • Computes the positive review ratio over time.
  • Helps correlate review sentiment changes with game events.

5. Creating the Looker Studio Dashboard

The aggregated data was visualized using Looker Studio to:

  • Show positive vs. negative sentiment trends over time.
  • Correlate review sentiment with major game updates and events.
  • Analyze sentiment by language, platform, and playtime bucket.

Summary

This project enables tracking how Battlefield 2042's updates, patches, and free weekends have impacted player sentiment. The dataset is structured for efficient querying in BigQuery, with interactive Looker Studio visualizations for insights.


Future Improvements

  • Implement automated fetching of reviews at regular intervals.
  • Add natural language processing (NLP) for deeper sentiment analysis.
  • Explore predictive analytics to forecast player sentiment based on updates.

📩 Contact

For questions, feedback, or collaboration opportunities, feel free to reach out:


License

This project is licensed under the MIT License. Feel free to use, modify, and distribute this project.🎮📊

About

This repository contains scripts to fetch, process, and analyze Battlefield 2042 Steam reviews, load them into BigQuery, and visualize insights in Looker Studio.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages