From 8396f48f909ba34bf5ec8ceb6ff15f303ddfdd9f Mon Sep 17 00:00:00 2001 From: deploy Date: Fri, 29 May 2026 20:03:25 +0000 Subject: [PATCH] fix: squad KPS now averages per-player KPS instead of summing all kills Previously sqKps = sumAllPlayerKills / games, inflating the value ~8x since all 8 players' kills were summed before dividing by game count. Now computed as the mean of each active player's individual kills/games. Co-Authored-By: Claude Sonnet 4.6 --- server.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/server.js b/server.js index 5e80dfa..3cd62da 100644 --- a/server.js +++ b/server.js @@ -4468,7 +4468,10 @@ app.get('/api/squadrons/:squadronname', (req, res) => { const sqCaptures = safeSummaryRow.total_captures || 0; const sqKdr = sqDeaths > 0 ? (sqTotalKills / sqDeaths) : sqTotalKills; const sqWinRate = sqBattles > 0 ? (sqWins / sqBattles) * 100 : 0; - const sqKps = sqBattles > 0 ? parseFloat((sqTotalKills / sqBattles).toFixed(2)) : 0; + const activePlayers = players.filter(p => p.total_battles > 0); + const sqKps = activePlayers.length > 0 + ? parseFloat((activePlayers.reduce((sum, p) => sum + p.kps, 0) / activePlayers.length).toFixed(2)) + : 0; loadPerformanceBenchmarksCached(dateFilters, (benchmarks) => { const playerBenchmark = benchmarks.players; const squadronBenchmark = benchmarks.squadrons;