Elite Online Chess
The chess files describe high-level blitz and bullet games played on Chess.com by players whose peak rating reached at least 3100. A second table contains player profile and rating information.
Data
Extract chesscom_3100.zip, then upload the resulting CSV file to your group workspace before reading it in R.
games <- readr::read_csv("chesscom_3100.csv")
players <- readr::read_csv(
"https://bcdanl.github.io/data/chesscom_GMs_profile.csv"
)Game variables
| Variable | Meaning |
|---|---|
Date, Year, Month, Day |
When the game was played |
White, Black |
Chess.com usernames |
Result |
Win, loss, or draw from White’s perspective |
WhiteElo, BlackElo |
Player ratings at game time |
ECO, ECO_name, ECO_moves |
Opening classification and opening moves |
Termination |
How the game ended |
TimeControl |
Total time control in seconds |
Player variables
The profile table includes usernames, names, countries, rankings and ratings by time format, titles, follower counts, streamer status, account status, and join dates.
Possible story directions
- Does the first-move advantage change with rating difference or time control?
- Which openings appear most often, and how do their outcomes differ?
- How have game volume and player ratings changed over time?
- Are particular termination types associated with faster time controls?
- How do audience measures such as followers vary across player titles or streamer status?
A useful first pass
Standardize usernames before joining games to profiles. Define clearly whether one observation is a game, a player-game appearance, or a player profile; that choice changes every count and chart.
