The Complete Guide To Rankings And Parses
Whenever players kill a boss in a public log, they are ranked according to various metrics, such as damage per second and healing per second. Guilds and teams can also be ranked on metrics such as fight speed and execution. For the rest of the document, we'll be focused on player rankings, but guild and team rankings essentially work the same way.
A ranking for a player represents their best score according to a specific metric. Rankings always occur within a specific partition. A parse is similar to a ranking, but does not have to be the player's best score.
In addition to earning rankings for their best parses, each parse also belongs to a bracket, and a player can earn a bracket-specific ranking in each different bracket they compete in. What is used for brackets varies by game. In World of Warcraft, the brackets are item level ranges (for raids), and keystone levels (for Mythic dungeons). In FF, the brackets are major patches.
Ideally there will be only one partition for rankings and parses that spans the entire lifetime of a raid tier. However if significant nerfs or buffs happen, then a new partition has to be created in order to allow classes that got nerfed to continue ranking. Otherwise they would have to just give up for the rest of the tier, as they would not be able to beat their own pre-nerf scores.
Whenever a new partition is made, previous partitions become frozen. This means that no new rankings can be added to the partition, and private reports, even if made public, will not result in new rankings being added to the global rankings for that partition.
Rankings and parses can also be evaluated either around the time they occurred historically, or they can be judged against today's values. The advantage of looking at historical rankings is that you can see how a player performed around the time they earned the parse, and the advantage of looking at today's rankings is that you can see how they stack up as a raid tier ages and you get into late farm.
The Rule of Eight
Keeping all of the previous definitions in mind, there are eight possible numbers that can be shown for a specific player's score. The score can be compared either to rankings (everyone's best scores) or parses (all the scores and not just each player's best). Because the latter is so overwhelmingly large for some games, a typical comparison against parses limits to a two week range.
A score can also be evaluated when it occurred (historical), or in the present day (today).
Finally for games that support brackets, the score can be evaluated only within its bracket or it can be evaluated against all brackets.
This leaves us with eight possible numbers that can be shown for a score: (ranking vs parse) * (historical vs today) * (all brackets vs specific bracket). If you ever see a discrepancy between two numbers on the site, it is usually because the view you're looking at is a different number out of the 8 possible numbers, so always be keeping the "Rule of Eight" in mind.
The list below shows what the default view shown is for all the places on the site that show scores:
- Zone and Server Rankings - (ranking, today, all brackets)
- Character and Guild Pages - (ranking, historical, all brackets)
- Report Damage Done and Healing Done Panes - (parses, today, both all and specific brackets in separate columns)
- Report Rankings Panes - (rankings, today, all and specific brackets in separate columns)
How Historical Scores Work
One common misconception with historical scores is that players upload a new best score, get rank 1, lose it an hour later, and then get upset that the system did not record them as a historical rank 1. There are a number of reasons why the historical system doesn't work this way.
- It would reward people uploading earlier than others. People who raided an hour or two earlier would have an advantage at the start of the week vs others who raided later.
- Live loggers would potentially beat raiders who uploaded their logs after the raid, because they would get their scores up first.
- Subscribers would beat non-subscribers, since they get their rankings processed much more quickly.
For these reasons, historical rankings are processed in 24 hour windows, with the cutoff for each update being noon UTC.
Instead of storing a position/percentile for every single ranking and parse (which would take a long long time to compute), the system instead computes the values for each metric (e.g., for DPS) at specific percentiles. So for example at the end of the 24 hour window, the values for 100%, 99%, 95%, 90%, etc. are determined and cached.
A historical score is then computed through linear interpolation between the two closest cached percentile values.
When a player puts up a new parse, the history for that day has not been collected. In order to provide an approximate historical percentile immediately, a comparison will be made against the previous day's cached percentiles until the new day's percentiles have been collected.
This means that if 100% for the previous day was 150k DPS, every player who beats that score the following day will at first be shown a 100%, since they have beaten the previous day's scores. However only one of these players has truly earned 100%, and when the next day locks in, the historical percentile will be finalized, and the updated percentile will be shown.
To help communicate this concept, the character page shows which bosses are not locked in yet, so that you can know that the percentile being shown is not final yet and is subject to change.
Whenever you see a ranking or parse percentile, it is colored according to the percentile range it falls into. 100% is tan, 99+ is pink, 95+ is orange, etc. You can use these colors to quickly scan a player or guild's rankings to see how they did.
All Star Points
In addition to earning rankings for specific bosses, players can earn all star points that represent a score across the entire zone.
The formulas used to determine a player's all star points on a specific boss vary both by game and by metric. In addition, some bosses are removed from all stars if the boss is degenerate or if logging on the boss is broken in some way.
On character pages, All Star points earned are shown for each boss, and the absolute rank position is shown next to the points when the player is found in the current table.
All Stars update once per day around 7am UTC. (The computation begins then and can take some time to complete.)
If you ever have a rank missing for your All Star score, it simply means you're not in the table yet. If the parse is new you just have to wait. For older parses, you can re-export the report and then wait to get them fixed up.
FF Logs Rankings Policies
When you find exploited logs, you can either post about them on the forums, or you can send me email privately to inform me of the problem.
The way a typical exploit is handled is when requests start coming in to deal with a problem, I take a look and see if there really is an exploit. I then classify the exploit as either being possible in-game or impossible in-game.
Bringing Trash into a Boss Pull
Trash mobs are removed from boss fights if they are pulled into the boss.
If the exploit is possible in-game, then I consult developers and see if a hotfix is imminent. If a hotfix is planned for the exploit, then at that point, I try to come up with a code fix that will automatically invalidate all the ranks that used the exploit.
If a code fix is possible, then I put it in place and go back and try to find the old logs that have the exploit and flag them with a gold background.
Flagging of Ranks
Ranks will be flagged when players use in-game exploits that include any buffs that should not be possible given the gear/talents/specs that players are locked into once in combat. In other words, a rank will always be considered invalid if any lingering bonuses from gear, talents or specs are used by a player once in combat. Gear swapping for unintended bonuses is always going to be considered an exploit by this site.
Other examples of in-game exploits include using abilities more often than intended, using old equipment whose interaction with current content had not been considered, etc.
As long as the log was not hacked, i.e., the player used the exploit in-game, then the player will not be banned. The rank will simply be flagged.
Once a code fix has happened, the rank is then removed.
For outside of game exploits, I first determine if the log is invalid because of a bug, e.g., the logger's system clock was messed up, and/or the logging itself bugged out somehow. If that is the case, then the entire report will be blacklisted. Blacklisting a report removes all of the ranks for that report. You can see whether or not a report has been blacklisted by viewing the Rankings page for that report.
Sometimes blacklisting will be used temporarily when a new exploit has been discovered in order to get those reports out of the ranks quickly. This blacklisting will typically be temporary and will be undone once a code fix is in place to disallow ranks only for those using in-game exploits.
If a character repeatedly uploads hacked logs or commits many repeat violations, the character will be blacklisted and all of his ranks will be taken away. Character blacklisting is a "last resort" measure reserved for when rank removal code fixes are impossible and for when there is a clear and established pattern of log abuse.
Although this feature exists in the code, I have never been forced to use it. An entire guild would be banned from the site only if the guild as an entity set out to produce hacked logs as a group. Thankfully this situation has never occurred. :)
Ranks are frozen when a new tier of content arrives. For ranks that are patch-based (e.g., FF Logs, challenge modes in WoW), the ranks won't freeze, but new patch numbers will be added allowing you to filter the ranks to a specific patch version.
For raid tiers in WildStar and WoW, ranks will always be frozen when the next tier arrives (thus rendering the old ranks obsolete).
Ranks are always frozen when an expansion that raises a level cap arrives. This is true of WoW, FF and WildStar.