Beyond Damage Percentile: An Introduction to Understanding Context and Other Metrics in FF Logs

FF Logs is very popular, but I see and talk to a lot of people who either don’t know how to use it, or worse, they think they know how to use it when all they do is look at the damage percentile and make sweeping judgments off of that. It’s not that the damage percentile isn’t a useful or important metric, but it needs to be contextualized to be properly understood, and just holding it as the be-all end-all indicator of player skill is reductive, to say the least. That one tiny little number, by itself, could mean a lot of things. This attitude, in turn, has lead other players to reject FF Logs entirely, which is equally reductive and dismissive.

FF Logs is a good ranking website, if that’s all you want from it (but it’s a team game, and individual rankings are a relatively poor fit – we’ll touch on this later). However, it’s also a very powerful and versatile tool, and it’s great for analyzing your play and comparing yourself to others to find ways to improve.

Far from being a comprehensive guide, what I’d like to do here is go over some of the context that needs to be taken into consideration when looking at a parse. I’ll also show you how to find information on FF Logs, since it’s not the easiest website to navigate, and lastly, some of the most common metrics you may want to look at to use FF Logs to improve yourself.

Contextualizing Damage Percentile

Percentile, simply put, is a way of ranking players against each other. If you’re 90% on damage, it means that 90% of players are doing less damage than you. Crucially, it doesn’t tell you how far you are from the top or the bottom. You could be the second best player in the world (you’d be 99%), but you don’t know if the one above you is doing 10, 100 or 1000 DPS more than you.

Now, if you look at a speedkilling parse by some of the absolute best groups, everyone will be 98% or higher with only the occasional 95-97%. What I’m interested in here is more your average group, your average run, or even a Party Finder group as opposed to a static.

Typical scenario: you go into Party Finder, you clear a fight, upload your parse and find out you scored 60%. How do you tell if that’s good or bad, if you could have done better, or if that’s what you could reasonably expect given the circumstances?

Before we delve into FF Logs proper, it has to be acknowledged that several factors go into a player’s overall damage output, factors that are all packed inside the percentile you see at the end. Player skill is absolutely the most important and impactful, but many other things need to be taken into consideration.

This is an incomplete list of the factors involved, along with an estimation of how much they can affect a parse. Some may be obvious, but are still worth mentioning:

Gear, Food and Potions/Infusions

Unfortunately, FF Logs has no way of collecting information on your gear. It can see if and when you’re using food and potions, but not what kind. However, you’re still ranked against everyone else.



If you’re comparing yourself to someone else in particular, you could look them up on the Lodestone or xivdb.com and compare your gear to theirs, provided they logged out in their raid gear recently.



I’m wary of giving hard numbers on the damage gained from upgrading your gear because I don’t want to be imprecise. Gearing up has a significant impact, and I don’t want to handwave it away, but it’s also often the case that players overestimate this difference as an excuse for what is undeniably a poor performance on their part. Instead, I’d invite you to make use of tools such as these made by the TheoryJerks team, which are very easy to use and can give you a rough estimate of what damage you could expect with different stats.

Party Composition & Raid Utility

There are many kinds of raid utility. For example, having a Ninja right now drastically increases everyone’s damage output, mostly thanks to Trick Attack, Shadewalker, and Smokescreen. NIN’s aggro tools, in particular, allow tanks to spend less time in tank stance and/or do fewer aggro rotations, which greatly increases their damage output.



Other classes have raid utility in the form of a slashing/piercing debuff and the like. Bard packs all kinds of raid utility, as does astrologian. Some have more, some have less, but thanks to role skills, every class has some form of utility. Sometimes raid utility can be more indirect and subtle: having a bard or machinist with Refresh lets healers get away with less piety, and therefore pack more secondary stats that actually increase damage dealt, or lets summoners use Ruin III more often.



Damage mitigation (Reprisal, Palisade, Addle, Dismantle, etc.) is a particular kind of raid utility that greatly benefits healers, but it’s often in the hands of DPS and tanks.



Teammates Skill

All the raid utility in the world is useless if people don’t utilize it, or misuse it.

Deaths

One death doesn’t just set back the player who died, but it affects everyone else as well: the caster who needs to resurrect loses GCDs and mana, the healer who needs to recast protect and heal up does, too. Depending on when the death occurred, others may have to make up for the dead person by being inefficient with their time or their skills.



