Contrib

A player performance score learned from team results in Counter-Strike.

What is Contrib?

Contrib connects a player’s match statistics to team results.A team can win without everyone playing equally well, and an excellent individual performance can still end in a loss. Contrib offers another way to understand those differences.

The model learns how to combine completed-map statistics from historical wins and losses, rather than assigning each statistic a weight by hand. It scores players using a shared rule, adds their scores within each team, and learns from the difference between the two team totals.

The score also helps explain a comparison. Its main component lets you trace a gap between teammates back to statistics such as kills, damage, and multikills. A small adjustment captures patterns that a simple weighted sum may miss. Looking at each map alongside the series average keeps those different performances visible.

Contrib is one lens on performance, not a complete measure of a player’s value. Team resources, the timing of key actions, and an in-game leader’s information and decisions are not fully captured by these match totals. Read it alongside the match context and other ratings, including Rating 3.0, to compare performances and ask better questions about them.

How to read the score

Contrib is centered around zero. Positive values represent performance that the model associates with contributing more toward a win, while negative values represent the opposite.

ContribInterpretation
+1.00Strongly positive contribution
+0.50Meaningfully positive contribution
0.00Around neutral
-0.50Meaningfully negative contribution
-1.00Very poor map performance

From maps to events

A single map is only one part of a player’s year. Contrib lets me follow performances across maps, series, and S-Tier events, building a picture of how each player contributes over time.

I’ve also built an ongoing annual player ranking based on Contrib.As new results come in, I update the rankings throughout the year, so you can follow how players compare as the competitive season unfolds.

The rankings and trend tracking are available in My CS Events, alongside event-level Contrib results. They bring the individual match analyses together into a broader view of the year, while the map and event results give context to each player’s position.

Contrib in real matches

Three examples show what the score can tell you — and why the map-by-map story still matters.

Rio · FURIA vs Falcons

You can lead the server and still lose

KSCERATO finished with a series Contrib of +0.96, the highest among all ten players. FURIA still lost the series 0–2.

Mirage makes the distinction even clearer: FURIA’s combined player scores added up to +1.03, ahead of Falcons’ +0.69, but FURIA lost the map 11–13.

Rio: individual performance and team result
ScopeContribMatch result
KSCERATO · series+0.96 · 1st of 10FURIA lost 0–2
FURIA · Mirage team total+1.03Lost 11–13
Falcons · Mirage team total+0.69Won 13–11

How to read it: Contrib describes the recorded performance. Match totals cannot recreate the order of kills, damage, and rounds that decided a close game. A higher score does not guarantee a win.

Astana 2026 · Spirit’s final

The same win can tell different player stories

Spirit won every map, but the players leading Contrib changed. On Mirage, tN1R and magixx led the team; on Ancient, donk led. Sharing a result does not mean sharing the same performance.

Spirit at Astana 2026: Contrib by map
PlayerDust2MirageAncientSeries
Spirit’s round score16–1213–713–103–0 maps
donk+0.45+0.68+1.12+0.73
tN1R+0.21+1.03−0.14+0.33
sh1ro−0.41+0.67+0.42+0.16
magixx−0.17+0.85−0.33+0.07
zont1x−0.04−0.64−0.03−0.21

Series Contrib is weighted by rounds played. Scores are not shares of the win.

Across the series, sh1ro scored +0.16 and magixx +0.07, even though sh1ro had lower average damage per round (ADR). In the model, sh1ro’s advantages in kills, kill–death differential, and multikills together outweighed that damage gap.

sh1ro and magixx: damage versus overall contribution
PlayerSeries ADRSeries Contrib
sh1ro63+0.16
magixx80+0.07

The balance of opening kills versus opening deaths and KAST (the share of rounds with a kill, assist, survival, or traded death) added smaller positives to sh1ro’s lead. The model’s adjustment slightly narrowed the gap.

How to read it: The gap can be traced back to specific statistics. It explains why the model puts sh1ro ahead here; it does not establish that he used AWP resources more efficiently.

Stockholm · b1t’s series

A near-zero average can hide two different maps

b1t’s series Contrib rounds to 0.00. Looking at the maps separately reveals a different story:

b1t at Stockholm: maps behind the series average
MapRoundsContrib
Ancient27+0.23
Nuke41−0.15
Series · round-weighted68≈ 0.00

The series average weights each map by its actual round count. Nuke therefore counts more than Ancient: multiply each unrounded map score by its rounds, add the results, then divide by 68 rounds.

How to read it: The result is close to zero, not exactly zero. It combines a positive map and a negative map; it does not mean b1t played at a neutral level throughout the series.