This repository contains scripts to fetch, process, and analyze Battlefield 2042 Steam reviews, load them into BigQuery, and visualize insights in Looker Studio.
📂 Repository Contents
The project involves the following steps:
- Fetching Battlefield 2042 Steam reviews from Steam API using
battlefield2042_steam_review_request.py. - Converting JSON responses to CSV using
json_to_csv_conversion.py. - Loading the reviews and event data into BigQuery.
- Aggregating reviews by sentiment per week for analysis.
- Creating a Looker Studio dashboard to visualize trends.
Below is a snapshot of the Looker Studio dashboard.

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.
python battlefield2042_steam_review_request.pyThe 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)
python json_to_csv_conversion.pyTwo datasets were uploaded to BigQuery:
battlefield2042_reviews_no_text.csv→ Contains structured review data.battlefield2042_events.csv→ Contains major game updates, DLC releases, and free weekend events.
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.
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.
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.
- 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.
For questions, feedback, or collaboration opportunities, feel free to reach out:
- Name: Kenith C.
- Email: kenith.ckl@gmail.com
- LinkedIn: linkedin.com/in/kenithckl
- GitHub: github.com/ken1th
This project is licensed under the MIT License. Feel free to use, modify, and distribute this project.🎮📊