Data Methodology
Overview
MetaBot.GG provides comprehensive statistics and analysis for League of Legends, Teamfight Tactics, Deadlock, Valorant, Marvel Rivals, Dark and Darker, Slay the Spire 2, and other games. Our data methodology is designed to give players accurate, actionable insights based on real match data. In order to do this, we collect data from a variety of sources depending on the game that we are analyzing, including official and community APIs, datamined game files, and our own MetaBot.GG Desktop App. In the spirit of open transparency, this page is dedicated to provide details on how we collect our data and how that allows us to provide you with accurate stats that get updated on a daily basis.
Data Sources
We collect data from a variety of sources to provide you with the most accurate and competitive information that we can.
MetaBot.GG Desktop App
Across several of our supported games, we collect match data directly from players who install the MetaBot.GG Desktop App. The app is completely optional and opt-in: it records the details of your matches as you play and securely submits anonymized match summaries that we add to our data pool. For Slay the Spire 2, the app instead reads your locally saved run files and submits those runs.
Collecting data this way lets us supplement official and community APIs with fresh, first-hand match data, which helps us update our statistics faster and cover games that do not offer a public data API. All data submitted through the app is anonymized and used only for aggregate statistical analysis.
Want to contribute and unlock in-game overlays and post-game analysis at the same time? Download the MetaBot.GG Desktop App
League of Legends
Our main source of data for League of Legends comes from the publicly available Riot Games Developer API that Riot provides for the community. This data comes from the development team for League of Legends themselves, which ensures that the match data we collect is both useful and accurate.
In order to collect match data, we first begin by collecting player account data so that we can create a registry of League of Legends users. We update this list over time, continually growing our list of players we find matches for. From there, we routinely scan their latest matches and filter out any matches that aren't in the latest patch. This way, we only include match data from the latest League of Legends patches and keep our stats up to date with the latest changes from the Riot development team.
We don't change our statistics over to the latest League patch until we have collected data on at least 100,000 matches. We do this to ensure that we have a sizeable pool of data before running our analytics and providing players with statistics. Collecting this many matches doesn't take long, and we usually are able to update our site to the latest patch within a day or two of the new patch launching.
We continue to collect match data for new patches throughout the entire patch, and update our aggregated statistics on MetaBot several times a day. This ensures our analytics stay up-to-date with fresh aggregations.
In addition to the Riot Games API, we also collect League of Legends match data directly from players who use the MetaBot.GG Desktop App. The app records the details of your matches as you play and securely submits anonymized match summaries to grow our data pool, helping us surface even fresher statistics for the current patch.
TFT
Our main source of data for TFT comes from the publicly available Riot Games Developer API that Riot provides for the community. This data comes from the development team for TFT themselves, which ensures that the match data we collect is both useful and accurate.
The primary Riot Games Developer API doesn't provide all the data we need for TFT though, so we supplement our data with a more thorough community-ran API called Community Dragon. This allows us to get more thorough information about unit stats (attack damage, ability power, etc), assets, and more.
Similar to League of Legends, we start by compiling a list of players that we continually add to. We use this player list to scan match data from the Riot API, and filter out the match data so that we only save the matches that come from the latest TFT patch. This ensures that our data updates between patches and only contains accurate data from the most recent patch changes.
After a new patch releases we wait until we collect data on at least 100,000 matches before updating the site to the newest patch, which usually takes a day or two after a new patch launches. We continue to collect data on the current patch afterwards to grow our match data pool, and update our aggregated statistics several times throughout the day.
We also supplement our TFT data with matches collected directly from players who use the MetaBot.GG Desktop App. As you play, the app records your match results and securely adds anonymized summaries to our data pool, keeping our statistics fresh for the latest set and patch.
Deadlock
Our main source of data for Deadlock comes from the publicly available community supported API. To support the API, the API tool ingests data from players about their match history and uses that to create exportable data for consumption by analytical tools like MetaBot.GG.
Our tool uses both data and analytics from the Deadlock API, and also builds out more complex and technical analytics on top of what we are already ingesting from the tool.
We generally use data from the last 10 days of gameplay collected from the API tool so that we can provide only the most fresh and up to date information for players.
We also collect Deadlock match data directly from players who use the MetaBot.GG Desktop App, which records your matches as you play and securely contributes anonymized summaries to our data pool.
Valorant
Our main source of data for Valorant is a community-supported Valorant API that builds on top of Riot Games' official match data. This gives us access to detailed match histories, including agent picks, weapon and ability usage, economy, and round-by-round outcomes.
As with our other Riot titles, we maintain a growing registry of players and routinely scan their recent matches across competitive, unrated, and other queues. We filter this data down to the most recent act and patch so that our statistics always reflect the current state of the game.
We also collect Valorant match data directly from players who use the MetaBot.GG Desktop App. As you play, the app records publicly visible match information and securely submits anonymized summaries to our data pool, allowing us to provide fresher agent, weapon, and map statistics.
We continue to collect matches throughout each act and update our aggregated statistics several times a day, ensuring our analytics stay current with the latest meta.
Marvel Rivals
Our main source of data for Marvel Rivals is a community-supported Marvel Rivals API that aggregates player match histories. This data comes from real matches played by the community, which ensures the statistics we provide are grounded in actual gameplay.
We compile a registry of players that we continually grow over time, and routinely scan their recent matches to capture hero picks, kills, deaths and assists, team-ups, maps, and match outcomes. We also periodically pull more detailed match data so that we can build deeper team-up and synergy analytics on top of the basics.
In addition to the API, we collect Marvel Rivals match data directly from players who use the MetaBot.GG Desktop App, which records your matches as you play and securely adds anonymized summaries to our data pool. We update our aggregated statistics several times a day to keep pace with balance changes and new seasons.
Dark and Darker
For Dark and Darker, we focus on the in-game marketplace rather than match statistics. Our main source of data is a community-supported marketplace API that aggregates the item listings players post for trade, including prices, rarities, stats, and sockets.
We continually pull the latest market listings and keep a rolling window of recent data so that our pricing and item statistics reflect the current state of the market. Listings are deduplicated so that the same item is never counted twice.
All of the marketplace data we collect is publicly visible in-game. We track listing details such as price and item stats, but we do not track or store the identities of individual sellers.
Slay the Spire 2
Our data for Slay the Spire 2 comes directly from players who choose to share their runs through the MetaBot.GG Desktop App. Because Slay the Spire 2 does not have a public match API, the desktop app is what makes these statistics possible.
When you opt in, the desktop app watches your local save folder for completed runs and securely submits the run history to us, including your character, ascension level, final deck and relics, the floor-by-floor choices you made, and whether the run ended in a victory or a defeat. We only sync recent runs and ignore older save data so that our statistics stay current with the latest version of the game.
To pair this run data with rich card, relic, and character information, we also datamine the game's files after each update. Combining datamined content with player-submitted runs lets us build detailed win rate, card, and relic statistics for the community.
Statistical Analysis
Our platform calculates various metrics including win rates, pick rates, ban rates, performance statistics, and more. We use statistical methods to account for sample size and ensure that our data is statistically significant before making recommendations.
MetaBot is scheduled to perform analytics on our data several times throughout the day, and is designed to only use the latest data in its calculations. Once we believe that we can offer stats with a high level of statistical confidence, we update the MetaBot website to display our most up-to-date analytics.
MetaBot Tier Rankings
Our proprietary MetaBot tier system analyzes performance across multiple dimensions including win rate, pick rate, average placement, consistency, etc. We use a wide variety of relevant metrics to determine our rankings to provide strong recommendations on where characters fit in the current meta.
Privacy & Compliance
MetaBot.GG complies with Riot Games' API Terms of Service and respects player privacy. We do not collect or store personal information beyond what is publicly available through Riot's API. All data is aggregated and anonymized for statistical analysis.
We are careful to stay fully compliant with the developer's policies regarding any game that we collect data on.
All of the data from players and matches that we collect is used anonymously, and we only hold on to it temporarily and delete it from our databases once it is no longer relevant. We do not collect data that contains any personal identifiable information.
Data contributed through the MetaBot.GG Desktop App is always opt-in and anonymized before it is added to our data pool. For games where we rely on community APIs or marketplace data, we respect each source's terms of use and only collect information that is already publicly available in-game.