Non-mirror winrates, cluster-robust intervals.
Built from every completed pro map on VLR.gg, from VCT down to Challengers, and scored round by round. Mirror matchups get thrown out instead of averaged in, and each number comes with its sample size and a 95% interval.
Composition winrates
Any set of agents against any other, from either side. Teams aren't part of the model, so the numbers are about agents only.
Round economy and buy lift
Round-by-round credits from VLR, plus the actual guns bought, read off broadcast VODs during the buy phase.
Ultimate economy
Whether each player's ult is up at the start of a round, read off the observer HUD. Counted per player-round, on maps with a VOD read.
Postplant conversion
Which rounds were planted comes from VLR. The time left, the site and who was still alive come from the broadcast.
Method
Specification- Sampling unit
- Round, clustered on map
- Inclusion
- Maps that match the query one way round only
- Point estimate
- Ratio estimator, rounds won over rounds played
- Interval
- 95%, Taylor linearisation, cluster-robust on map
- Model
- Logistic, exactly antisymmetric, agent + synergy + counter terms
- Source
- VLR.gg completed series, ingested nightly
There's no backend. The whole corpus downloads as one packed file and every query runs in your browser.
New results are pulled from VLR.gg every night. The date in the header is when the latest match in the data was played.
No cookies, no analytics, no accounts. You can share a board because the whole query is saved in the URL.
Compositions: agent matchups
Your agents
Their agents
Economy: what a buy is worth
Round
Ultimates: who holds one, and who spends it
Impact
| Agent | Rounds | Ready | Spent | WR spent | Lift |
|---|
Rounds to build
Ready and not spent
Scope
Tiers, maps and side decide which rounds count. Each chip shows how many player-rounds it covers, and keeps showing that even when it's switched off.
Minimum sample
The minimum is checked against each figure's own sample. Spent is a share of ready rounds and WR spent a share of spent rounds, and both are a lot smaller than the agent's total, so a row can show while one of its figures is blank. The counts next to a blank figure tell you how close it got.
Output
One row per agent. Click a column header to sort by it, and the bar on the right follows whichever column you sorted. Compare agents within a column. The three rates each have a different denominator, so comparing one column with another doesn't tell you much.
Copy link saves the whole query, sort order included, so the link opens the same table.
Build and Hold
The second tab has two tables. One is the average number of rounds an ult takes to come back after it's used (or from the start of the map). The other is how often a ready ult is still ready at the next buy. Holding an ult isn't the same as wasting it, since teams often save one on purpose.
Unit
Everything here is counted in player-rounds: one row per player for each round they played. Maps don't come into it.
Ready and spent
Ready means the ult's charge ring was full during the buy phase (1:40 to 1:30). It doesn't say how many points a player had otherwise. Spent means it was ready at one buy and gone by the next. Ult points only drop when the ult is used, so that change is the cast. The last round of a map can't count as spent because there's no next buy to look at.
What lift compares
Lift is WR spent minus the same agent's winrate in the rounds where the ult wasn't spent, within the same scope. Each row has its own baseline, shown under the figure. It's measured in percentage points, and both sides of the comparison change together when you change the maps or the side.
The agent, the scope and the side stay the same. The only thing that changes is whether the ult got used. We don't compare against rounds where nobody on the team used an ult, because that also changes what the other four players did. For reference, those rounds were won -- of the time across -- in this scope, counting only rounds where all five ult slots were read.
What lift is not
Lift is the difference between two groups of rounds. It isn't the effect of using the ult. Teams choose when to spend, so the rounds where an ult gets used aren't a random sample: a team that's already winning may not need it, and a team that's losing may burn it on a retake that was lost anyway. Use it to compare agents with each other, and don't read it as what the ult is worth.
Since each agent has its own baseline, sorting by lift can give a different order from sorting by WR spent. An agent whose rounds go well either way ends up with a smaller lift.
Where the data comes from
Ult states are read off the observer HUD in broadcast VODs, so this page only covers maps with a VOD read. Each HUD slot is matched to an agent once per map, using the ult icon and the five agents VLR lists for that team.
Postplants: converting from the plant
Players alive at the plant
By man advantage
Clock at the plant
Scope
Tiers, maps and sites decide which plants count. Each chip shows how many plants it covers, and map chips also show the conversion rate with its 95% interval as a bar along the bottom.
Minimum sample
How many plants a cell needs before it shows a rate. Cells below it stay blank, and the legend under the matrix says how many made the cut.
Output
Rows are attackers alive, columns are defenders alive, and each cell is how often the attack converted from there. The panel next to it groups the same plants by man advantage (attackers alive minus defenders alive). Colours follow the interval: a cell or bar is only tinted when its 95% interval is clear of 50%, so an uncoloured one means the data can't separate it from a coin flip.
Copy link saves the whole query, so the link opens this exact view.
Plant Time and Sites
Plant Time shows how much time was left when the spike went down and how often each bracket converted. Sites shows where the spike gets planted on each map and how often those plants convert.
Unit
Everything here is counted per plant. Rounds without a plant don't show up at all, so each percentage is the share of plants the attackers turned into a round win.
Alive and clock
Players alive are counted from the health bars on the player cards, in the first frame where the spike is down. The plant time can't be read directly because the HUD swaps the timer for a spike icon, so it's found by searching the VOD. Seeking only lands on keyframes about five seconds apart, so each plant time is the middle of a small window. The median window is --.
Site
Sites come from where the spike sits on the minimap, grouped per map and labelled with that map's own site letters. Some plants can't be placed because agent portraits cover the minimap. Those still count everywhere else on the page and only drop out when you pick a specific site.
Two sources
Whether a round was planted is known for every map in the corpus, from VLR's round results. The time, site and player counts come from the broadcast, so they only exist for maps whose VOD has been read. The line under the matrix gives both totals. They cover different sets of maps, so don't compare one with the other.