Enemy Level Scaling

All enemies encountered in WARFRAME have a certain level, which determines their strength by increasing some of their base statistics. The stats amplified by enemy level gain are Health, Armor, Shields, Damage dealt, and Affinity on death. The purpose of this article is to show how exactly these stats scale with level, how this translates to useful indicators such as effective health, and what implications this has towards player decision making such as Aura mods or damage type selection.
Enemy levels can exceed the limit of 9999 only in Void Fissure missions. In addition, stats of regular enemies don't scale with squad size. Known exceptions are Demolishers, Acolytes and Archons.
== Common Features of Stat Scaling ==
How scaling of fundamental enemy stats works in general is identical for all the stats: Each enemy type has a base value for this fundamental stat and a base level, the current value of the stat at the current level of the enemy is then calculated after a formula of the following structure:
:\text{Current Value} = \text{Base Value} \times (1 + \text{Coefficient}(\text{Current Level} - \text{Base Level})^\text{Exponent})
Exponent and coefficient are determined by the specific stat in question and differ across enemy faction. The base level and base value of the stat are determined by the enemy type. The current level is then the independent variable and the current value of the stat is the dependent variable of the formula.
At lower levels the coefficient is normally less than one, so growth is not easily noticed until mid-level ranges. For high levels, the exponent has the most impact when comparing different scaling stats against each other. If the exponent is 1, the scaling of the stat would be linear with level, which means the increase in value as level grows would be constant. For exponents higher than 1, each successive level-up grants a larger increase than the previous one, and for exponents lower than one, each successive level-up grants a smaller increase than the previous one.
The only exception of this common structure is Affinity scaling, where the current level is used instead of the difference between the current and base level.
== Scaling of Fundamental Stats ==
As mentioned, all fundamental stats scale by the above formula structure and common features apply. A standardized graph is shown for each stat. When comparing the graphs, the different Y-axis scaling has to be considered. As of health, shield, and armor scaling follow an "S"-like curve, where below a universal level range these stats grow quickly, and above this range, the stats grow slower and begin to plateau.
Health, shields, armor scaling formulae use two main functions to determine stat scaling at a particular level. One function is used when enemy level difference is below 70 and the other when enemy level difference is above 80. A common feature between the functions used is that they intersect at x=80. In other words, they produce the same value when the enemy level difference is 80.
Stat scaling between 70-80 inclusive is interpolated from the two functions using smoothstep.
:
T(x) = \frac{x - \text{Base Level} - 70}{10}
::Finding out transition percentage from 70 to 80
:
S_1(x) = 
\begin{cases}
0,\; & x - \text{Base Level} < 70 \\
3(T(x))^{2} - 2(T(x))^{3} ,\; & 70 \leq x - \text{Base Level} \leq 80 \\
1,\; & x - \text{Base Level} > 80
\end{cases}
::Smoothstep transitioning between functions
Note that while the growth at early levels is normally referred to as exponential by the community, it is actually a power growth of the form xn, which is an order less than exponential growth (i.e. xn ∈ O(nx) v. nx ∉ O(xn)).
Note that the following health, shield, armor, and overguard scaling formulae are derived from in-game testing and have not been confirmed or denied valid by Digital Extremes at this time. The accuracy of the following information is still under review.
=== Health ===
For health, the ranges of level differences from base to current level at which scaling transitions is between 70 & 80. 
====Grineer====
The formula by which Grineer health scales is as follows:
:f_1(x) = 1 + 0.015(x - \text{Base Level})^{2.12}
::When Current Level - Base Level < 70
:f_2(x) = 1 + \frac{24 \sqrt{5} }{5}(x - \text{Base Level})^{0.72}
::When Current Level - Base Level > 80
====Corpus====
The formula by which Corpus health scales is as follows:
:f_1(x) = 1 + 0.015(x - \text{Base Level})^{2.12}
::When Current Level - Base Level < 70
:f_2(x) = 1 + \frac{30 \sqrt{5} }{5}(x - \text{Base Level})^{0.55}
::When Current Level - Base Level > 80
====Infested====
The formula by which Infested health scales is as follows:
:f_1(x) = 1 + 0.0225(x - \text{Base Level})^{2.12}
::When Current Level - Base Level < 70
:f_2(x) = 1 + \frac{36 \sqrt{5} }{5}(x - \text{Base Level})^{0.72}
::When Current Level - Base Level > 80
====Corrupted====
The formula by which Corrupted health scales is as follows:
:f_1(x) = 1 + 0.015(x - \text{Base Level})^{2.1}
::When Current Level - Base Level < 70
:f_2(x) = 1 + \frac{24 \sqrt{5} }{5}(x - \text{Base Level})^{0.685}
::When Current Level - Base Level > 80
====Murmur, Sentient, and Unaffiliated====
The formula by which enemy health scales is as follows:
:f_1(x) = 1 + 0.015(x - \text{Base Level})^2
::When Current Level - Base Level < 70
:f_2(x) = 1 + \frac{24 \sqrt{5} }{5}(x - \text{Base Level})^{0.5}
::When Current Level - Base Level > 80
====Eximus====
Eximus health scaling is the same across all factions
The formula by which eximus health scales is as follows:
:f_1(x) = 1 + 0.015(x - \text{Base Level})^2
::When Current Level - Base Level < 70
:f_2(x) = 1 + \frac{24 \sqrt{5} }{5}(x - \text{Base Level})^{0.5}
::When Current Level - Base Level > 80
In addition, the base health is also increased between certain breakpoints:
*Between level differences 0 inclusive and 15 inclusive, base health stays the same as listed in the Codex.
*Between level differences 15 exclusive and 25 inclusive, base health is linearly increased from +0% to +25% (e.g. for each level, enemy gains 2.5% base health).
*Between level differences 25 exclusive and 35 inclusive, base health is linearly increased from +25% to +150% (e.g. for each level, enemy gains 12.5% base health).
*Between level differences 35 exclusive and 50 inclusive, base health is linearly increased from +150% to +350% (e.g. for each level, enemy gains 13.33% base health).
*Between level differences 50 exclusive and 100 inclusive, base health is linearly increased from +350% to +500% (e.g. for each level, enemy gains 3% base health).
*Above level difference of 100, base health will stay +500% (6x) of its Codex value.
:
{
\text{Health Multiplier} = 
\begin{cases}
f_1(x) ,\; & x \leq 15 \\
(1 + 0.025 * (x - 15)) * f_1(x) ,\; & 15 < x \leq 25 \\
(1.25 + 0.125 * (x - 25)) * f_1(x) ,\; & 25 < x \leq 35 \\
(2.5 + 2/15 * (x - 35)) * f_1(x) ,\; & 35 < x \leq 50 \\
(4.5 + 0.03 * (x - 50)) * [ f_1(x) \times (1 - S_1(x)) + f_2(x) \times S_1(x) ] \; & 50 < x \leq 100 \\
6 * f_2(x) ,\; & 100 > x \\
\end{cases}
}
::Where the Health Multiplier is the value that multiplies an enemy's base health to its current health.
=== Shields ===
For shields, the ranges of level differences at which scaling transitions is between 70 & 80.
====Corpus====
The formula by which Corpus shields scale is as follows:
:f_1(x) = 1 + 0.02(x - \text{Base Level})^{1.76}
::When Current Level - Base Level < 70
:f_2(x) = 1 + 2(x - \text{Base Level})^{0.76}
::When Current Level - Base Level > 80
====Corrupted====
The formula by which Corrupted shields scale is as follows:
:f_1(x) = 1 + 0.02(x - \text{Base Level})^{1.75}
::When Current Level - Base Level < 70
:f_2(x) = 1 + 2(x - \text{Base Level})^{0.75}
::When Current Level - Base Level > 80
====Grineer====
The formula by which Grineer shields scale is as follows:
:f_1(x) = 1 + 0.02(x - \text{Base Level})^{1.75}
::When Current Level - Base Level < 70
:f_2(x) = 1 + 1.6(x - \text{Base Level})^{0.75}
::When Current Level - Base Level > 80
====Eximus====
Eximus shield scaling uses the shield scaling of their respective faction. However, the base shield is also increased between certain breakpoints:
*Between level differences 0 inclusive and 15 inclusive, base shields stay the same as listed in the Codex.
*Between level differences 15 exclusive and 25 inclusive, base shields are linearly increased from +0% to +25% (e.g. for each level, enemies gain 2.5% base shields).
*Between level differences 25 exclusive and 35 inclusive, base shields are linearly increased from +25% to +150% (e.g. for each level, enemies gain 12.5% base shields).
*Between level differences 35 exclusive and 50 inclusive, base shields are linearly increased from +150% to +350% (e.g. for each level, enemies gain 13.33% base shields).
*Between level differences 50 exclusive and 100 inclusive, base shields are linearly increased from +350% to +500% (e.g. for each level, enemies gain 3% base shields).
*Above level difference of 100, base shields will stay +500% (6x) of its Codex value.
:
{
\text{Shield Multiplier} = 
\begin{cases}
f_1(x) ,\; & x \leq 15 \\
(1 + 0.025 * (x - 15)) * f_1(x) ,\; & 15 < x \leq 25 \\
(1.25 + 0.125 * (x - 25)) * f_1(x) ,\; & 25 < x \leq 35 \\
(2.5 + 2/15 * (x - 35)) * f_1(x) ,\; & 35 < x \leq 50 \\
(4.5 + 0.03 * (x - 50)) * [ f_1(x) \times (1 - S_1(x)) + f_2(x) \times S_1(x) ] \; & 50 < x \leq 100 \\
6 * f_2(x) ,\; & 100 > x \\
\end{cases}
}
::Where the Shield Multiplier is the value that multiplies an enemy's base shields to its current shields.
=== Armor ===
Enemy armor is hard capped at 2,700, granting them 90% Damage Reduction.
For armor, the ranges of level differences at which scaling transitions is between 70 & 80. The formula by which enemy armor scales is as follows:
:f_1(x) = 1 + 0.005(x - \text{Base Level})^{1.75}
::When Current Level - Base Level < 70
:f_2(x) = 1 + 0.4(x - \text{Base Level})^{0.75}
::When Current Level - Base Level > 80
:
{
\begin{align}
\text{Armor Multiplier} = [f_1(\text{Current Level})\times(1 - S_1(\text{Current Level})] \\
+ [f_2(\text{Current Level})\times S_1(\text{Current Level})]
\end{align}
}
::Where the Armor Multiplier is the value that multiplies an enemy's base armor to its current armor.
=== Overguard ===
Overguard is a unique health buffer to Eximus, though normal units can get overguard in unique situations (like after a Overguard Exodamper is destroyed during Void Armageddon).
:f_1(x) = 1 + 0.0015(x - \text{Base Level})^4
::When Current Level - Base Level < 45
:f_2(x) = 1 + 260(x - \text{Base Level})^{0.9}
::When Current Level - Base Level > 50
Stat scaling between 45-50 inclusive is interpolated from the two functions using smoothstep.
:
T(x) = \frac{x - \text{Base Level} - 45}{5}
::Finding out transition percentage from 45 to 50
:
S_2(x) = 
\begin{cases}
0,\; & x - \text{Base Level} < 45 \\
3(T(x))^{2} - 2(T(x))^{3} ,\; & 45 \leq x - \text{Base Level} \leq 50 \\
1,\; & x - \text{Base Level} > 50
\end{cases}
::Smoothstep transitioning between functions
:
{
\begin{align}
\text{Overguard Multiplier} = [f_1(\text{Current Level})\times(1 - S_2(\text{Current Level})] \\
+ [f_2(\text{Current Level})\times S_2(\text{Current Level})]
\end{align}
}
::Where the Overguard Multiplier is the value that multiplies an enemy's base overguard to its current overguard.
=== Damage ===
The formula by which enemy damage scales is as follows:
:\text{Damage Multiplier} = 1 + 0.015\times(\text{Current Level} - \text{Base Level})^{1.55}
=== Affinity ===
The formula by which enemy affinity scales is as follows:
:\text{Affinity Multiplier} = 1 + 0.1425\times\text{Current Level}^{0.5}
:\text{Eximus Affinity Multiplier} = 3 + 0.1425\times\text{Current Level}^{0.5}
Note that this is a special case: for the affinity scaling, base level is not subtracted from the current level. The base affinity multiplied by the Affinity Multiplier value is also rounded down to a whole number, e.g. 62.7 affinity will be rounded down to 62.
== Scaling of Derived Stats ==
From these fundamental stats, more meaningful stats can be derived.
=== Effective Hitpoints ===
Effective Hit-points is a stat that indicates how much gross damage must be dealt to a target until the net damage thereby inflicted depletes its entire health pool. Effective Hit-points is not a fixed stat for any given enemy, it is heavily dependent on the damage type used against the target, as well as the various buffs and debuffs in effect for both the attacker and the enemy in question. For the following considerations, however, these influences are disregarded, as they do not alter the course of the graphs except for clinching or stretching them as a whole, which manifests as a scaling of the Y-axis.
==== For Enemies with Health only ====
For targets without shields and armor, the standardized effective hit-point scaling is synonymous with standardized health scaling, the health graph and formula apply.
==== For Enemies with Health and Shields ====
The standardized effective hit-points of shielded enemies are simply the sum of their shields and health, except for the case when the damage portion of the gross damage depletes the target's health faster than the rest of the gross damage depletes its shield. Exact effective hit-point calculations considering damage types also become significantly more complex if damage is involved, but this is disregarded here. The level scaling of standardized effective hit-points of shielded enemies is influenced by the ratio of base shields to base health:
:\text{EHP Multiplier} = \text{Health Multiplier} + \text{Shield Multiplier}\times\frac{\text{Base Shields}}{\text{Base Health}}
In the cases where you are trying to one-shot shielded enemies without damage, their effective hit-points will actually be higher due to their shield gate mechanic. Only 5% of total damage dealt will only damage the enemy's health when their shield gate is active. However, attacking enemy weakpoints ignores the shield gate.
==== For Enemies with Health and Armor ====
The standardized effective hit-points of armored enemies are simply the health divided by the compliment of the damage reduction granted from armor. Because armor adds damage reduction to incoming damage on health the level scaling of standardized effective hit-points of armored enemies is influenced by the base armor itself:
:\text{EHP Multiplier} = \text{Health Multiplier}\times\left( 1 + \frac{\text{Base Armor}\times\text{Armor Multiplier}}{300} \right)
==== For Enemies with Health, Shields, and Armor ====
The standardized effective hit-points of enemies that are both armored and shielded are more complex than the simple EHP cases from the previous sections above. The level scaling of standardized effective hit-points of these enemies is influenced by the ratio of base shields to base health and base armor, making the formula at least 3 variable:
:\text{EHP Multiplier} = \text{Health Multiplier}\times\left( 1 + \frac{\text{Base Armor}\times\text{Armor Multiplier}}{300} \right) + \text{Shield Multiplier}\times\frac{\text{Base Shields}}{\text{Base Health}}
=== Shielding Ratio ===
The shielding ratio of shielded, unarmored enemies is the ratio of their shield to their health. Since health and shield scale at different rates, this ratio changes with level. Pre- this ratio used to converge towards a 1:2 ratio, where the higher the level the enemies, the closer they were to having twice as much health as shields, regardless of base stats. Currently, the ratio follows this original trend up until level 70, where it suddenly dips below 1:2 then diverges off towards infinity. This is because unlike before when health and shield scaling had same exponents (2), the current shield scaling has an exponent 50% larger than health scaling (0.75 vs 0.5) once past level 80, so it will grow at a faster rate despite having a smaller coefficient. This means the shield ratio will also grow larger over levels rather than converging.
The shielding ratio is relevant for evaluating and selecting damage types against shielded enemies, i.e. weighing benefits against shield types against benefits against health types. Eventually shielded enemies at high enough levels will have more shields than health, so assuming a lack of or damage, effectiveness against shields may take more precedence in player builds than health effectiveness.
The shielding ratio of shielded, armored enemies is the ratio of their shield to their armored EHP. Like before, since health and shield scale at different rates, this ratio changes with level, though more complexly since armor scaling will also make an impact. This ratio converges towards a 0:1 ratio, where, as long as the enemy has a base armor of at least one, the higher the level the enemies the closer they are to having a negligible amount of shields relative to their EHP due to armor. Though as seen above, if no armor is present then the ratio will diverge towards infinity. 
=== Affinity Density ===
The affinity density of an enemy is its affinity per effective hitpoints and a measure of its profitability for affinity farming.
It is important to note the actual affinity farming profitability is significantly offset off the optimal area as implied by the affinity density function due to the two important practical influences of overkill and retargeting time, which both contribute to shifting the actual optimum from these implications towards higher levels.
=== Reflective Kill Rate ===
Reflective kill rate of an enemy is the ratio of its damage output and effective hit-points. This is inversely proportional to the amount of time or attacks an enemy would need to kill another of its kind. It's a measurement for the effectiveness of damage reflecting effects and abilities, such as the damage proc, the mod, and abilities such as , , , or . 
==Level Scaling During Endless Gameplay==
During endless missions such as Survival and Defense, enemy spawn level will increase the more reward rotations are completed, following an inconstant increment: it seems to be overall exponential until enemy level 5000, reached after four hours in Survival, later it becomes linear. Typically at around 8+ hours of in-mission time, players will reach the max enemy spawn level, equal to 9999. 
In Disruption missions, to calculate the approximate spawn level at a particular conduit numberSpreadsheet by --PG--SSJ.OneeChan--:
{
\text{Level Increase From Previous Round} = L(x) = 2.59e^{0.139(\text{Round Number})}
}
{
\text{Spawn Level} = \text{Starting Spawn Level} + \sum_{x=1}^{\text{Round Number}} L(x)
}
==Effects That Indirectly Scale Off Enemy Level==
See :Category:High Scalability.
==External Links==
Interactive calculator for most value multipliersby User:Gigamicro
==References==
==Patch History==
es:Escalado de nivel del enemigo
zh:敵方等級變化規律
Category:Mechanics
Category:Real-World References