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.
A ranking for a player represents their best score according to a specific metric. A parse is similar to a ranking, but does not have to have been the player's best score.
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.
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.
Partitions are essentially a split in rankings. They are meant to separate each tier of content. 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. This is to ensure that players can fairly compete with the current version of their class, rather than feeling that they can never beat previous numbers.
When a new partition is added, all previous parses and rankings up to that point will be saved and stored. All rankings will then be reset, creating a clean slate for everyone to compete fairly once more. A new tab is then created on character profiles, allowing users to view each partition. An "all" tab is also added, which will display a character's best parses from all partitions within that raid tier.
Whenever a tier of content arrives, or 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.
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 and guilds can earn All Star points in the Speed / Execution bracket. The formulas used to determine all star points on a specific boss vary both by game and by metric. These scores are relative to the parses both above and below your score.
The formulas are as follows:
Let P = base points the boss is worth (typically 100), then:
Character All Stars
Speed All Stars
let N = (top speed in ms) / (my speed in ms)
S = max(P × N, rank percentile) + 0.2 × P × N
Execution All Stars
let N = (best deaths + 1) / (my deaths +1)) - 0.1 × (1 - (best damage taken / my damage taken)
S = max(P × N, rank percentile) + 0.2 × P × N
In addition, some bosses are removed from all stars if the ranking statistic can be exploited arbitrarily or if logging on the boss is broken in some way. On character pages, All Star points earned are shown for each boss, along with an absolute ranking.
All Stars update once per day around 7 AM 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.
Why do the Numbers Sometimes Change?
How Historical Scores Work
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.
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 11k 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. There are a number of reasons why the historical system works 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.
To help communicate this concept, a 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.
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 created between the two closest cached percentile values.
Differing Score Numbers
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). A typical comparison against parses limits to a two week range. 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 these possible numbers.
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/FC 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)
FF Logs Rankings Policies
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, developers will be consulted to see if a hotfix is imminent. If a hotfix is planned for the exploit, then at that point, we try to come up with a site fix that will automatically invalidate all the ranks that used the exploit.
If a site 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. 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 considered an exploit.
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, it is first determined 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.
As always, we love to hear your feedback. Please join us on Discord to share any feedback and suggestions, or to ask any questions.
Follow our Twitter for updates!
If you have any support questions, please reach out to our support team at email@example.com.