Steam Market Intelligence
Steam is flooded, and attention is concentrated: 17,725 games launched in 2024, seven times as many as in 2015, and the top 1% of them hold 82% of the cohort's reviews. For an indie studio, the data points to a $10–30 price, a weekday launch outside December, a co-op or systems-heavy niche over a crowded casual one, and leaving early access with something better than it entered with.
124,146 Steam apps (catalog through Sep 2026) and 41.2 million user reviews from 14.3 million players (2010–2022). Built with Python, DuckDB SQL and statsmodels.

Recommendations for an indie studio
- Price at $10–30, not under $5. Of paid games released 2019–2024, 35% priced $10–19.99 and 44% priced $20–29.99 reached 100 reviews, against 13% of games under $5. Price has no measurable effect on how positive reviews are (correlation 0.02 across 13,872 paid games with 50+ reviews).
- Pick an underserved niche. Among the user tags games are best known for, Base Building, Turn-Based, Co-op, Colony Sim and City Builder each have fewer than 350 games (2018–2023) but median review counts of 134–223, two to three and a half times the typical tag (62). Casual, Puzzle, 2D, Arcade and 2D Platformer are crowded (850–7,000 games each) with median reviews of 30–42 and 1,000-review hit rates of 4–7%.
- Launch on a Thursday or Tuesday, and not in December. 23% of Thursday launches and 20% of Tuesday launches reached 100 reviews, against 8% on Saturday. September launches did best (19%) and December worst (15%).
- Treat early access as a promise. In the 1,229 games with 50+ reviews both during early access and after full release, the median share of players recommending the game fell from 87% to 81%, and only 1 in 4 games improved.
- Ship on more platforms and in more languages. Holding genre, price, year and launch month constant (OLS on 56,666 paid games, 2019–2024), each additional supported language goes with 5% more reviews and Mac or Linux support with 30% more. Self-published games get 53% fewer reviews than published ones, and Casual-tagged games 47% fewer.
What players do
- The first two hours decide the review. Only 62% of reviews written after under two hours of play recommend the game, against 90% of reviews after 50–200 hours.
- Negative reviews carry more weight. They draw 6.3 helpful votes on average against 2.7 for positive ones, and 41% of negative reviews get at least one helpful vote (18% of positive reviews).
- Heavy collectors are the toughest critics. Players with 200+ games in their library recommend 83% of the time; players with fewer than 10 games recommend 90% of the time.
- Sentiment doesn't really drift after launch. Pooled across all games, the recommend rate looks like it rises from 81% in the launch month to 85% a year later. Within the same games, the median change at 12 months is −0.6 points: the apparent rise comes from which games are still being reviewed, not from players warming up (Simpson's paradox).
![]() |
![]() |
Dashboard
Open the interactive dashboard. Every table behind it is in reports/tables/, ready to load into Power BI or Tableau.
Questions answered
| # | Question | Output |
|---|---|---|
| Q1 | Which genres and tags are crowded vs underserved? | q1_genre_competition_demand.csv, q1_tag_opportunity_matrix.csv |
| Q2 | What is the price sweet spot, and does price hurt sentiment? | q2_price_band_outcomes.csv |
| Q3 | Does release month or weekday matter? | q3_release_month.csv, q3_release_weekday.csv |
| Q4 | Are early-access games rated better or worse after release? | q4_early_access_before_after.csv |
| Q5 | How concentrated is success? | q5_concentration_by_year.csv |
| Q6 | Does sentiment drift, and do heavy players review differently? | q6_*.csv |
| — | What predicts review volume, other things equal? | regression_coefficients.csv |
Data
| Source | Contents | Rows | License |
|---|---|---|---|
| Steam Games Dataset (FronkonGames) | Every Steam app: price, release date, genres, positive and negative review counts, estimated owners, peak players | 124,146 | MIT |
| Game Recommendations on Steam (Kozyriev) | Games with 10+ reviews and user tags; 41.2M individual reviews with hours played and helpful votes; 14.3M users | 41,154,794 reviews | See Kaggle page |
Method
- Model.
sql/01_model.sqlbuilds a DuckDB star schema:fact_recommendation(41.2M rows),dim_game,dim_user(library-size segments),dim_date, and bridge tables for genres and user tags. Adq_logtable records row counts and integrity checks (zero duplicate app or review IDs). - Demand measure. Total reviews (positive + negative), which is exact. Steam's owner estimates come in 13 coarse buckets, so they're kept only for ranking. "Visible" means 100+ reviews.
- Fair review scores. A Wilson lower bound replaces the raw positive share, so a game with 12 reviews at 100% can't outrank one with 50,000 at 97%.
- Scope. 111,884 games released 2006–2025. Software (1,562 apps), demos, playtests, dedicated servers and soundtracks (8,836 apps), and apps with no genre are flagged and excluded, not deleted.
- Early access. A within-game comparison: each game's recommend rate on reviews dated before its listed release vs after, so differences between games can't explain the result.
- Sentiment drift. Each game's month-k recommend rate minus its own launch-month rate, medianed across games, alongside the naive pooled rate.
- Regression. OLS of log(1 + reviews) on log price, platforms, languages, self-publishing, early access, genre flags, and release-year and release-month fixed effects, with HC1 robust standard errors (R² 0.15). Coefficients are associations, not causal effects.
Limitations
- Older games have had longer to collect reviews, so per-year visibility rates and medians favor older cohorts. The top-1% share is less sensitive to this and still rose, from 71% for 2019 releases to 82% for 2024.
- Survivorship. The catalog holds apps on Steam when it was scraped; delisted games are missing.
- The review sample is not the catalog. The 41M reviews cover games with 10+ reviews and end in Dec 2022, so the tag analysis describes games that already got some traction.
- Free games. Many free apps in the catalog are tiny or abandoned (median 0 reviews), so free-to-play results describe the long tail, not live-service hits.
Reproduce
pip install -r requirements.txt
python src/extract.py --kaggle-zip path/to/archive.zip # HF download + Kaggle CSV-to-Parquet (--what-if to preview)
python src/transform.py # builds data/steam.duckdb (~20 s)
python src/analysis.py # tables, figures, findings.json (~15 s)
python notebooks/_build_notebook.py # optional: re-execute the walkthrough
Repository layout
src/ extract, transform, analysis
sql/ DuckDB star schema
notebooks/ executed walkthrough (01_walkthrough.ipynb)
reports/ tables/ (CSV), figures/ (PNG), findings.json
docs/ data dictionary

