# Re-evaluating Stat Weights

June 1, 2016 5 Comments

Or why Binks is going to try learning Python.

**Stat weights.** Those things that people ask for all the time in the assumption that they’re a magical set of numbers that will tell you how to get to the best gear set ever.

Hint: they’re not.

I’ve decided that a better approach may be to take a bit from Stat Weights, a bit from the continual “stat cap” questions, and approach this from a “What are people actually wanting these numbers for in the first place?” direction.

Lets tackle that last bit first: What’s the purpose of Stat Weights?

Stat weights are the “dps value” of all applicable stats, generated by adding an arbitrary amount of each in separate simulation runs and dividing the overall DPS difference vs the base setup by the same arbitrary amount of the stat that was added. This gives an idea of how adding different stats will affect performance. The problem is that a set of stat weights will always be the way forward *from* the current gear set, rather than how to get *to* the “best” set which is how most people use them.

Players often ask about stat caps as well, but in most cases there aren’t any to worry about in a practical sense. Haste has a 50% “soft cap” for a 1 second GCD (or 100% if the 750ms GCD that’s currently in Beta remains), Crit and any chance based Mastery passives have a 100% “hard cap”, but that’s about it. Certain spec passives will lower some of these too. The stat cap questions are often asked in the “how much X do I need?” or “What’s the most of Y I should get?” sense, implying a minimum or maximum amount to aim for which was kind of true with haste dot/hot breakpoints before the “dot remainder” & “universal pandemic” effects were introduced in Warlords of Draenor.

# How Will Stat Ratios Work?

Stat ratios will be presented like this:

- Crit: 2.5
- Haste: 1.0
- Mastery: 8.5
- Versatility: 2.5

This is an example of the initial work I’ve been doing with a Mastery heavy Elemental talent build. It doesn’t contain any reference to Intellect or Spellpower, but with the lower quantity of secondary stats on items I suspect we won’t see too many cases of equipping lower ilvl items because they’re better itemised.

The idea is to say that for every 8.5 Mastery rating I get I should add about 1 Haste rating too. This way you’re not looking at Pawn, AskMrRobot or something else for a “value” of the item, but rather you can see that your Haste is a little high, or your Mastery a bit low, so you can swap out a Haste item for a Mastery item.

Given that in Legion there will be multiple versions of items thanks to socket/forging bonuses plus difficulty levels this should be an easier process to follow than the current build a set -> sim it -> adjust for weights -> sim it -> re-adjust for weights cycle that can sometimes end up with people switching back & forth between two stat priorities.

It’ll also be more “generic” as the ratio will be fairly standard across all players, allowing for total AP/SP, bonuses & talent selection vs the widely varying weights that can be produced because of gear variation in individual players.

# How to do this?

Currently it’s a manual process, where I use the following “master” sim to call my current profile with different manually set secondary stat values.

#!simc

optimal_raid=1

html=Legion_Elemental_StatEval.html

iterations=25000

threads=4fight_style=Patchwerk

Legion_Elemental.simc name=Crit gear_crit_rating=3000 gear_haste_rating=1000 gear_mastery_rating=8500 gear_versatility_rating=2500

Legion_Elemental.simc name=Haste gear_crit_rating=2500 gear_haste_rating=1500 gear_mastery_rating=8500 gear_versatility_rating=2500

Legion_Elemental.simc name=Mastery gear_crit_rating=2500 gear_haste_rating=1000 gear_mastery_rating=9000 gear_versatility_rating=2500

Legion_Elemental.simc name=Versatility gear_crit_rating=2500 gear_haste_rating=1000 gear_mastery_rating=8500 gear_versatility_rating=3000

After each run I load the DPS values into a spreadsheet and update the master sim with new values & re-run it. This is a fairly manual process so I’m going to start looking at learning Python so I can set up a basic program to automate the data generation process with much smaller steps than 500.

There will be additional things to look at like how changing the total AP/SP changes the ratio, but it’s a start at least.

I don’t know if you have coding experience or not, but feel free to give me a shout if you need a hand with Python.

So do you think this stat weights will work even in prepatch? And do you trying some stuff on ptr? Im in hardcore guild and i wanna know what take to raid what talent will be better.

Binkenstein, I’d be happy to help with the programming if you’d be open to consider using R over Python for your modeling. I’m a long time R user for data crunching and just about anything (it’s an incredible utility language!). R also has a much larger and more mature community then Python does.

RStudio would be the starting point as an IDE and R can ingest just about any data type and export in any format you need, as a bonus it has a web ui integration embed on your website to let users play around with the data.

Actually, we’ve kind of got something going at the moment: http://www.stormearthandlava.com/bloodmallet/

Nice!