← Player lookup
DATA & METHODOLOGY / MODEL 2.0

Behind the numbers.

A closer look at the numbers, with every step explained. Our statistical profile is a descriptive index of elevated performance signals. It is not a cheating detector, a player verdict, or a percentage chance of cheating.

01 / FROM DATA TO CONTEXT

Four steps. One transparent index.

01

Collect available evidence

Use existing FACEIT match statistics, public Steam creation dates, and Leetify analytics. No additional provider calls are needed for this calculation.

02

Check quality and sample size

Exclude missing, out-of-range and nonnumeric values. Deduplicate recent match IDs. Require 20 lifetime FACEIT matches, 5 valid recent matches per metric, or 10 recent Leetify records for that provider.

03

Adjust the strength of each signal

Turn each value into a gradual 0–100 signal, then reduce its influence when the sample is small. FACEIT recent averages use 10% winsorization: extreme tails are limited to the nearest remaining values.

04

Combine related evidence

Average related signals inside four groups before combining them. Account context only adds points when elevated match performance already exists. Show evidence coverage separately.

THE MIX

Four groups, capped influence.

  • Match performance40%
  • Recent form20%
  • Aim & mechanics25%
  • Account context15%

Missing groups are excluded and remaining group weights are rescaled to 100%. Missing values are never replaced with zero or marked suspicious. At least three usable signals outside account context, including match performance, are required to show a score. Different coverage can produce different scores, so compare the breakdown and sample sizes as well as the total.

SAMPLE SIZE MATTERS

One good match is not a pattern.

Each signal is multiplied by n / (n + k). Here n is its valid match count and k is the sample adjustment shown in the table. For recent FACEIT metrics, only records containing that metric count. Leetify uses the smaller of its lifetime total and the available recent record count, capped at 20, as a conservative evidence proxy: its aggregate measurement window is not provided. These are not independent match samples across providers.

The calculation, in plain sight

  1. signal = clamp((value − start) / (end − start), 0, 1)The table gives the start and end of each ramp. Lower time to damage and preaim error use descending ramps.
  2. adjusted signal = signal × n / (n + k)Account-context signals also multiply by the performance gate described below.
  3. group score = 100 × Σ(weight × adjusted signal) / Σ(available weights)Related metrics share a group instead of each adding a full group’s points.
  4. index = round(Σ(group weight × group score) / Σ(available group weights))0–19: within configured ranges · 20–39: some elevated signals · 40–59: several · 60–100: strongly elevated.

Account age needs context.

Account context carries at most 15% when every group is available. Few FACEIT matches matter more above 1,500 ELO, reaching full ELO scaling at 2,500. Steam age has its strongest effect below 60 days and none after 730 days. Both signals are multiplied by the mean of the adjusted match-performance signals. A young account alone cannot raise the score. An old Steam account is not proof of experience or legitimacy.

Coverage is a separate measure.

Evidence coverage measures how much of this model has usable data, adjusted for sample size. It is not a confidence interval or an accuracy estimate. Under 35% is limited, 35–64% is moderate, and 65% or more is broad. Saved provider data multiplies its coverage by 0.75; it does not silently change the score.

Coverage = weighted share of available signals × their sample adjustment × freshness factor, relative to all configured signals.

02 / EXPLORE THE MODEL

Change the evidence. See the effect.

Fictional examples calculated with the same model as profile pages. No real player is represented.

Established player

A long history and steady recent results.

0/ 100
Within configured ranges

Broad evidence coverage · 67%

Fewer elevated signalsMore
Match performance0 / 100
Recent form0 / 100
Aim & mechanics0 / 100
Account context0 / 100

Elevated performance

A fictional strong recent sample on a newer account.

48/ 100
Several elevated signals

Moderate evidence coverage · 62%

Fewer elevated signalsMore
Match performance60 / 100
Recent form38 / 100
Aim & mechanics42 / 100
Account context43 / 100

Limited evidence

A small sample with Leetify unavailable.

—/ 100
Insufficient statistics

Limited evidence coverage · 0%

Fewer elevated signalsMore
Match performanceNo data
Recent formNo data
Aim & mechanicsNo data
Account contextNo data
03 / NO HIDDEN THRESHOLDS

Every signal, published.

These configurable ranges describe the heuristic, not measured population averages. Signal weights apply inside their group; k controls sample adjustment.

Statistical profile model 2.0 thresholds
Signal / groupStarts atFull signal atkWeight
Lifetime win rateMatch performance55%75%501
Recent K/DMatch performance1.152101
Recent damage / roundMatch performance85120101
Recent headshot killsMatch performance60%85%150.5
Leetify ratingMatch performance310151
K/D above lifetime averageRecent form0.20.8151
Win rate above lifetime averageRecent form10 pp35 pp151
Matches with K/D at least 1.5Recent form50%90%151
Leetify aimAim & mechanics8598201
Head accuracyAim & mechanics22%40%200.5
Good counter-strafing shotsAim & mechanics93%99%200.5
Time to damageAim & mechanics450 ms250 ms201
Crosshair placement errorAim & mechanics6°2°200.5
Spray accuracyAim & mechanics55%80%200.5
FACEIT matches at current ELOAccount context300 matches30 matches301
Steam account age with elevated performanceAccount context730 days60 days01

pp = percentage points. Steam age uses a known creation date (n = 1, k = 0) and the performance gate. Sustained K/D is the share of valid recent matches with K/D ≥ 1.5. Win-rate lift compares recent and lifetime win rates.

04 / READ THE BADGES

The familiar ranks, in sharper detail.

WHAT IT CAN’T TELL YOU

Context stays essential.

  • The thresholds are published engineering choices, not fitted population percentiles. The model has not been validated against confirmed cheating or smurfing labels.
  • Skill, roles, opponents, map selection and returning players can all produce elevated statistics. Steam age is account age, not CS2 playtime.
  • FACEIT and Leetify can describe overlapping matches and different time windows. Group caps reduce repeated influence but do not establish statistical independence.
  • More available fields increase coverage; they do not automatically improve predictive accuracy. No gameplay demos, anti-cheat telemetry, hardware, IP addresses or private Steam data are analyzed.
DATA SOURCES & FRESHNESS

Know what you’re reading.

FACEIT level and ELO come directly from the API. The overview match total is lifetime CS2 matches. Displayed kills, deaths, K/D, headshot kills and ADR are averages from up to 20 recent matches. The anomaly calculation applies its own robust averaging and sample checks.

The new FACEIT Rating is a separate performance measure from ELO. As of 24 September 2026, the public Data API documentation does not identify fields for the new Rating, Swing and Consistency trio. We do not substitute K/D, ELO or Leetify rating for these values, or copy the example numbers from FACEIT’s HTML.

Premier comes from Leetify. Its badge uses the seven 5,000-point color bands. Missing rank data displays a dash; an explicit zero displays Unranked. Leetify head accuracy is a shot percentage, while FACEIT headshots describe kills.

Steam and FACEIT normally refresh after two hours. Provider errors can leave older results visible with their original timestamp. Leetify loads independently and is not stored by default. The analysis recalculates as each provider becomes available.