Cusimanse Posted March 6, 2025 Posted March 6, 2025 Can anyone speak to whether or not the Yasenkrasen session summary statistics are weighted in some fashion that is not immediately evident? As an example, I played five battles with a combined WN8 of 6609. 6609 divided by 5 is 1321, but my session summary was showing me at 1115. Thanks! Quote
ZoeBallz Posted March 6, 2025 Posted March 6, 2025 On 3/6/2025 at 1:31 PM, Cusimanse said: Can anyone speak to whether or not the Yasenkrasen session summary statistics are weighted in some fashion that is not immediately evident? As an example, I played five battles with a combined WN8 of 6609. 6609 divided by 5 is 1321, but my session summary was showing me at 1115. Thanks! It depends what tiers the games are in and the "expected values" of the particular tanks that you played. The average for the session is not simply the total divided by the number of battles. It's actually calculated by quite a complicated set of equations. AND the expected values change day to day, so if you have EXACTLY the same scores/results in exactly the same tanks tomorrow, the total WN8 for the session would be different !!! Full explanation of WN8 and how it's calculated can be found at https://taugrim.com/2019/07/04/summary-for-the-wn8-rating-system-for-world-of-tanks/ and https://wiki.wargaming.net/en/Player_Ratings_(WoT) . I have a script that actually does WN8 calculations. Here is the important bit. Not expecting you to understand it all. Only showing to demonstrate the complexity 🙂 if ( (gettype($data) == "array") and ($data["status"] == "ok") and ($data["meta"]["count"] == 1) and (gettype($data["data"][$usernumber]) == "array") ) { foreach ($data["data"][$usernumber] as $tankstats) { $tankid = $tankstats["tank_id"]; if (isset($expwn8[$tankid])) { $totaldamage = $totaldamage + $tankstats["random"]["damage_dealt"]; $totalkills = $totalkills + $tankstats["random"]["frags"]; $totalspots = $totalspots + $tankstats["random"]["spotted"]; $totaldefense = $totaldefense + $tankstats["random"]["dropped_capture_points"]; $totalwins = $totalwins + $tankstats["random"]["wins"]; $totalbattles = $totalbattles + $tankstats["random"]["battles"]; $expecteddamage = $expecteddamage + ($expwn8[$tankid]["expDamage"] * $tankstats["random"]["battles"]); $expectedkills = $expectedkills + ($expwn8[$tankid]["expFrag"] * $tankstats["random"]["battles"]); $expectedspots = $expectedspots + ($expwn8[$tankid]["expSpot"] * $tankstats["random"]["battles"]); $expecteddefense = $expecteddefense + ($expwn8[$tankid]["expDef"] * $tankstats["random"]["battles"]); $expectedwins = $expectedwins + ($expwn8[$tankid]["expWinRate"] / 100) * $tankstats["random"]["battles"]; } } // CALCULATE PERFORMANCE RATIOS $damageratio = $totaldamage / $expecteddamage; $killratio = $totalkills / $expectedkills; $spotratio = $totalspots / $expectedspots; $defenseratio = $totaldefense / $expecteddefense; $winrateratio = $totalwins / $expectedwins; // NORMALISE PERFORMANCE RATIOS $rWINc = max(0, ($winrateratio - 0.71) / (1 - 0.71)); $rDAMAGEc = max(0, ($damageratio - 0.22) / (1 - 0.22)); $rFRAGc = max(0, min($rDAMAGEc + 0.2, max(0, ($killratio - 0.12) / (1 - 0.12)))); $rSPOTc = max(0, min($rDAMAGEc + 0.1, max(0, ($spotratio - 0.38) / (1 - 0.38)))); $rDEFc = max(0, min($rDAMAGEc + 0.1, max(0, ($defenseratio - 0.10) / (1 - 0.10)))); // CALCULATE WN8 $wn8 = (int)( (980 * $rDAMAGEc) + (210 * $rDAMAGEc * $rFRAGc) + (155 * $rFRAGc * $rSPOTc) + (75 * $rDEFc * $rFRAGc) + (145 * min(1.8, $rWINc)) ); As you can see, it's definitely NOT a simple "add up and divide" exercise 🙂 All the best, Zoe Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.