How the trust score works
Evidence model v2 · Experimental, published heuristics
The score combines available bans, account age, playtime, competitive history, performance, inventory, social history and community feedback. It is an evidence index from 1 to 99; it is not a percentage chance that someone is legitimate and is independent of Valve’s private Trust Factor.
The calculation
50 + observed contributions − record / performance deductions
We apply the strongest reported-record ceiling, then round to a whole number. Every profile exposes its actual inputs and point contributions. Weights are design choices, not coefficients learned from a labelled cheating dataset.
| Evidence | Points | Treatment |
|---|---|---|
| Ban records | +12 before deductions | Verified Steam and FACEIT records. Competitive and conduct deductions use the largest in each group. |
| Account age | 0 to +10 | Square-root progression, capped at 15 years. |
| CS playtime | 0 to +6 | Logarithmic progression, capped at 5,000 hours. Impossible or unavailable hours are excluded. |
| Competitive experience | 0 to +8 | Largest known match count, capped at 5,000. Overlapping provider counts are not added. |
| Rank & match history | 0 to +3 | Observed history duration, capped at three years. Higher rank alone adds no trust. |
| Account breadth | 0 to +3 | At most one point each for Steam level, library size and observed service-medal years. |
| Performance patterns | −12 to +5 | Sample-adjusted consistency support or corroborated combat/mechanics change. |
| Inventory value | 0 to +2 | Recent USD market observations, logarithmically capped at $10,000. Partial inventories retain pricing coverage. |
| Social history | 0 to +1 | Friends and commendations, at most half a point each. |
| Community feedback | −2 to +2 | Unique, unexpired votes from accounts established on cs.ninja for seven days. Five-voter minimum; 20 neutral prior votes. |
Performance needs a fair comparison
We use up to 90 unique, dated matches from the past 180 days. A comparison needs at least 20 matches in the same platform/mode, spanning at least seven days. The latest third (at least ten) is compared with earlier matches (at least ten). Major changes in map selection or rank context disable this comparison. The rank guard uses a median change greater than 3,000 Premier points, 400 FACEIT Elo or three discrete rank levels, with ten ranks in each period.
K/D, ADR, kills per round, headshot kills, time to damage, preaim, aim/head accuracy, counter-strafing, trading, survival and win rate are checked where measurements exist. Combat alone cannot trigger a deduction: at least one combat metric and two mechanics metrics must change together.
Each change must exceed the larger of its published absolute floor and three robust baseline deviations (1.4826 × median absolute deviation). Floors: K/D 0.35; ADR 25; kills/round 0.25; time to damage 120 ms; preaim 4°; aim accuracy 12 points; head accuracy 15 points; headshot kills, counter-strafing, trading and survival 20 points; win rate 40 points. Win rates use means; other comparisons use medians.
Performance support is 5 × sample reliability × (1 − deduction/12). Reliability combines up to 60 comparable matches and six usable metric comparisons. A corroborated change deducts up to 12 points, scaled down below 40 matches. These checks flag changes for review; improvements, opponents, roles and match circumstances can explain them.
Bans cannot be outweighed by assets
We take the largest competitive deduction and the largest conduct deduction. Reported bans also impose a ceiling:
| Record | Deduction | Ceiling |
|---|---|---|
| One / multiple VAC bans | 45 / 60 | 35 / 15 |
| One / multiple game bans | 35 / 45 | 45 / 35 |
| Active FACEIT cheating ban | 50 | 25 |
| Expired FACEIT cheating ban | 30 | 50 |
| Steam community ban | 20 conduct | 60 |
| Steam economy ban or active other FACEIT ban | 10 conduct | 75 |
Steam’s account ban response does not identify the affected game. FACEIT records assigned to another player/game or a future start are excluded. An absent end date does not establish expiry. Old bans remain visible.
Confidence and missing information
Confidence describes available evidence, not validated accuracy. Its 100-point budget is: ban sources 25; account age/breadth 15; playtime 8; match volume 12; history duration 8; comparable performance 22; priced inventory coverage 4; social history 3; eligible community votes 3. Match count, time span, sample size and pricing completeness reduce their respective budgets.
Under 40% is low, 40–69% moderate, and 70% or more high evidence confidence. Missing or private fields contribute zero evidence points rather than a negative finding. This can leave a less-supported score; compare scores alongside confidence. No recent ban source and fewer than three available categories leaves the profile unrated. Records older than 36 hours are unrated.
All information has a defined role
Absolute rank, utility, clutch, weapon usage, map results and other performance summaries give context to the match evidence. Country, name, avatar, profile views and private settings do not establish trustworthiness. Banned teammates do not cause guilt by association: the current data does not establish intentional repeated party membership.
Steam levels, hours, inventories and votes can be manipulated; their influence is bounded. Inventory uses observed market prices, never an estimate based on an item name or appearance. Unpriced items are not valued at zero. Community votes use no recursive trust weighting, and the broader score does not determine voting eligibility.
This model still needs evaluation against independently labelled outcomes and published false-positive rates before any claim of predictive accuracy. The page calls it experimental for that reason.
Source definitions: Steam Web API · CSFloat API. The scoring weights above are cs.ninja’s own methodology.