Split rankings/allstars by faction in Classic

Heya!

Sorry that this is such a major change, but I’ve been doing some analysis on the differences between faction parses for the same classes and specs and there’s some pretty big differences.

I play a holy priest, and I kept feeling like the Alliance parses were absurdly unobtainable and consistently much higher than what I saw on Horde. So, I pulled down some WCL data via the logs, and computed the “alliance advantage”. Effectively, what I did was pool Alliance and Horde, and found the per-faction percentiles. To my surprise, for pretty much every data point, Horde has a “disadvantage” compared to Alliance.

The Alliance advantage is computed as (dpshps for Alliance parse - dpshps for Horde parse) / (dpshps for Horde parse). Effectively, this creates a comparison between the DPS or HPS which is achieved at the same percentile for each faction. For almost every class this is in the 6-12% range, and my own class (holy priest) feels it really hard up in the 99s where effectively the Alliance advantage goes exponential.

The graph effectively shows the advantage that Alliance has compared to Horde for the exact same (faction-based percentile).

Here’s the breakdown per class, for dps or hps (whichever is relevant for the role), for each boss in Naxx, for a 90th percentile parse. The blue (left column) is Alliance dps/hps for 90, red (middle) is Horde dps/hps for 90, and green (right) is combined 90 parse (eg, the current way it’s calculated). The % is the increase in hps/dps observed on Alliance parses.

https://gistpreview.github.io/?7e5d29b5ba4730852d1295ad037ff610

For example, a holy priest on Grobbulus with a 90 Alliance parse is expected to do 348 hps, while a 90 Horde parse is a 284. Given the sample size is massive, I don’t think it’s simply noise. I think fundamentally there are some major advantages for Alliance, (largely Paladin buffs), that make it such that identical percentiles for each faction have double-digit percentage differences in dps and hps. This makes Alliance percentiles skewed up, and Horde percentiles skewed down, since the two factions are pooled together.

Let me know if you think this analysis is accurate. The advantages for Alliance are just so high, and this is shown by my Horde priest rank being ~80, while my actual priest rank is ~500. There aren’t 6x more Alliance players, it’s not something that’s really explained with play style, noise, or a larger Alliance player base (which seems to be about 30% higher total).

~Onorine

Edit: Updated graphs and gist as n has increased. Data covers 260k of 306k Naxx clears (trying to throttle my requests)

Thanks for the suggestion. This would be very involved to implement, so would more be something to consider if Classic resets and we go through the phases again.

No problem, totally understood. I’d imagine this gap will close in TBC, but honestly having a little table which shows world, faction, and maybe even race rankings would be kinda neat.

As a dev as well, I’d love some bulk data, or make some of the JSON blobs not blobs. I had to pull a lot of data to generate this, when really all I care about is a vector of dps and hps values, tagged with servers, and factions. Some of the pagination APIs seemed to be O(n) to access later pages, and I just feel so bad with the load of fetching things deep on pages. Sorry!

~Onorine

The pagination APIs sucking is because Laravel pagination apis suck. They use LIMIT/OFFSET under the hood, which as you point out is really terrible.

I basically have to rewrite rankings to do the pagination by hand on my own. It is on the list to do at some point.