Jump to content

Yasenkrasen session summary statistics off?


Recommended Posts

Posted

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!

Posted
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

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.