← Back to home

Methodology

Automated estimates from public match data. Not Valve bans. Not Valve's private smurf flag.

What we analyse

SmurfCheck looks at a player's recent public matches (target window: last 15 in production) and compares performance to rank percentile baselines using a Match Dominance Index (MDI), plus limited account-context signals.

Outputs: suspicion score, confidence, and a badge/verdict. Analysis version 1.2 uses density-aware Policy C so sparse peak stomps do not auto-escalate to "Highly suspicious".

Highly vs Suspicious (Policy C)

  • Highly suspicious needs a strong outlier gate and sustained coverage (coverage of MDI≥70 ≥ 40%, average MDI ≥ 50), without single-hero/high-volatility spike blocks.
  • Strong peaks without that density → Suspicious performance.
  • Isolated extreme matches without enough repeat coverage → No strong smurf indicators (a rare stomp alone is not a smurf call).

Unknown rank

If no public rank tier is available, we estimate a comparison skill band from match statistics across packs (not a blind Herald default), with an optional residual check vs Archon.

Account Standing

Steam ban/visibility fields are investigator context only. Game bans are Steam-wide (not labelled as Dota-specific). Unavailable is never shown as clean. Standing never feeds the smurf score.

Public feeds

"Likely smurf" listings use a separate qualification policy on analysis outputs (score, confidence, sample size, allowlisted verdicts/badges). Historical detections from analysis versions 1.0–1.2 remain readable.

More detail for operators: docs/methodology.md. Privacy