gptilt/lol-ultimate-events-challenger-10m
GPTilt: 10M Enriched Events from 10K LoL Challenger Matches This dataset is part of the GPTilt open-source initiative, aimed at democratizing access to high-quality LoL data for research and analysis, fostering public exploration, and advancing the community's understanding of League of Legends through data science and AI. It provides detailed data from high-elo matches. By using this dataset, users accept full responsibility for any consequences arising from its use. GPTilt… See the full description on the dataset page: https://huggingface.co/datasets/gptilt/lol-ultimate-events-challenger-10m.
GPTilt: 10M Enriched Events from 10K LoL Challenger Matches
This dataset is part of the GPTilt open-source initiative, aimed at democratizing access to high-quality LoL data for research and analysis, fostering public exploration, and advancing the community's understanding of League of Legends through data science and AI. It provides detailed data from high-elo matches.
By using this dataset, users accept full responsibility for any consequences arising from its use. GPTilt assumes no liability for any damages that may result. Users are strongly encouraged to review the ["Uses"](#uses) section—particularly the ["Out-of-Scope Use"](#out-of-scope-use) subsection—for guidance.
Getting Started
First, install Hugging Face's datasets package:
pip install datasetsNow, you can load the dataset!
from datasets import load_dataset
# Specify just the config_name / table
dataset = load_dataset("gptilt/lol-ultimate-events-challenger-10m", name="events")
# Or include the split!
dataset = load_dataset("gptilt/lol-ultimate-events-challenger-10m", name="events", split="train_region_americas")Dataset Summary
This dataset contains 10M Enriched Events from 10K LoL Challenger Matches. It provides a comprehensive profile of each event, complete with pre-game and game state information. Data was originally collected and processed via the official Riot Games API. It's , with the primary language being english.
Dataset Structure
The data is structured into tables:
- events: Contains a detailed timeline of enriched in-game events (e.g.,
CHAMPION_KILL,ITEM_PURCHASED,WARD_PLACED,BUILDING_KILL,ELITE_MONSTER_KILL) with timestamps, and contextual information regarding both game state (player positions (where applicable), inventories, and levels) and pregame state (champions, runes, etc).
{
"matchId": "LA2_1495348800",
"eventId": 10, # IDs are attributed per match
"timestamp": 194787,
"type": "LEVEL_UP",
# Player information
"inventory_0": [1421, 3500], # Item IDs
"level_0": 12, # Level at time of event
(...)
"inventory_1": [1258, 3500],
"level_1": 11,
}All events have a matchId column, making it compatible with all `basic` tier `matches` tables.
Additionally, data is segmented into 6 splits: ['trainregionamericas', 'testregionamericas', 'trainregionasia', 'testregionasia', 'trainregioneurope', 'testregioneurope'].
Dataset Creation
Curation Rationale
This dataset was created to address the lack of large-scale, publicly available, and analysis-ready datasets for League of Legends research. The GPTilt project aims to provide resources for the community to apply data science and AI techniques to better understand the intricate dynamics of the game, moving beyond simple win prediction towards interpreting strategic patterns and complex interactions. This specific dataset focuses on high-elo (Challenger) players to capture refined strategic execution.
Source Data
Data Collection and Processing
The source data originates exclusively from the **Riot Games API** and **CDragon**.
- Seeding: High-elo player PUUIDs were initially identified using the
league-v4endpoint for the Challenger tier across multiple regions. - Match History: The
match-v5endpoint was used to retrieve recent match IDs for these players. - Match & Timeline Fetching: The
match-v5(match details) andmatch-v5(match timeline) endpoints were used to download the full data for each unique match ID identified. - Raw Storage: Raw API responses (JSON format) were saved.
- Staging & Transformation: Raw data was parsed, and transformed into the basic-tier dataset 'League of Legends Challenger Matches'. The matches dataset was then used to build the enriched events dataset.
- Output: Data was written to Parquet files, partitioned by
region.
Who are the source data producers?
The underlying gameplay data is generated by League of Legends players participating in high-elo ranked matches. The Riot Games API serves as the source interface providing access to this gameplay data. The dataset curators are the contributors to the GPTilt project who performed the collection and processing steps. No demographic information about the players is collected, besides the region.
Personal and Sensitive Information
The dataset contains PUUIDs and Participant IDs, which are pseudonymous identifiers linked to League of Legends accounts. No other Personally Identifiable Information (PII) like real names, emails, or addresses is included. Use of these identifiers is subject to Riot Games' policies. Users should exercise caution and adhere to these policies, avoiding attempts to deanonymize players who cannot reasonably be identified from visible information.
Bias, Risks, and Limitations
- Skill Tier Bias: This dataset focuses exclusively on the Challenger tier. Findings may not generalize to other skill levels (Bronze, Silver, Gold, Platinum, Diamond, Master, Grandmaster) where metas, champion picks, and strategic execution differ significantly. Because match data is selected by searching for Challenger players, multi-tier games may (and are expected) to be present in the dataset.
- Regional Bias: While collected from multiple regions, the distribution might not be perfectly balanced, potentially reflecting the metas dominant in the included regions during the collection period.
- Patch Bias: The data reflects gameplay on specific game versions (see
matchestablegameVersionfield). Major patches can significantly alter champion balance, items, and objectives, potentially making findings less relevant to different patches. - Missing Context: The data captures recorded events and states but lacks external context like player communication (voice/text chat), player fatigue/tilt, real-time strategic intent, or external distractions.
- API Limitations: Data is subject to the accuracy and granularity provided by the Riot Games API. Some nuanced actions or states might not be perfectly captured. Rate limits inherent to the API restrict the size and frequency of potential dataset updates.
Recommendations
- Users should explicitly acknowledge the high-elo (Challenger) bias when reporting results and be cautious about generalizing findings to other player segments.
- Always consider the game version (`gameVersion`) when analyzing the data, as metas and balance change significantly between patches.
- Users must adhere to the Riot Games API Terms of Service and Developer Policies in all uses of this data.
Uses
Disclaimer
This dataset utilizes data from the Riot Games API. Its use is subject to the Riot Games API Terms of Service and relevant developer policies. GPTilt is not endorsed by Riot Games and does not reflect the views or opinions of Riot Games or anyone officially involved in producing or managing League of Legends. League of Legends and Riot Games are trademarks or registered trademarks of Riot Games, Inc. League of Legends © Riot Games, Inc.
License
This dataset and all associated code is licensed under the Creative Commons Attribution-NonCommercial 4.0 International license.
Direct Use
This dataset is intended for non-commercial research, data analysis, and exploration aimed at understanding League of Legends gameplay dynamics, strategic patterns, champion interactions, and game flow. Suitable uses include:
- Statistical analysis of high-elo match characteristics.
- Exploratory data analysis to uncover trends and correlations.
- Training machine learning models (including Transformer-based architectures like LLoLMs) for tasks related to game state representation, event sequence modeling, pattern recognition for game understanding, etc.
- Feature engineering for derived metrics.
- Educational purposes related to data science and game analytics.
Users must ensure their use case complies with the Riot Games API [Terms of Service](https://developer.riotgames.com/terms) and [Developer Policies](https://developer.riotgames.com/policies/general). Consult these policies before using the data.
Out-of-Scope Use
This dataset must not be used for purposes that violate the Riot Games API Terms of Service or Developer Policies.
This dataset is derived from high-elo games and may not accurately represent gameplay patterns at lower skill levels. Consult the Riot Games API [Terms of Service](https://developer.riotgames.com/terms) and [Developer Policies](https://developer.riotgames.com/policies/general) for comprehensive usage restrictions.
Changelist
May 27, 2025
- Divided splits into
trainandtest.
May 26, 2025
- Per-player inventories (
inventory_) were split into padded (thus, equal-length) inventory item IDs (inventoryIds_) and inventory item counts (inventoryCounts_).
May 24, 2025
- Added fields
gameVersion,platformId(server), andgameStartTimestamp.
Citation
If you wish to use this dataset in your work, we kindly ask that you cite it.
For most informal work, a simple mention of the GPTilt project and the 10M Enriched Events from 10K LoL Challenger Matches dataset will suffice.
BibTeX:
@misc{gptilt_10m_enriched_events_from_10k_lol_challenger_matches,
author = { GPTilt Contributors },
title = { 10M Enriched Events from 10K LoL Challenger Matches },
year = { 2025 },
publisher = { Hugging Face },
journal = { Hugging Face Hub },
url = { https://huggingface.co/datasets/gptilt/lol-ultimate-events-challenger-10m }
}