Skip to page content
SAVRN
Search Plan a project

Dataset · Tabular classification

brawlstars-ranked

by Eli Fried EliF77/brawlstars-ranked

Ranked match telemetry from the public Brawl Stars API, one row per ranked set. A set is up to three games on one fixed map and mode, first team to two wins; record holds the game-by-game outcome.

Rows7,527,094
Configurations2
Size3.0 GB
Licensemit
AccessPublicly accessible
Monthly Downloads490

Dataset Card

By Eli Fried, published under mit, revision 6c7fcf58fa93.

Brawl Stars Ranked Matches — season54

Ranked match telemetry from the public Brawl Stars API, one row per ranked set. A set is up to three games on one fixed map and mode, first team to two wins; record holds the game-by-game outcome.

Collected and published automatically by an open-source ETL pipeline.

At a glance

Ranked sets 6,157,160
Covering 2026-09-17 to 2026-10-13
Distinct brawlers 107
Modes 6
Maps 26
Format Parquet, one file per season
Files 1
Size 336 MB (6.4x smaller than the source database)

Seasons

This page shows season54, the season in progress. It is refreshed every time the crawler runs, so the numbers above move during the season.

Each season is its own config, because they are not interchangeable — see Limitations. Earlier seasons: season53.

Loading

from datasets import load_dataset

# season54, the current season — the default when no config is named.
ds = load_dataset("EliF77/brawlstars-ranked", split="train")

# An earlier season, by name.
old = load_dataset("EliF77/brawlstars-ranked", "season53", split="train")

Each season is one file, written in time order. Parquet stores the min and max of every row group, so a reader asking for a date range skips the groups that cannot match rather than scanning the season:

import pyarrow.dataset as ds_
table = ds_.dataset("data", partitioning="hive").to_table(
    filter=ds_.field("battle_time") >= "20251110T000000.000Z"
)

Columns

One row per ranked set. Core fields cover time, mode, map, and the record; the six drafted brawlers are flattened into t{team}_b{slot}_* columns.

Column Meaning
battle_time UTC timestamp of the last game in the set
mode, map Fixed for the whole set
record Game-by-game result, e.g. T1-T1, T2-T1-T1
star_* The final game's MVP: brawler, power, tag, elo
avg_elo Mean elo across the six players
skill_ns avg_elo normalized against the elo distribution local in time
skill_ns_ok 1 when the row's time bin had enough samples to trust skill_ns
t{1,2}_b{0,1,2}_name The brawler drafted in that slot
t{1,2}_b{0,1,2}_elo That brawler's ranked rating at match time
t{1,2}_b{0,1,2}_power That brawler's power level
t{1,2}_b{0,1,2}_tag Player tag of whoever brought it

Every participant is identified, not only the star player, so a set can be joined to all six players in it. star_player_tag matches one of the six.

Filter on skill_ns_ok = 1 for analyses that depend on the skill feature.

Why skill_ns exists

Ranked elo resets each season and re-stratifies over the following weeks, so an average of 16 in week one describes a very different match from an average of 16 in week three. skill_ns converts each set's avg_elo to a percentile within a fixed 3-day time bin and maps it to a symmetric unbounded scale, making matches comparable across the season.

Modes and maps

Modes: bounty, brawlBall, gemGrab, heist, hotZone, knockout

Maps: Belle's Rock, Bridge Too Far, Center Stage, Double Swoosh, Dry Season, Dueling Beetles, Flaring Phoenix, Gem Fort, Hard Rock Mine, Hideout, Hot Potato, In the Liminal, Kaboom Canyon, Layer Cake, New Horizons, Open Business, Out in the Open, Parallel Plays, Pinball Dreams, Quick Travel, Ring of Fire, Safe Zone, Shooting Star, Sneaky Fields, Triple Dribble, Undermine

Most-picked brawlers

Brawler Picks
BROCK 1,742,971
GUS 1,700,427
GRIFF 1,609,708
RICO 1,419,509
COLETTE 1,377,893
AMBER 1,166,335
EDGAR 1,061,775
BO 992,093
SHADE 913,559
PIERCE 892,332