Keep in mind; a death could be anyone’s fault. Don’t assume that it’s the dead player’s or the healer’s fault, but look into it.

Failing mechanics

When it doesn’t lead to a wipe, failing mechanics may result in a noticeable damage down debuff for yourself or the entire party. It may simply cause more unnecessary damage, which will put additional strain on your healers, or maybe a knockback, pushback, petrification, etc. which will lower your damage output and/or someone else’s, depending on circumstances.



Of course, sometimes failing a mechanic on purpose is a DPS gain overall, like in Susano Ex where the optimal strategy is for people to ignore the Churning Mist mechanic and keep DPSing. This is considered optimal as it increases raid-wide DPS, although, to be precise, it’s increasing the DPS of tanks and damage dealers at the expense of healer DPS.



In addition, some mechanics are random and may lead to a DPS loss for specific players, through no fault of their own, such as being stunned by the Levinbolt, or imprisoned by Ama-no-iwato in Susano Ex, or being targeted by SpellBlade Holy+Pole Shift in O3S.

Strategy and Coordination

Simply put, some ways of dealing with certain mechanics are better than others, depending on which metric one is optimizing. There are countless examples of this. It can be as simple as positioning the boss and assigning spots so that melee DPS don’t have to disengage to do mechanics (e.g., Maniacal Probe in O2S; the entire last phase of Susano Ex with the arena split in two.)



Sometimes one strategy is simply superior to another; more often than not, a strategy is harder to execute but more effective, or it sacrifices the DPS of some (usually healers) to increase the DPS of others (usually DPS) resulting in a net gain.



For tanks, effective use of provoke and shirk can lead to a better aggro lead, and therefore fewer aggro combos. For healers, the burden of healing can be split 50-50, 75-25 or even 100-0, which directly affects how much time each healer has to DPS. Not knowing what your teammate is going to do, in any role, also means lower DPS.

Party Damage and Phase Skips

Higher Party Damage can result in phase skips, which almost always translates to higher damage output for everyone. Higher party damage often just means more damage for everyone, too. This is most evident in dungeon runs: healers can run out of mana by using their AoE skills, if overall DPS is low and enemies don’t go down quickly enough.

You may have noticed that I mentioned healers quite a lot. This is in part because I’m a healer myself, and therefore I know healers best. But it is also because the healer is the role that is by far the most easily and profoundly affected by circumstances, by teammates, or by lack of coordination with their co-healer, while DPS are the ones that are affected the least. Healers also produce the lowest damage output. Therefore, one healer GCD has the lowest value, and they should almost always be the first class to sacrifice their damage uptime if they can increase others’ by doing so.

It should be pretty obvious by now that your performance in this game is never only your performance, but it is inherently affected by everyone around you. There is no metric that can be held up as an absolute without taking into consideration the context in which it was produced. This is why individual rankings are an approximation at best: it’s not FF Logs’ fault that the individual rankings are skewed.

FFXIV is fundamentally a team game, and even if FF Logs could calculate raw unbuffed potencies, a person working in a coordinated team would have an advantage over someone in Party Finder. Not to mention that stacking or holding buffs, and modifying your rotation to account for the buffs at play is an integral part of being a good player, and looking at raw potencies would ignore all that. Ultimately, the best players play with an eye to a) securing a clear (if the circumstances require it), or b) improving the party’s kill time, and by extension raid DPS. They pursue those goals even if it’s sometimes to the detriment of their own DPS.

When you next see a damage percentile, ask yourself in what context the score was produced, check for the factors we discussed. It’s tough to quantify exactly how much each factor contributes, but with experience and by looking at a lot of parses, you’ll naturally learn to give some rough estimations and eyeball it. Sometimes a 60% is a pretty good parse, and sometimes it’s a bit disappointing. At the same time, do not overestimate the weight of these factors and do not rely on them excessively to justify disappointing parses: a great player may not perform at his best in adverse circumstances, but will still shine.

A Note on Tank and Healer Rankings

Tank and Healer rankings are affected by the fact that many groups choose a main tank/offtank, main healer/off healer approach, which may be suboptimal but is also easier to execute compared to a more balanced division of labour. As a rule, you should look at the combined healer and combined tank DPS as a more representative metric than individual performance for those roles in particular.

