Stat Distribution Analysis: Part 2

One week later and I think I’ve cracked this. Firstly, go back and read last weeks post if you haven’t already, and this old one on stat weights if you don’t understand why replacing stat weights is a good thing.

All caught up? Good.

My approach up until recently was to look at the DPS results for various secondary stat combinations and try to work out some sort of consistent pattern from one group (grouped together by the sum of secondary ratings) to another. This involved looking at average DPS values over multiple results where one stat had X rating, plotting the ratings vs DPS to look at trend lines, and other fun stuff. The “eureka” moment was when I looked at using each total rating set as stepping stones towards the next.

Stat Weights & Other Stuff

As a quick recap, stat weights are generally used as an indication of what stats you should aim at based on sim results. These will often be loaded into Pawn so you can get a comparison of different items in-game. The problem with stat weights is that they are pretty specific to the current gear set & character setup, and what works for one player may be incorrect for another.

These days you can do “best in bag” type simulations comparing permutations of various items you already have to find your best combination. This can be done on Raidbots (via SimulationCraft) or on AskMrRobot (using their own simulation system), but this is only useful after you’ve acquired an item and doesn’t really help with the eternal question of “How much of each stat should I have?”

Some theorycrafters have tried answering this question via 3D charts with Crit/Haste/Mastery as the X/Y/Z axis and colouring the points based on DPS. This works, but requires running simulations for every combination of each stat at whatever interval you choose, and the graphs are still limited to that one total sum of secondaries.

The Solution?

The goal I’ve been working towards is setting out an easy to follow table so players can say “I have a total of X rating, how should they be split and what will I want to aim for from there?”, look up their values, and adjust their gear accordingly. This can also support the secondary targets/thresholds/caps that players talk about when they see stat weights changes result in different stat priority orders.

For my test data I used 1000 rating intervals (as I’m using data for v7.3.5 as a test bed rather than on anything in Battle for Azeroth), and returned every combination of secondaries from a total of 6000 to 19000 rating.

  1. Find the best combination for the initial set (ie: 6000 sum total for Elemental is 3000 Crit, 1000 Haste/Mastery/Versatility)
  2. Add your interval to each secondary and re-run sims to find the one with the highest DPS.
  3. Add your interval to the combination returned in 2
  4. Rerun sims & repeat.

This gives me a “secondary ratio path” like that works as follows, covering a sum total from 6000 to 19000:

  • Start with 3000 Crit, 1000 Haste/Mastery/Versatility
  • Increase Mastery to 2000
  • Increase Versatility to 2000
  • Increase Crit to 5000 (two steps)
  • Increase Mastery to 3000
  • Alternate adding 1000 to Crit & Haste until you reach 8000/4000 respectively
  • Increase Mastery to 4000
  • Increase Crit to 9000

When comparing the DPS results of each of the above steps back to the absolute best result for each rating sum the biggest difference was 1.43%, with the lowest being 0% (the 3rd 0% result was actually at sum 17000). The difference over the last 8 sets was around 1%, which for something that will be used as a guide for the average player, or for alts, is pretty accurate. You can see the data/calculations here.

The next step is to get more dataz to see how well this works with smaller increments as well as comparing results between talent builds in a spec. I’m hoping that there will be close similarities, or at least differences that can be boiled down to behaviour of individual talents & interactions. At the worst there would need to be a single data set per talent combination.


Stat Distribution Analysis

One of the things I’ve wanted to do for a while is work out a decent way of estimating the ideal “stat ratio” based on some previously generated data vs a players current gear. My initial ideas were based around either building a grand “formula of everything” for a spec or using the stat scaling graphs to somehow build a model, but these were fairly complicated and required a lot of data.

I may have, by complete accident, worked out how to do this in a much easier way.

This started with Bloodmallet sharing his secondary distribution graph on his website  with one of those 3D charts showing DPS output as colour shading vs crit/haste/mastery as the x/y/z axis. I grabbed a copy of the raw results, planning on messing around with it to see what sort of patterns I could get out of it.

Messing around with data

About the third or fourth thing I tried was averaging the results for the percentage increments for each stat, like so:

stat distribution table 1

The next step in these situations is to look at the difference between one row and the next:


stat distribution table 2

The interesting thing I noticed was that the best combo, C35 H15 M40 V10, had that massive value drop between H15 & H20. V10 was fairly obvious as the DPS value as you add more versatility is fairly low, but why were C35 & M40 the best results? After looking at the difference between C25/35 & M30/40 I noticed that the value increases after the large drops were still the largest gains out of any of the other steps.

DPS Analysis vs Election Systems

This is where we take a slight detour. As a numbers orientated spreadsheet person I made a few spreadsheets looking at how poll results from the 2017 New Zealand general election would generate the final seat results in Parliament. This is done via the “Sainte-laguë Allocation Formula” where the total number of votes gets divided by sequential odd numbers and then the top 120 values determine how many seats each party receives.

The reason I bring this up is that the step differences looked very similar to this, where the top 20 values were used to return the best secondary stat ratio that makes up a total of 100% (each step is 5%, so 20 steps available).

How could this be useful?

If this works out at the very least I’ll have a set of templates to indicate what sort of secondary stat distribution a player should have and indicate the best one to increase next without resorting to countless stat weight sims. If everything works out like I hope then I should be able to have a “stat ratio path” in a single table that indicates how secondaries should be increased for any level of gear. Talent selection will modify this, but if the basic premise holds then looking at the individual effect of each talent would just require another small set of adjustment data, unless there’s a large stat priority switch caused by one or more talent choices.

This data could then be used within an addon as a replacement for Pawn-like addons (or even an update to Pawn) to help guide players towards better gear choices without sims or stat weights.

It’s still early days on this, as I need to gather a lot more data to analyse, but the initial idea seems promising.

Min/Maxing: Are these extra 1000 DPS increases worth it?

One of my recent theorycrafting thoughts was on looking at APL’s and reducing the complexity to see how this alters DPS output. The idea is that a less complex rotation will be easier to use in-game, and maybe even counter-intuitively increase damage.

Read more of this post

Elemental Mechanics


This document aims to highlight continuing mechanic issues for Elemental Shaman. It is a work in progress so it may change as new information is available. There may be some incorrect information as my Shaman is essentially “retired” which means I’m not storing the same amount of information in my memory as I used to. Read more of this post

Stat Weight Graphs Part 3: Raidbots edition

Thanks to Seriallos from I now have full stat weight plots for every DPS spec, and this data should be easily updateable as I’m reading directly from JSON files he’s hosting. I’ll link in the spreadsheets as I set them up, along with interesting stat charts that indicate something different/unusual. Read more of this post

Deconstruction of a Rotation: General Rotation Logic

There are a few misconceptions about how abilities should be used. Most of these follow the “use your biggest hitting ability first”, but this fails to take into account a lot of subtleties in rotations. To try to explain these I’ll use the Elemental rotation as a basis for explaining the logic. Read more of this post

Simulations, Logs & Dummies

Meters, Warcraft Logs & Statistics: Part 3

A continuation of the blog series I started recently (Part 1, Part 2).

Another common question raised by players is the “My sims say I should do X DPS but I only get Y DPS on dummies or from WCL parses” one. Unfortunately all three approaches can’t reliably be cross-compared with each other for specific details. Read more of this post