Limitations

  • No draft order and no bans. The API returns the six final brawlers with no pick sequence, and the slot index is positional, not draft order.
  • Not a uniform sample. Rows are gathered by crawling the player graph breadth-first from seed players, filtered to a target elo band. Popular and higher-rated players are over-represented relative to the whole population.
  • One season at a time. Balance changes shift the meta between seasons, so pooling them mixes distinct regimes. Each season is a separate config for that reason; loading two and concatenating them is a decision to make deliberately, not a default.
  • Elo is per-brawler, not per-player: a strong player on an unfamiliar brawler carries a low rating into the match.

Provenance

Built from soloRanked battles only. Deduplicated on (battle_time, map, star_player_tag). Sets with an average elo above 23 are dropped as bot or corrupted records. Full pipeline documentation and design notes are in the source repository.

License and attribution

MIT for the pipeline and this dataset compilation. Derived from the public Brawl Stars API. Not affiliated with, endorsed, sponsored, or specifically approved by Supercell; fan content made under Supercell's Fan Content Policy.

Structure

season54 6,157,160 rows

SplitRowsSize
train6,157,160717.1 MB
idint64battle_timestringmodestringmapstringrecordstringstar_brawlerstringstar_powerint64star_player_tagstringstar_eloint64avg_elofloat64t1_b0_namestringt1_b0_eloint64t1_b0_powerint64t1_b0_tagstringt1_b1_namestringt1_b1_eloint64t1_b1_powerint64t1_b1_tagstringt1_b2_namestringt1_b2_eloint64t1_b2_powerint64t1_b2_tagstringt2_b0_namestringt2_b0_eloint64t2_b0_powerint64t2_b0_tagstringt2_b1_namestringt2_b1_eloint64t2_b1_powerint64t2_b1_tagstringt2_b2_namestringt2_b2_eloint64t2_b2_powerint64t2_b2_tagstringskill_nsfloat64skill_ns_okint64

season53 1,369,934 rows

SplitRowsSize
train1,369,934179.4 MB
idint64battle_timestringmodestringmapstringrecordstringstar_brawlerstringstar_powerint64star_player_tagstringstar_eloint64avg_elofloat64t1_b0_namestringt1_b0_eloint64t1_b0_powerint64t1_b0_tagstringt1_b1_namestringt1_b1_eloint64t1_b1_powerint64t1_b1_tagstringt1_b2_namestringt1_b2_eloint64t1_b2_powerint64t1_b2_tagstringt2_b0_namestringt2_b0_eloint64t2_b0_powerint64t2_b0_tagstringt2_b1_namestringt2_b1_eloint64t2_b1_powerint64t2_b1_tagstringt2_b2_namestringt2_b2_eloint64t2_b2_powerint64t2_b2_tagstringskill_nsfloat64skill_ns_okint64

Details

Repository
EliF77/brawlstars-ranked
Publisher
Eli Fried
Task category
Tabular classification
Tags
games, esports, telemetry
Size category
1M<n<10M
Languages
en
Revision
6c7fcf58fa9349eca8078de503b947659d8690cb
Last updated
2026-10-13

Files

8 files, 3.0 GB in total.

Data3 files · 415.6 MB
Documentation1 file · 5.6 KB
Other3 files · 2.6 GB
Repository1 file · 2.7 KB
Every file
FileTypeSizeSHA-256
data/season=season53/data.parquetData79.9 MBf3544efa80ed
data/season=season54/data.parquetData335.7 MB790b404913a0
metadata.jsonData8.6 KB—
README.mdDocumentation5.6 KB—
state/bsdraft_registry.dbOther131.1 KB264350ab6678
state/season53.dbOther492.3 MB30b7147cc753
state/season54.dbOther2.1 GB5f7b5d677f3b
.gitattributesRepository2.7 KB—

License and Download

License
mit
Access
No access gate
Download from Eli Fried

Released by Eli Fried through its official repository on Hugging Face. Read the license.