Padding

Before we move on, we should address what is known as padding. Padding simply means arranging every possible factor in a raid (raid utility, party composition, strategy, etc., all the tools a party has) to cater to a single player and increase their damage output. Padding can be its own set of skills, when done properly. Only, in a padded run, people are coming together to maximize one metric (one person’s damage) instead of the metric that you want to maximize in every other circumstance, which is kill speed and, by extension, raid DPS.

On the one hand, padding is not as common as some like to believe, as proven by the fact that the top groups consistently get 97-98-99% on their speedkills without any padding. You’re not getting all 60% because everyone else above you is being padded. On the other hand, it’s pretty much always the case that the individual damage rankings for every fight, for every class, are dominated by padded runs.

Anyone who is familiar with FF Logs knows this to be the case. If you want to improve, don’t go looking for players in the individual damage rankings, as the best parses in that section are almost always padded. It doesn’t mean that they’re unskilled, but they’re not representative of how you should play in any other circumstance. If you want to look at a good parse that is not padded, look for them in the Static Speed Rankings.

The least sophisticated and easiest to spot – but also one of the most effective – ways of padding is using astrologian cards on a single target. Other strategies include stacking buffs all in favour of one person, and of course crafting a strategy that ensures maximum uptime for that person, such as letting them deal more AoE damage. For tanks and healers specifically, it can also mean offloading most or all the work of tanking/healing on the other tank/healer. This is particularly effective and relatively common for healers: one healer solo heals the fight and the other acts as a glorified DPS in order to get a good parse.

Spotting whether a run is padded is simply a case of checking for these factors.

Check if they had unrealistically long uptime on AST cards (balance, arrow or spear) and if the cards were single target (i.e., other people didn’t get them).

Check if they were given the opportunity to pad their numbers on AoE. One quick way of doing that is on the rankings page, which displays total damage and boss damage separately. Alternatively, in the Damage Done page, you can use the drop-down menu to filter to boss damage only.



FF Logs has already started automatically excluding some of the most prominent forms of padding: for example, in Susano Ex, any damage dealt to the ama-no-iwato prisons that do not contain a player is ignored by the parse.

For healers, check if the healer in question did any healing.

These small checks will catch 99% of padded runs. If you’re still not convinced, go looking for other raid buffs and see if they were stacked on this one person even when it wasn’t optimal to do so. If you come up empty, maybe the parse you’re looking at wasn’t padded after all.

Reading a Log

So far we’ve talked about the theoretical side of things. FF Logs is useless if you don’t know what you’re looking for. We’ll expand some more on what metrics to look for (and what metrics to ignore) in the following sections, but right now I want to show you how to look for those things.

This is what the main page of a parse looks like. This has no information and only serves as a menu to go into each fight.

The page you actually want will look like this at the top, and I’ve numbered the four most important elements. These are menu selections, and you need to combine a selection from each, at the same time.

This menu lets you navigate among different fights in the parse you uploaded. Usually, you want to look at kills if you want to compare overall performance and only look at wipes if you want to know exactly what happened in that specific run, because most metrics will not be very representative in a wipe. This menu lets you select what you want to do with the parse: do you want to analyze it (mostly you’ll use this mode), or compare it to another parse? The Problems tab is always empty, so skip it. Rankings will show you, well, your rankings. And Replay will show you a top-down abstract replay of the fight in real-time, especially useful to check for positioning. This menu lets you select the format in which data is presented: Tables, timelines, a list of events with timestamps. The last choice, Queries, acts as a search function to look for specific things in the parse. Every mode also shows the graph, which sometimes is all you want. Tables is the option you’ll use the most. Timelines is really great for some things (mainly casts) and very hard to read/use for most other things. Events is very accurate and detailed, but it can be very cumbersome to sift through. This fourth menu lets you select what metric you want to focus on: you can look at damage dealt, at healing done, at the number of casts, at the amount of mana you had throughout the fight, etc.

For example, if I want to look at my mana pool in O3S, I select 1) Halicarnassus 2) Analyze 3) Tables 4) Resources. I then choose “Mana Points” from the drop down menu that appears. I’d see a graph showing me the amount of mana everyone had throughout the fight, at which point I can select or unselect names to only look at the people I’m interested in.

