A performance-based rating system inspired by Leetify, designed to capture individual skill across multiple dimensions - independent of win/loss outcomes.
Raw Performance, Not Outcomes
Win/loss results do not directly affect your rating. Each component measures individual actions so you get accurate feedback regardless of team quality.
Multi-Dimensional Analysis
Rather than a single KDA number, we analyze combat, economy, positioning, accuracy, and team contribution separately then combine them.
KDA = (Kills + Assists) / max(Deaths, 1) Score = min(1.0, log(1 + KDA) / log(7))
Kills/min = Total Kills / Duration (min) Score = min(1.0, Kills/min / 0.5)
Score = min(1.0, (Souls/min / 800) * 0.6 + (LastHits/min / 5.0) * 0.4 )
Assists/min = Total Assists / Duration (min) Score = min(1.0, Assists/min / 0.6)
Deaths/min = Total Deaths / Duration (min) Score = max(0.0, 1.0 - Deaths/min / 0.4)
Badge = ranked_display_badge
(Tier*10 + Subrank)
Max = 116 (Tier 11 Sub 6)
Bonus = 1.0 + (Badge / 116) * 0.3Bonus = 1.1 if ( Duration >= 40 min AND PerformanceScore > 0.70 ) Otherwise: 1.0
PerformanceScore = KDA*0.40 + Kill*0.25 + Econ*0.20
+ Team*0.10 + Surv*0.05
FinalRating = clamp(
(PerformanceScore * RankBonus * LongGameBonus) ^ 0.8 * 100,
0, 100
)Kills/min (35%) + Objectives (35%) + Souls/min (20%) + Difficulty (10%) Normalized at: 0.3 kills/min, 2 objectives/match, 600 souls/min
KDA (60%) + Kills/min (20%) + Difficulty (20%) Normalized at: KDA 4.0, 0.4 kills/min
K:D ratio normalized to 3.0 (Kills/min) / max(Deaths/min, 0.01)
Direct aim accuracy when API data is available Fallback: Kills/min (60%) + Objectives (40%)
Net worth efficiency (40%) + Objectives (30%) + Accuracy (30%) Normalized at: 600 souls/min, 2 objectives/match
Average ranked badge at time of each match Encoding: Tier*10 + Subrank (max: Tier 11 Sub 6 = 116) Scaled linearly to 0-100
Standard deviation of difficulty-normalized match ratings Lower deviation = higher score
OverallRating = Impact * 0.25 + Clutch * 0.20 + Positioning * 0.15 + Accuracy * 0.15 + Utility * 0.10 + Difficulty * 0.10 + Consistency * 0.05
Bot Matches
Missing Badge / Unranked Data