The four spheres of riflers in Counter-Strike
What can a fantasy map tell us about how roles have evolved in CS:GO?
Counter-Strike roles are, in short, complicated. Players are quick to reject any labels pundits or media put on them, stressing that the game has advanced beyond the simplistic terms of entry or lurker. There is so much fluidity that the old terms simply don't work anymore.
Nearly every player, at some point in a half, will be the team's entry, lurker, support, or trader. Only a few teams will wait for their designated bomb-site entry on executes. Everyone should have the ability to fill in for every role. Of course, some players prefer certain plays compared to others. In a 5vs5, you can see the general roles in a team, but they are unmistakably more fluid than in years gone by.
Our answer to this problem is to accept that. Yes, roles are more fluid, but we can still plot players' preferences. Inspired by The Athletic's John Muller, we have undertaken a cluster group analysis on 2023's best riflers to attempt to do just that.
This is a process in which you put lots of different statistical metrics into an algorithm, which then spits out an X and Y value at the end to give you a 2D graph. The closer a player is to another, the more similar they are statistically. It's the same process we used for our ESL Impact doppelganger piece.

This is the result: Our fantasy map of rifling roles in 2023. It's a lot to look at once, but we will break the map down into some more consumable chunks as we go.
Already, though, we can see the trends. Our four empires are the four 'cluster groups' decided by our algorithm, putting together players it determines as similar. These are not 'entry' and 'lurker' groups, but stylistic ones that paint what type of player someone is with some broad sweeping strokes.
The brawlers are aggressive, with high opening kill attempts and percentage of deaths traded. The patient tend towards passive or star players, with high trade kill percentages, multi-kills, clutches, and time alive per death. The grunts are left with the dirty work and have high SMG kills per round and flashes thrown.
Much more goes into it and there are plenty of differences even within these broad groups. This isn't designed to replace the role names of entry or lurker (or opener or closer, for that matter), but instead to show player profiles in direct relation to their peers. Let's begin.


As you'd expect, the Grunts are the group that rarely shows up at the top of the scoreboard. There are plenty of IGLs here, but the main unifying factor is that this group doesn't get much help in-game. They're in low-activity positions, will give their life up to be traded by more skilled teammates, and are throwing a decent chunk of the side's utility.
To find the average player in this group, we should look to the center and people like Dan "apEX" Madesclaire, Johnny "JT" Theodosiou, and Sanzhar "neaLaN" Iskhakov. All of them throw more than 0.79 flashbangs per round, have a kill in less than 40% of rounds, and less than 16% of their kills come from trading a teammate.

Rasmus "HooXi" Nielsen occupies the edge of Scapegoat Point on his lonesome, with David "dav1g" Granado Bermudo as his closest neighbor. These are players on the absolute end of the fragging spectrum — Nikola "NiKo" Kovač's island is on the opposite side of the map — and both have more than 26.5% of their deaths on T side traded. These are the lambs being sent to slaughter for the benefit of the team.
To the north of this sector we have the likes of Alexey "Qikert" Golubev as the outlier, who scores far higher than the rest in terms of time alive and saving, and is actually quite average in terms of trades on T side (22%). He still fits here on average, but he is the opposite of HooXi within the group: He supports via low activity, rather than via sacrifice.


Going clockwise, we now have the clean-up crew. This group has the most clutches, most time alive, most saves, most kills in losses, and fewest deaths traded: In essence, they're the baity boys.
Some of that is because of CT side anchor roles, such as those housed in the Anchor Archipelago, who score a bit lower in metrics like multi-kill points and openers, and have a low CT bias in terms of rating. This is true for the likes of Ilya "Perfecto" Zalutskiy, Justin "jks" Savage, Jay "Liazz" Tregillgas, and, all the way over near the border volcano Mount Jame, Timur "buster" Tulepov.

But we also have some heavy hitters in this group: Baiter Beach houses David "frozen" Čerňanský, Benjamin "blameF" Bremer, and Kaike "KSCERATO" Cerato — with Robin "ropz" Kool on an outpost just south of them. This lot live the longest lives of the group and save a lot, but they also frag the most, even contributing heavily to CT opening frags. 23.5% or more of these four players' kills come from directly trading a teammate, truly justifying the name of the island.
Inland on Versatilopolis, the capital of the continent, there are some of the more active anchors and flex T-side players; names like Russel "Twistzz" Van Dulken and Rasmus "sjuush" Beck occupy the borderlands due to generally more impactful fragging, with more than 71% of their kills coming in wins.


