Every CSWatch player profile carries a 0-100 trust score. The number is opaque on purpose — we don't want it gameable — but the inputs that drive it are not secret. Here's what goes into the score, how to read it, and why a 30 carries more signal than you'd guess.
What the score is
The trust score is a weighted aggregate of four independent signal categories: ban record, account legitimacy, community feedback, and behavioural anomalies. Each category produces its own sub-score from 0-100. The composite score is a weighted sum, with weights tuned monthly against ground-truth verdict data.
It is not a probability. A score of 30 doesn't mean "30% chance this player is a cheater." It means "players whose multi-signal profile resembles this one have, historically, been convicted at substantially higher rates than the base rate." Calibrating the score against an outcome distribution is a different statistical exercise, which we publish quarterly.
The four sub-scores
Ban record (weight: 35%)
VAC bans, game bans, and trade bans on the suspect's Steam account or any of their Steam friends' accounts. A VAC ban on the suspect drives this sub-score below 10 immediately. Game bans (which can come from FACEIT, ESEA, or other third-party platforms) drive it below 25.
Friend-network bans matter too, but with diminishing returns. A friend list with 1 VAC-banned account is meaningless. A list with 8 banned accounts when the player only has 14 friends is a strong cluster signal.
Account legitimacy (weight: 25%)
Steam account age, total game library, hours played in CS2 vs. other games, badge history, profile customisation, and inventory composition. A 5-year-old account with a diverse Steam library, organic badge collection, and a level 30+ profile is legitimate by every measure we track.
A 4-month-old account with only CS2 and a level-1 profile is not necessarily a cheater, but the signal is unfavourable. About 60% of accounts in this category that get reported turn out to be smurfs or cheaters.
Community feedback (weight: 25%)
Reports submitted to CSWatch, weighted by reporter reliability; verdicts from Overwatch reviews, weighted by reviewer accuracy and vote-weight; and external signals (Steam comment patterns, forum mentions, leetify-flagged stats).
A single low-confidence report from a low-reliability reporter moves this sub-score by less than a point. Three reports from high-reliability reporters or one conviction at 90%+ consensus moves it by 30+ points.
Behavioural anomalies (weight: 15%)
Statistical signals from match data: K/D outliers, headshot-percentage outliers, playtime vs. rank discrepancy, recent rating-gain shape. Each anomaly contributes a small adjustment. The category as a whole is noisy and gets the lowest weight.
We weight it low because behavioural signals are heavily correlated with skill, not just cheating. A genuinely top-tier player will trip several anomaly checks. The category contributes useful signal only when combined with weak ban-record and legitimacy scores.
Why a 30 is a stronger signal than you think
Player base distribution: about 78% of all looked-up profiles score 70+; 12% score 50-70; 7% score 30-50; 3% score below 30. The score is heavily right-skewed because most accounts are legitimate.
Of the players who score 30 or below, roughly 65% have either a VAC ban, a confirmed community conviction, or a friend network with high ban density. Those are not marginal cases — they're mostly people who have already been caught somewhere. A score of 30 isn't "suspicious". It's "evidence-supported bad reputation."
How to read scores in practice
- 90-100: Clean record across all dimensions. Treat as high-confidence not-cheating, with the obvious caveat that anti-cheat is never omniscient.
- 70-90: Normal range. Probably nothing to worry about, possibly minor signals worth noting on the player profile.
- 50-70: Some concerning signal mixed with normal data. Worth looking at the profile detail before dismissing.
- 30-50: Multiple signals are pointing the wrong way. Consider whether you want this player in your match.
- 0-30: Strong negative signals. Most accounts in this band are banned, convicted, or both.
What the score is not
It's not a verdict. We don't use the trust score to convict players — convictions go through Overwatch review, with a 3-vote 66%-consensus threshold. The score is a triage tool that helps reviewers, watchlist users, and the public quickly understand what evidence already exists.
It's not permanent. Scores update continuously. A player who was convicted in 2024 but has played hundreds of clean matches since will see their behavioural anomaly score recover. The ban record sub-score doesn't recover (Valve's bans are permanent), but the composite can drift up over time.
It's not a guarantee. The scoring model is empirical: it reflects what we've observed. New cheating techniques (DMA hardware, AI vision) produce signals that weren't represented in our training data. We update the model when evidence accumulates, but there's always a lag between a new evasion and the score catching up to it.
Transparency commitments
We publish the model weights, the calibration plots, and the conviction-vs-score outcome distribution every quarter on the developer page. We also publish the accuracy of the score as a predictor of eventual community conviction. If you want to second-guess our methodology, all the inputs you'd need are public.
Disagreement with a score is welcome. Submit a report or appeal — the case will be reviewed and the score will update accordingly.