Map Affinity

Per-hero, per-map win rate deltas pulled from ranked Overwatch match data.

Hero pool

Tank

Damage

Support

Offline pool cheat sheet

Grouped by game mode, then role. Best pick per role on each map is marked.

Methodology

Delta WR & tiers

Map win rate minus the hero's baseline win rate in that rank/region/patch slice, averaged across every slice collected. S ≥ 3.0%, A 1.2–2.9%, B −1.1–1.1%, C −3.0–−1.3%, D < −3.0%.

Presence (Delta PR)

Pick rate on the map minus the hero's average pick rate. Map Priority ≥ 3.0%, Popular 1.0–2.9%, Standard −1.0–0.9%, Niche < −1.0%.

Archetypes

Meta: high win rate and high pick rate. Specialist: high win rate, low pick rate. Trap Pick: low win rate despite being picked often. Deterrent: low win rate and low pick rate. Favorable / Unfavorable: a clear win rate lift or drop on its own, without a pick-rate swing big enough to earn one of the labels above. Neutral: no meaningful signal either way.

Map sensitivity (sigma)

Standard deviation of a hero's delta across all maps. Map-Dependent ≥ 3.0%, Flexible 1.8–2.9%, Map-Agnostic < 1.8%.

Minimum sample size

A hero-map pair needs at least 3 qualifying season/tier/region slices before it's shown at all — otherwise one unlucky slice (a hero with barely any games on a map, all of them losses) can swing the average by dozens of points. Narrowing to a specific rank or region thins the slices out fast, so a hero can disappear from a filtered view even though it shows up on "All ranks / All regions". That's the filter working as intended, not missing data. The exception is a hero or map that hasn't existed long enough to ever reach 3 slices under a narrow filter (a brand-new hero, or a map reworked this season) — those show with whatever data actually exists rather than being hidden outright.