Another example: I want to check card usage, specifically Balance uptime in my Exdeath run. So, I’d pick 1) Exdeath, then I would select 2) Analyze 3) Tables 4) Buffs, and I would see a long list of buffs organized by type. Under “Damage Buffs,” I would find “The Balance.” Here, I can see the uptime % combined for the whole group (the amount of time that at least one member had the buff). If I now click on “The Balance,” I can see the following table (names have been cut out):

This table shows when each person had Balance in the fight. So, in this run, the AST opened with Balance and used Balance again sometime after the middle of the fight (you can see exactly when in the graph above). You can also indirectly deduce some more information from this, but you need to be familiar with astrologian to be able to reverse-engineer it. The “Count” column shows how many times the buff was applied or reapplied (extending the duration counts as a reapplication). I can tell you that the green line was a BRD, and the Orange line was a SAM. I can clearly see that, for some reason, the BRD was out of range for Celestial Opposition in the opener. Thus, their Balance card wasn’t extended, making their count only 3, and explains why the duration of the first card is shorter. It’s also easy to see that the SAM got a Time Dilation on their second Balance card, which brought their count up to 5 and lengthened the duration. Everyone else got 2 Balance cards with Celestial Opposition.

One last example: I want to see how much each ability contributed to the overall damage of a particular player, say a dragoon, in O2S. So I will go to 1) Catastrophe 2) Analyze 3) Tables 4) Damage Done. Then I will click on the name of the player in question, and I will have a table like this:

We’ll go through some more examples throughout this guide, and there are a billion options, more than I can illustrate, but the principle doesn’t change. This is how you look up information on FF Logs. With the explanation I’ve already given you and some effort and trial and error on your part, you should now be able to look up pretty much anything you could ever want (as long as it’s actually recorded in the logs themselves.)

Also keep in mind, as you work with FF Logs you’ll start noticing some of the quirks of how the game works behind the scenes. You wouldn’t notice most of these by playing normally. For example, Earthly Star is considered a pet and will mirror most of the buffs of the AST that cast it, like potions and cards. Sometimes you have to differentiate between Thunder III the attack (which deals damage on hit), and Thunder III the DoT. Often, the logs will show not one boss, but several – if you do Lakshmi Extreme, the parse will show more than a dozen Lakshmis, each responsible for different attacks. These are coding tricks that make the game function as intended. If you have any knowledge of what the fight looks like in the actual game, it should be relatively easy to work out what is actually going on. Don’t let these things confuse you.

Improving via FF Logs

FF Logs can help you improve by helping you realize what your weaknesses are, and showing you good examples from better players.

It is incredibly useful to constantly compare your parse to someone you know is good, or to one of the top parses on the speed rankings. To have more accurate results, it’s recommended – especially for healers and tanks – to use the search function to filter the speed rankings by team composition and look at a parse in which the situation is as similar as possible to the one you find yourself in.

That’s not to say that those players are perfect and make no mistakes, or that their parses cannot be improved upon, but how you approach them depends on your level of knowledge and skill. If you’re still learning, you can usually assume that they’re doing things differently than you for a good reason, and you should try to understand why they’re doing what they’re doing. While blindly copying others can work to some extent, you should always strive to understand the reason behind it. Then, as you get better and more confident in your knowledge, you can approach things with a more critical eye and evaluate them for yourself. In either case, at the cost of repeating myself, take the differences in approach seriously and ponder over why others are doing what they’re doing, don’t dismiss them just because they look different or unusual. On the other hand, don’t be afraid to say “I know this is a good parse, but I think this bit is inefficient and can be improved on” if you have evaluated it as it deserves. It’s a hard balance to strike.

The nitty gritty of what you want to look for changes substantially from class to class, but we can make some generalizations. These are some of the metrics you want to look for.

Casts Per Minute (CPM) and % uptime

CPM is a woefully underrated metric. You can find it at 2) Analyze 3) Tables 4) Casts. With some approximation, CPM is the number of skills you use every minute, while % uptime is the amount of time you spent casting. There is no absolute number that is “good CPM,” as it changes from class to class and fight to fight. CPM is the FF Logs equivalent of Always Be Casting. In fights with no downtime, your % uptime should be as close to 100% as possible.

If your CPM is low and your % uptime is low, you’re wasting time doing nothing. There should be very very little variation in CPM, and you should be no more than 1 or 2 units away from the CPM of a good player of your class in any given fight. There are only a couple of exceptions to that rule: very RNG-reliant classes like BRD and AST can have fluctuations on their CPM due to luck; also, not skipping certain mechanics that others are skipping can lead to a difference in % uptime, because several mechanics translate to forced downtime.

Getting your CPM and your % uptime up is one of the first things you should work on. Using a suboptimal skill is still better than not using any skill at all, or keeping your cooldowns unused for too long. It may also be the case, especially for casters, that you’re having trouble doing the mechanics while you also keep casting, which can be fixed by planning your positioning, movement abilities, and instant casts.

Damage Uptime %

Damage uptime is CPM’s cousin for healers and can be found under 4) Damage Done. For DPS and tanks, % uptime and damage uptime should be almost identical, as the vast majority of their casts deal damage. For healers, damage uptime % represents how much time they spent dealing damage to the boss. Needless to say, they want this to be as high as possible. Remember: a healer’s job is to maximize their damage output while keeping everyone alive.

Healing per second (HPS) and Overhealing %

Again, two more stats for healers. They can be found under 4) Healing. I’m only mentioning these stats because they’re often overrated or misunderstood. Simply put, these stats are not very useful in isolation, except for checking how the burden of healing was divided between the two healers. Having high HPS is not necessarily a good thing, as an excellent healer in an excellent group will heal as little as possible. High HPS may mean you’re overhealing, solo healing, or your group is taking a lot of unnecessary damage or not using mitigation correctly.

Much like damage percentile, HPS percentile is also affected by how the majority of groups use a main heal/off-heal approach: a SCH can get very high on HPS percentile very easily, because there are many groups in which SCH does very little healing. This doesn’t reflect whether it’s optimal to do so or not and doesn’t take into account who the co-healer was, what pet the SCH was using, and what stance the AST was in.

Overhealing itself (i.e., healing more than necessary) is bad, and you should avoid it. But this is not accurately reflected in the overhealing stat, because there are a number of things that count as overhealing for statistical purposes but are not wasteful. The most obvious example is using HoTs pre-pull. Those are technically overhealing, but you’re not wasting a precious GCD, and they may actually save you one GCD down the line. If you really want some values to orientate yourself, anything below 30% is excellent, and 30 to 40% is still pretty good. A very high overhealing stat (over 50%) can be a red flag, signaling that there are issues with excessive healing, but it’s not sufficient evidence on its own, and you should confirm it by looking into the matter.

Poor coordination with your co-healer will naturally lead to more overhealing, and, especially in Party Finder groups, you shouldn’t worry too much about it: in those cases it’s better to overheal and secure the kill. It can also be the case that you have high overhealing, but it’s your co-healer who is at fault, especially if you have HoTs spells. Say you cast Medica II, but then your co-healer is impatient and heals everyone up to full, now your Medica II ticks are overhealing through no fault of your own.

Finally, there are mechanics such as White Hole in O4S that mess with the overhealing stat to the point of rendering it almost meaningless.

Opener & Rotation

A good opener is not only about dealing the most damage in the first 30 seconds of a fight, but about setting yourself up for what is going to happen one or two or five minutes into the fight. While every class has a standard opener, it usually requires some adjustments to tailor it to the particular fight.



The best thing you can do here is open the top 3 or 4 parses in the Static Speed rankings (with a relevant team composition) for the fight you’re interested in, and navigate to 2) Analyze 3) Timelines 4) Casts. You will see every person’s skills side by side. Alternatively, you can also go to 2) Analyze 3) Tables 4) Casts, click on a person’s name and then switch to Timelines or Events for a different presentation of the same information.

Here you can compare your opener to theirs. You can also, of course, navigate to a given moment in the fight and check their rotation at that point in time.

