This project was created as part of the Data Science course at Kiel University. The goal of the project was to collect data from publicly available APIs, find a topic that interested us, and use the collected data to investigate six self-defined research questions.
We chose to investigate the relationship between YouTube and Steam because gaming and social media are areas we are already familiar with and genuinely interested in. We collected data from both platforms through their public APIs and combined the datasets to create a broader view of video content and its performance.
Before analyzing the data, we cleaned and prepared the collected datasets to make them suitable for further analysis. We then explored the data using statistical methods and visualizations, creating plots to identify patterns, trends, and relationships that could help us answer our six research questions.
We found 307 YouTube channels using the YouTube Data API. To get a balanced sample, we grouped channels by genre and channel size. We used three size groups: big (more than 1M subscribers), medium (100k–1M), and small (10k–100k). We searched for channels in seven different genres. For each genre and size group. For RQ3, we also added 9 channels that mainly create AI-generated or AI-assisted content.
We checked the tracked YouTube channels every hour for new videos using the YouTube Data API. For each video, we collected information such as views, likes, comments, title, and upload date. We also collected the older videos from each channel, so our dataset covers several years. For videos that were less than 14 days old, we collected their statistics multiple times. This allowed us to see how quickly videos gained views, likes, and comments after being published.
For RQ4, we wanted to find out whether YouTube videos can have an effect on a game's player count. We therefore collected the current player count of the top 1000 games using the Steam Web API. We regularly recorded how many people were playing each game. We then compared the player counts before and after periods with many YouTube videos about the same game.
During the project, we stored the collected data in a MongoDB database. After collecting the data, we exported everything into CSV files. These files are now the main source for the website. Smaller datasets are used directly on the website, while the large video dataset is stored in a SQLite database. This makes it possible to browse the videos without loading the entire dataset at once.
Each of our six research questions has its own Python analysis script. The scripts read the collected data, clean it, calculate the results, and create the data used for the charts on this website. We used several methods to make our results more reliable:
We also set minimum sample sizes for our analyses. If there are too few data points for a reliable result, we leave the result out instead of presenting a potentially misleading number.
This website was built with SvelteKit. The charts are created from the results of our Python analysis scripts. When we run the analysis again, the updated results can be added to the website. The channel directory and video browser use the complete exported datasets, so you can explore the data beyond the charts shown in the individual research questions.