
Bottom line: We replayed 13,401 professional CS2 best-of-three vetoes in date order and, at every step, guessed each team's choice from its own previous vetoes. The guess called the first ban 75.9% of the time, against 15.5% for a random available map and 22.8% for the field's most common ban. Picks are harder (47.9%), the decider can be named before the veto about one time in four, and first bans only get hard to call in the months a new map joins the pool. Every figure comes from the data behind the EsportsOdds CS2 data API, as of 12 October 2026.
Three first bans in four can be called in advance
In a best-of-three, the two teams take turns: each bans a map, each picks one, each bans another, and the seventh map is left as the decider. Our veto meta piece covers which maps the field bans and picks most. This one asks how much of a single team's veto you can call before it happens. At the first ban, most of it: 75.9% across all tiers and 81.2% at S- and A-tier events.
How we tested it
At each decision we guessed the map the team chose most often at the same step (first ban, pick or last ban) in up to its previous 20 vetoes, counting only maps still on the table, and scored the guess before adding the match to the team's history. The only thing a guess knows about its own veto is which maps are already gone. Made before the veto starts, the same first-ban guess is right 74.5% of the time.
A team needs five earlier vetoes to be scored (72,528 of 80,406 decisions qualify), and a guess whose remembered maps are all gone counts as a miss. We compare against two baselines: a random available map, and the map the whole field chose most at that step over the previous 90 days. Scope: completed best-of-three series since 16 October 2023 with all seven steps recorded, at every tier, most of them B-tier events. Two checks on the data: the vetoed picks match the maps played first and second in 99.6% of series, and eight recent S- and A-tier vetoes matched public match pages step for step.
Step by step: bans are habits, picks are choices
- First ban: 75.9%, against 22.8% for the field's most common ban and 15.5% at random. It is usually the map a team least wants to play, and that rarely changes from week to week.
- Pick: 47.9%, against 26.5% and 22.6%. Teams adapt their pick to the opponent and to what is left, so history helps less, but still about twice as much as chance.
- Last ban: 56.2%, against 47.8% and 41.8%. With only three or two maps left, chance alone does well.
Recent habits beat long memories. From a team's last 5 vetoes the first-ban guess was right 80.5% of the time; from its last 40, only 71.5%. The simplest rule of all, "their most recent first ban that is still available", was right 77.1%.
Naming the decider before the veto starts
Chain the guesses in the real veto order and you get a forecast of the whole veto before it begins. Across the 10,506 series where both teams had enough history, it named the decider 23.7% of the time, against 14.3% at random. On average it named 1.95 of the three maps the veto leaves for the series (the two picks and the decider), against 1.29 at random. One surprise early on reshuffles everything after it.
The permabans
Since October 2025, Spirit have banned Inferno first in every recorded best-of-three veto (67 of 67), 3DMAX Mirage in 78 of 78 and PARIVISION Nuke in 60 of 60. The map pool changed twice in that window, so the chart counts only vetoes where the map was available: MOUZ banned Anubis first in 57 of the 58 vetoes since it returned. Across the 40 teams with 40 or more vetoes in the period, the median team banned its usual map first 89.4% of the time it was in the pool.
A few teams spread their first ban around. BIG used Nuke in only 17 of 54 vetoes and EYEBALLERS Ancient in 17 of 70.
When the map pool changes
Over whole years the rate barely moves: between 74.5% and 78.3% every year since 2021, through the move from CS to CS2. Month by month it dips each time a map joins the pool: to 55.9% in January 2025 when Train came in, 65.9% in January 2026 when Anubis returned, and about 71% in July and August 2026 after Cache arrived. Each time it recovers within one or two months as teams settle into a new habit. Most teams keep one map they will not play; a new map just resets which one.
Does being predictable cost anything?
Not obviously. Across every CS2-era pick with a result, the team that chose the map won it 54.0% of the time. Of the 23,672 picks we could score, the ones our guess saw coming won 56.2% and the surprises 54.4%; at S- and A-tier events the gap almost vanishes (54.3% against 53.9%). This is descriptive, not causal: a habitual pick is usually a team's strongest map. What the data does not show is surprise picks winning more often.
Getting veto data from the API
Each match's full veto is at /v1/cs2/matches/{id}/vetoes. /v1/cs2/teams/{id}/vetoes summarises a team's habits: for every map, its picks, bans, first bans and deciders over a window you choose, with a permaban flag when the team bans a map in at least 90% of 20 or more vetoes.
curl -H "Authorization: Bearer $ESPORTSODDS_API_KEY" \
"https://api.esportsodds.gg/v1/cs2/teams/spirit/vetoes?window=3m&era=cs2"
With the official Python client (pip install esportsodds), a simple version of this article's first-ban guess takes a few lines. It counts every series format in the window, best-of-ones included:
from esportsodds import Client
client = Client() # reads ESPORTSODDS_API_KEY from the environment
v = client.teams.vetoes("spirit", window="3m", era="cs2")
pool = [m for m in v["maps"] if m["active_pool"]]
guess = max(pool, key=lambda m: m["first_bans"])
print(f"{guess['map_name']}: first ban in {guess['first_bans']} of {v['veto_matches']} vetoes")
Read every share against veto_matches, the matches with a recorded veto, not against matches. To see one match with its veto, maps and rounds in a single response, start with CS2 match data in JSON.
Frequently asked questions
What is a permaban in CS2?
A map a team bans in almost every veto, usually as its first ban. Spirit's Inferno ban is one example: first in all 67 of their recorded best-of-three vetoes since October 2025. The EsportsOdds API flags a map as a permaban when a team bans it in at least 90% of 20 or more vetoes.
Why do vetoes get harder to predict when the map pool changes?
Because habits reset. In January 2025, the month Train entered the pool, first-ban accuracy fell to 55.9%, and 41% of the first bans the guess missed were bans of Train itself; the rest came from teams reshuffling around it. By the next month accuracy was back to 73%.