Набор исходных данных, скриптов и готовых графиков для количественного анализа рынка 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 (см. ниже).
| Файл | Размер (порядок) | Описание |
|---|---|---|
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.yaml → paths.
Все PNG из диплома/hsedesign лежат здесь же — пересчёт не обязателен, если нужны только картинки.
| 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 |
| 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Если в 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.