Into the south, we have the aggressive lurkers and star riflers. These are the players with the highest opening kill success rates, lowest flashes thrown, and, as you would expect, the top of all the included fragging measures: Multi-kills, rounds with a kill, rifle kills per 30 rounds.
NiKo resides alone in a majestic palace on his island, with Sergey "Ax1Le" Rykhtorov and Mihai "iM" Ivan in coastal territory just beyond him. These are the lone wolves, with low deaths traded but serious fragging and more than 0.90 kills per 90 seconds alive.

We get a bit more cautious as we head north, with a corner of Lotan "Spinx" Giladi, Guy "NertZ" Iluz and Nemanja "huNter-" Kovač performing well in frags but with fewer openers on T side.
The borderlands house players with stylistic measures that match up well with the other star riflers, but perhaps lack some of the fragging: Adam "NEOFRAG" Zouhar, Jonathan "EliGE" Jablonowski, and Garidmagnai "bLitz" Byambasuren being examples.


Last but not least, we have the Brawlers: The entry fraggers, spacetakers, and scouts who have by far the highest opening attempts (24% average) and lowest time alive (97 seconds per death).
We have a whole island of outliers, the ultra-aggressive cluster of Robert "Patsi" Isyanov, Mareks "YEKINDAR" Gaļinskis, Dorian "xertioN" Berman, Cai "CYPHER" Watson, and Andrei "arT" Piovezan. Named Ramdeuter Island, German for 'space invader,' these are the feistiest of an already feisty group. They all have more than 29% opening kill attempts, and end less than 10% of rounds with just a survival to their name: They will contribute with either a kill, assist, or traded death in the other 90%.

More north, we have players more similar to the Grunts and Anchors; players who still show a lot of aggression but are more centered on having their deaths traded like Christian "Buzz" Andersen or Peter "dupreeh" Rasmussen. This group is often bomb-site entries but forced to anchor on CT side, being joined by IGLs Marco "Snappi" Pfeiffer and Christopher "dexter" Nong as well as the likes of René "TeSeS" Madsen and Pavle "Maden" Bošković just south.
To the west we have those as aggressive as the players on Ramdeuter Island but without the success: Vladislav "nafany" Gorshkov and Chinguun "hasteka" Bayarmaa score poorly on opening success, multi and rifle kills, but share a low deaths traded percentage with the other space takers in the south of the cluster.
That's it: Our whistle-stop tour of Rifler-World is complete. And, we hope you can see that players, despite how hard it is to iron down names for specific roles, do share a lot of similarities with each other. The stats used to make this chart match the eye test too: Stars are clustered together, as are the ultra-aggressive spacetakers, anchors, and low-fragging IGLs.
Specific roles might not exist as much anymore, but profiles certainly do. Teams still have, for the most part, a sacrificial lamb, a passive anchor, a flexible star, and an aggressive star — which fits into our four spheres quite well.
Most teams won't have one player in each sector, of course. But there is a general shape to most teams, even the supposedly role-less Heroic who have sjuush in the north with the anchors, TeSeS with other bomb-site entries, and Jakob "jabbi" Nygaard and Martin "stavn" Lund on the star-filled southeast peninsula.
Regardless of in-game consequences, it should be a new way to see how riflers compare to each other, to see just how many ways there are to end up on the same overall rating, and to have it visualized in the nerdiest of ways.
Method
Our first step was assembling the sample of riflers, starting with a sample of the 226 riflers that had attended a Big Event in 2023 before the ESL Pro League began. After removing AWPers and low sample sizes we were left with 125 riflers.
We then parsed these statistics as our main 'features,' mostly stylistic metrics with as few results-based fragging metrics as possible. We wanted to show how players got their frags, not how many they ended on.
Flashes thrown
CT OpKP30
T OpKP30
Time alive per death
Kills per 90s alive
Kills in wins %
OpDP30
OpK Differential per 30
Opening Attempts
Opening Success
Kills per 30 lost rounds
Saves per lost round
Saves per 30
Rounds w/ kill
Round w/ only survival
Multi-kill points
CT Bias
Rounds with AWP kill
Deaths to AWP p30
CT AWP KP30
T AWP Kill%
Deaths traded %
Traded deaths p30
Saved by teammate p30
T Traded deaths %
CT Traded deaths %
OpTD p30
OpTD%
Trade kills p30
Saved teammate p30
Trade kills %
Rifle KP30
Pistol KP30
SMGKP30
We then used k-means and cluster grouping to reduce all of these metrics into an X and Y value we could then plot onto a 2D scatterplot that became our map. The four groups were also decided in python, based on 'centroids' or averages of each group.


