Skip to content

SoreGame/SteamGameDataset

Repository files navigation

SteamGameDataset

Набор исходных данных, скриптов и готовых графиков для количественного анализа рынка Steam в дипломном исследовании REHozy (глава «Анализ рынка»).

Оценки продаж — поле copiesSold из SteamGameDataScraping (модель Gamalytic, не фактические Steamworks-продажи). Теги — user-tags Steam / SteamSpy. Жанры — категории Store из base_games.csv.


Структура репозитория

SteamGameDataset/
├── README.md                 # этот файл
├── requirements.txt
├── config.yaml               # окна дат, пороги, теги, пути
├── tag_config.py
├── fetch_data.py             # сбор games_enriched.csv (теги + продажи)
├── fetch_2023_appdetails.py  # догрузка appdetails за 2023
├── analyze_tags.py           # медианы и пары тегов, heatmap
├── analyze_concentration.py  # Gini, hit rate, Lorenz, кварталы Cozy
├── analyze_genres.py         # жанры Store 2023–2025 и полный каталог
├── data/                     # входные и промежуточные CSV
└── output/                   # таблицы и PNG для hsedesign / диплома

tags_cache/ в репозиторий не входит (десятки тысяч JSON с Steam API). Для полного пересбора тегов кэш создаётся локально при fetch_data.py (см. ниже).


Исходные данные (data/)

Файл Размер (порядок) Описание
base_games.csv ~12 MB Каталог Steam: steam_appid, name, release_date, genres, price, … (Cerberus)
gamalytic_steam_games.csv ~3 MB Оценки copiesSold, reviewScore, publisherClass по steamId
games_enriched.csv ~4 MB Готово: одна строка на пару (игра × тег) в окне config.yaml
games_by_genre.csv ~31 MB Одна строка на пару (игра × жанр Store), полный merge
games_by_genre_2023_2025.csv ~12 MB То же, релизы 2023–2025
releases_by_year.csv малый Рост cozy-релизов (внешние оценки для контекста)

Если клонируете репозиторий без data/, скачайте CSV из SteamGameDataScraping и положите в data/ с именами из config.yamlpaths.


Графики (output/)

Все PNG из диплома/hsedesign лежат здесь же — пересчёт не обязателен, если нужны только картинки.

Теги (ниша Cozy, окно из date_mindate_max)

PNG Скрипт
tag_sales_median.png analyze_tags.py
tag_sales_count.png analyze_tags.py
tag_pair_sales.png analyze_tags.py
tag_pair_heatmap.png analyze_tags.py (медиана пар)
tag_pair_heatmap_mean.png analyze_tags.py (среднее пар)
hit_rate_thresholds.png analyze_concentration.py
lorenz_cozy_vs_casual.png analyze_concentration.py
cozy_releases_by_quarter.png analyze_concentration.py

Жанры Store

PNG Скрипт
genre_releases_count_2023_2025.png analyze_genres.py --catalog-2023-2025
genre_hit_rate_2023_2025.png то же
genre_sales_median_2023_2025.png то же
genre_releases_count.png analyze_genres.py (окно по умолчанию)
genre_hit_rate_thresholds.png то же
genre_sales_median.png то же
genre_lorenz.png то же

Рядом лежат CSV-сводки (tag_summary.csv, genre_summary_2023_2025.csv, hit_rate_by_genre_2023_2025.csv, …).


Воспроизведение расчётов

Требования

  • Python 3.10+
  • Windows / macOS / Linux
cd SteamGameDataset
python -m pip install -r requirements.txt

Быстрый путь (графики уже в output/)

Если в data/ есть games_enriched.csv, base_games.csv и gamalytic_steam_games.csv:

python analyze_tags.py
python analyze_concentration.py
python analyze_genres.py --catalog-2023-2025
python analyze_genres.py

Скрипты перезапишут соответствующие файлы в output/.

Полный пересбор тегов (долго)

# С нуля: SteamSpy + appdetails, кэш в tags_cache/
python -u fetch_data.py

# Тестовый прогон (~20–40 мин, урезанная выборка):
python -u fetch_data.py --max-appdetails 1200

# Только пересобрать enriched из уже скачанного кэша:
python -u fetch_data.py --rebuild-from-cache

Затем снова analyze_tags.py и analyze_concentration.py.

Параметры

  • Окно релизов для тегов: date_min, date_max в config.yaml (сейчас 2023-01-01 … 2025-12-31).
  • Пороги «хита»: success_thresholds (500 / 5k / 10k / 50k копий).
  • Жанры 2023–2025: python analyze_genres.py --catalog-2023-2025.

Ограничения (важно для интерпретации)

  • Датасет Gamalytic в скрапе обрезан примерно серединой 2025 — поздние релизы и всплески после фестивалей могут не попасть в выборку.
  • copiesSoldоценка, не отчёт издателя.
  • Wishlist по чужим играм в открытом доступе нет; анализ строится на релизах и распределении продаж.
  • Одна игра может иметь несколько жанров Store — столбцы жанров сравнивают насыщенность сегментов, а не уникальные тайтлы без пересечений.

Связь с дипломом

Текст и интерпретация: issledovanie_rehozy.md / hsedesign_analiz_rynka.md в репозитории диплома.
Локальная копия пайплайна для разработки: папка market/ (синхронизируется с этим репозиторием).

Лицензия и атрибуция

  • Данные Cerberus / Gamalytic — см. лицензию SteamGameDataScraping.
  • SteamSpy API: https://steamspy.com/api.php (ограничения по частоте запросов при fetch_data.py).
  • Код анализа — автор дипломного проекта REHozy.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages