A Guide to rDPS and aDPS
Introduction
In Shadowbringers, the addition of the Dancer job made it difficult to evaluate personal performance, since normal DPS ranks padded with Dancer abilities dominated at the top end. In order to counter this problem, two new DPS metrics have been introduced: rDPS and aDPS.
What are rDPS and aDPS?
rDPS stands for "raid-contributing DPS", and it is measuring how much damage you actually brought to the raid. The formula for it is:
rDPS = DPS - (damage gained from others' external buffs) + (damage given to others by your own external buffs)
For example, if you are a Monk, your rDPS would subtract out damage you gained from external buffs like Trick Attack or Battle Voice, but it would also add in damage you gave to others from Brotherhood.
aDPS stands for "adjusted DPS", and it is measuring how much damage you did with only single target padding removed. AOE padding is still allowed. The formula for it is:
aDPS = DPS - (damage gained from a set of specific single target buffs)
The buffs removed by this metric include Devilment / Standard Finish, Astrologian cards, and Left Eye.
Why Have Two Metrics?
rDPS is great for showing how much damage you really contributed to the raid, For utility jobs like Dancer and Ninja, the metric depends on people making good use of your buffs, so some damage you contribute to the raid is out of your control
aDPS removes single target padding, but still rewards you for playing to AOE buffs. It also doesn't include your buff contributions, so this metric allows you to evaluate a Dancer or Ninja to see how they're doing in terms of just their own damage.
5.0 RDPS Math
Buffs fall into two categories: percentage buffs that affect the entire damage amount of an event, and crit/direct hit buffs that only apply to the crit/direct hit damage portion of an event.
Percentage Damage Buffs
Let N be the damage amount for the event. Let e_{1} ... e_{n} be the set of external buffs that are in effect for the event.
First, the total multiplier, M, for all of the external buffs is determined. For the set of buffs, e_{1} ... e_{n}, with a set of multipliers m_{1} ... m_{n}, the total multiplier M is defined as m_{1} * m_{2} * .... m_{n}.
The amount of buff damage lost by the player, L, is defined as L = N - (N / M).
This damage is then redistributed to the players that applied each external buff. For a given buff, e_{i} with a multiplier of m_{i}, the amount of damage given to the player, g_{i}, who applied this buff is:
g_{i} = L * (log m_{i} / log M)
The reason log-weighted normalization is used is that the results end up being very close to an additive normalization (e.g., .1 / (.1 + .1) in the above example), but the use of log provides consistency regarding the handling of a combined multiplier. For example two 4.88% buffs end up contributing the same amount as a single 10% buff (because of the property that log A + log B = log AB).
For aDPS, the same computation is done, but g_{i} is credited back to the player if it is not a single target external and discarded otherwise.
rDPS Example: Suppose Bob hits the Big Bad for 121 points of damage, and he had two 10% damage buffs provided by Mary and Alice.
- The total multiplier for the event is 1.21.
- The damage lost by the player is 121 - (121 / 1.21) = 21.
- Mary gains 21 * log 1.1 / log 1.21 = 10.5 damage.
- Alice gains 21 * log 1.1 / log 1.21 = 10.5 damage.
aDPS Example: Suppose Bob hits the Big Bad for 121 points of damage, and he had two 10% damage buffs provided by Mary and Alice. Mary's buff is a single target buff, and Alice's buff is an AOE buff.
- The total multiplier for the event is 1.21.
- The damage lost by the player is 121 - (121 / 1.21) = 21.
- Mary's buff amount is 21 * log 1.1 / log 1.21 = 10.5 damage.
- Alice's buff amount 21 * log 1.1 / log 1.21 = 10.5 damage.
- Since Alice's buff is an AOE buff, Bob is given back that 10.5 damage.
- Neither Mary nor Alice are given the buff damage. It's discarded.
Crit and Direct Hit Buffs
Crit and Direct Hit buff rules are different based on whether or not the event was a simulated DoT tick or just a regular damage event.
In both cases, start with N' = (N / M), i.e., the damage amount after external percentage damage buffs have taken their share. The goal is to then compute a crit damage portion and a direct hit damage portion for N'.
Let C_{u} be the player's unbuffed crit chance / 100, and let C_{b} be the player's buffed crit chance / 100. Let D_{u} be the player's unbuffed direct hit chance / 100, and let D_{b} be the player's buffed direct hit chance / 100.
The multiplier in Final Fantasy XIV for crit damage is M_{c} = 1.4 + (C_{u} - 0.05). For direct hit damage, it is a flat 1.25.
Let M_{dc} be the combined multiplier for crit and direct hit. It is defined as:
M_{dc} = 1 (event is not a DoT, not a crit, and not a direct hit) |
M_{dc} = M_{c} (event is not a DoT and is a crit) |
M_{dc} = 1.25 (event is not a DoT and is a direct hit) |
M_{dc} = M_{c} * 1.25 (event is a DoT or is both a crit and direct hit) |
For a regular damage event (i.e., not a DoT), the crit portion of the damage, P_{c}, can then be defined as follows:
P_{c} = (log M_{c} / log M_{dc}) * (N' - (N' / M_{dc}))
For a regular damage event (i.e., not a DoT), the direct hit portion of the damage, P_{d}, can then be defined as follows:
P_{d} = (log 1.25 / log M_{dc}) * (N' - (N' / M_{dc}))
For DoTs, we also want to compute P_{c} and P_{d}. Since DoTs are simulated, every single tick contains a bit of crit and direct hit damage, since that is a property of the simulation algorithm. Every DoT's damage can be divided into four portions, based off the probability that the DoT was going to crit or direct hit.
Let NC = 1 - C_{b} and ND = 1 - D_{b}. These represent the odds that the player did not crit and did not direct hit respectively.
The total multiplier, T, for the DoT damage is defined as follows:
T = (NC * ND) + (C_{b} * ND * M_{c}) + (NC * D_{b} * 1.25) + (C_{b} * D_{b} * M_{dc})
The DoT's crit portion, P_{c} is defined as:
P_{C} = ((C_{b} * ND * M_{c}) + (log M_{c} / log M_{dc}) * (C_{b} * D_{b} * M_{dc})) * N' / T
The DoT's direct hit portion, P_{d} is defined as:
P_{d} = ((D_{b} * NC * 1.25) + (log 1.25/ log M_{dc}) * (C_{b} * D_{b} * M_{dc})) * N' / T
With P_{c} and P_{d} computed, we can then divide up the crit and direct hit portions among the external buffs. Let c_{1} ... c_{n} be the set of external crit buff boosts and d_{1} ... d_{n} be the direct hit external buff boosts.
For a given crit buff, c_{i}, it receives a portion of P_{c} according to the following formula:
g_{i} = (c_{i} / C_{b}) * P_{c}
For a given direct hit buff, d_{i}, it receives a portion of P_{d} according to the following formula:
g_{i} = (d_{i} / D_{b}) * P_{d }
The same rules then apply as for percentage damage buffs regarding what is done with this value. For rDPS it is credited to the buffer. For aDPS, it is given back to the damage dealing player if it is an AOE buff and discarded otherwise.