Anything that happens before the pull, and sometimes the very first skill, does not show up in the parse itself: you may have to use your intuition and/or reverse-engineer what is going on in a more indirect way. For example, you may not see Diversion being used in a DPS opener. However, you can go to the 4) Buffs page, and see that the DPS in question started the fight with Diversion on and that it fell off 10s into the fight. Diversion lasts 15s, which means Diversion was used 5s before the pull. Another example: Medica II lasts 30s, so if you see everyone started with the Medica II regen on them, and it expires 20s into the fight, it means it was used 10s before the pull. For AST, you have to add up the time extension of Time Dilation and Celestial Opposition, if those skills are being used within the relevant timeframe.

Cooldown, Pet and Resource usage

This section is complementary to the one above. The usage of cooldowns and other resources also needs to be tailored to each specific fight. Between checking the 4) Casts and 4) Buffs pages, you should be able to map out when people decide to use their cooldowns. Well-coordinated groups will time their buffs so that they are all used at the same time, often within a Trick Attack window, or with Chain Stratagem. They could also hold cooldowns for a particular part of the fight, or they could do the opposite and use them suboptimally, knowing they’ll come back up when they need them anyway.

Each class has different resources and cooldowns to keep track of, and many of those can only be gauged indirectly: you can’t see aetherflow stacks or the rage bar, but you should always be able to deduce what they are at any given time with the information provided.

Unfortunately, most pet abilities will not show up in the Cast Timeline, and you’ll have to look for them separately.

For Healers, cooldowns and oGCD heals are dependent on their co-healer and more broadly the strategy used by the group as a whole (tank cooldowns, amount of mitigation, etc.), so they may not be carried over directly without everyone else also adjusting.

Tank Swaps, Provoke & Shirk and Tank Invulnerability Usage

I’m putting Tank Swaps in their own section since they deserve attention. Many groups only swap when the fight absolutely requires it, but this is often inefficient, as one tank may run out of cooldowns while the other tank’s cooldowns lie unused. Check the 4) Threat tab to see who is tanking when. Unfortunately, you can only see who is #1 on the aggro table, and not the actual aggro values as they evolve over time.

How the tanks handle Provoke and Shirk can also be critical: using these two abilities together can not only facilitate swaps, but can help build a better aggro lead over the DPS. A big part of optimizing as a tank is using the smallest number of aggro combos.

As your group starts optimizing, you should start making the most of your tanks’ invulnerabilities. They should not be kept “just in case,” you should not rely on them for an emergency, but you should weave them into your normal cooldown rotation.

DoT uptime and Damage Contribution

On a basic level, you should always keep your DoTs up. On a more advanced level, you should almost always keep your DoTs up. The most common case when a DoT is inefficient is when the boss will become invulnerable before the DoT has ticked for long enough to be more potent than the other skill you could have used in its place. Sometimes you also want to clip your DoTs, especially if it means snapshotting them under certain buffs.

In general, it’s useful to compare the damage contribution of each of your skills to that of another player. As we’ve seen before, you can do that by navigating to 4) Damage Done and clicking on a player’s name. Both the 3) Tables and the 3) Timeline views can be useful here. This way, you can see if you’re using an individual skill too much or too little, or at inappropriate times.

Positioning and Handling of mechanics

While sometimes this can be deduced by looking at other metrics, the easiest and quickest way of comparing positioning is simply to watch the 2) Replay. You do need some knowledge of the fight so that you can associate movements and timings to specific mechanics. You want to look at both positionings of individual players and of the boss, which can be equally important for maximizing damage uptime.

When evaluating another player, you can give a rough estimate of their performance by considering the factors I talked about in the Contextualizing Damage Percentile section. Or, if you have the necessary class knowledge, you can go more in depth with all these metrics, the same ones you would look at if you were working on improving yourself.

There could be more to say. FF Logs is an incredibly versatile tool, if not very approachable at first. But even just the information I provided here should carry you a long way, and then you can absolutely keep exploring more on your own.

I hope this guide was useful, and good luck.

I’m always happy to help if I have time, and I’m open to feedback and criticism about this guide, so feel free to contact me on Discord. Meow Meow ♥

Thanks to Pekoni Naama of Odin; Parsee Whiterock of Odin; Flara Starburst of Famfrit; the people in my static Fortes Feles; Ryuusei, Alimdia and the other admins of ffxivrecruiter.com for reading this guide and providing feedback and additional tips.

Melody Asheran (Odin)

Melody#3594