Diminishing Returns on Armor = Myth (graphs)

1 2 3 21 Next
Highly Rated
Edit: Fixed broken image links. I apologize for the inconvenience, must have been bandwidth limits on the image hosting site.


Update (may 29): Been working on a new app. Here's some functionality that I'm including, if you have any requests please let me know and I will see what I can do to include it.
  • Get Effective Health for any class with any defensive skills and any stats.
  • Choose to include or exclude block and dodge.
  • See value comparison between Vitality / Armor / Resistance / +%HP / Dexterity / Intelligence / +%block as a bar chart.
  • See the progression of such stats as a line chart
  • See breakdown of Damage by Armor DR / Resistance DR / Dodge / Block / Damage Taken as a pie chart or stacked bar chart.
  • Compare items based on defensive stats.
Once again, if you can think of other functionality that would be useful please let me know.


Update (may 23): Thanks for the (mostly) positive feedback. These graphs aren't super exact because they don't take into account things like: Buffs, passive abilities, 30% DR for barbs (makes vit more powerful), block, increased mLvl in inferno. So don't live your life by them, but it's good for getting a better handle on how armor, resistance, and vitality work together. This was a pet project during my lunch break but since there seems to be a little interest, I will go ahead and put together a more comprehensive app to allow people to analyze all their stats and abilities, and compare gear choices with all possible attributes. Also, as of this update the link to the app's hosting site seems to be dead in the water so I will update a new link in a bit. If you have any interesting things to add or some testing data on game mechanics I would love to hear about it, so please let me know.


I am writing this post to help people understand the effect of armor. I am posting it here because I play a barb and I think they can benefit from this information the most, although I may post it in general as well for all classes to see.

I have witnessed many people on these forums explaining to others that armor has diminishing returns. While it is true that the amount of damage reduction goes down as armor goes up, the actual effect of armor on your survivability remains constant.

If you don't feel like reading just jump to the TLDNR section where there is a graph showing effective health vs armor.

Terms & Definitions:
  • Armor: Armor gives you % damage reduction against all types of damage, not just physical. It is increased by armor value on items, strength (1:1) and certain skills.
  • Diminishing Returns: The idea that an extra point in something (Armor) yields less return than the points before it. Ex. the 100 point in armor is less effective than the 99th point.
  • Effective Health: Effective health is the amount of damage it takes to kill you (not to be confused with max health). If you have 1000 max health and 25% damage reduction, you have an effective health of 1333. You can determine your effective health by the following formula: MaxHealth/(1-DamageReduction)
  • This is where a lot of people get confused. Having 50% damage reduction does not allow you to take 50% more damage, it's a lot more than that. Consider this scenario: You have 1000 max health and 50% damage reduction. A monster is hitting you for 100 unmitigated damage, which only does 50 damage to you because you have 50% DR. It will take that monster 20 hits to kill you (1000 HP / 50 dmg) which means you can actually take 2,000 unmitigated damage (20 hits * 100 dmg). So with 50% DR you have 200% effective health, not 150%.
  • mLvl: Stands for monster level. The level of the monster you're fighting.
  • DR: Damage reduced (from armor).


DR from Armor = Armor / (Armor+(50*mLvl))

As you can see, there is a constant in the bottom (50*mLvl). Armor is being divided by (Armor + 3000). It will always approach but never reach 1 because Armor can never be greater than or equal to (Armor + positive integer).

Graph illustrating damage reduced as armor increases:

The graph shows that as armor increases, additional points in armor yield less and less DR. Most people call this diminishing returns and explain that the more armor you have the less additional armor is worth. That is wrong. The reason it is wrong is because the effect of each additional point of DR is more powerful than the last. So in order to keep the effectiveness of armor linear, each point must must yield less damage reduction because each point of damage reduction is more effective than the last.

Graph illustrating your effective health as DR increases:

To further illustrate my last point lets look at an example:
  • At 70% DR you have an effective health of 333.3%, increase over last = 10.8%
  • At 71% DR you have an effective health of 344.8%, increase over last = 11.5%
  • At 72% DR you have an effective health of 357.1%, increase over last = 12.3%
  • ...
  • At 95% DR you have an effective health of 2000%, increase over last = 333.35%
  • At 96% DR you have an effective health of 2500%, increase over last = 500%

If every point in armor gave you the same amount of DR, each point of armor would be more effective than the least. Meaning that the best way to play the game would be to stack as much armor as possible. This is why Blizzard has balanced armor so that its relationship with effective health is linear. Most of you who have played WoW are probably familiar with this concept because they do it with almost all damage reduction stats. As a little side note, you may remember that resilience in WoW was slightly unbalanced so that each additional point in resilience was better than the last (but not by much).

Without further ado, here is the most important graph in the series. This graph shows your effective health as armor increases:

People should also note that the same thing holds true for resistances (and resistances via int). The formulas are basically the same.

DR from resistance = Resistance / (Resistance + (5 * mLvl))
Resistance from int = int * 0.1

Which boils down to, DR from int = int / (int + (50 * mLvL))

Which is the same formula as armor. So yes for int also the effect on survivability is linear.

Every 1000 points of Armor increases your effective health by 1/3 of your max health (with no other DR sources), regardless of how many points you do or do not have in Armor already. The same goes for resistances. Here is a link to a google doc with graphs showing effective health and DR as armor increases:

How this effects actual game play
We all have the same question: Which is better for me? It depends on your current stats! (surprise, right?). For example, I play a barb with about 42k HP and 7000 armor. Currently 1 point of vitality is worth a little more than 8 points in armor.

  • If Item One has 10 extra vitality and Item Two has 70 extra armor, I will go with Item One.
  • If Item One has 10 extra vitality and Item Two has 90 extra armor, I will go with Item Two.

The same probably doesn't hold true for you. So I made it easy. Here is a dashboard you can use to input your current stats and have it tell you how good vitality is vs armor for you. You can also select "Compare Items" and compare up to 5 items to each other based on their Vitality and Armor stats:

If there's any real use out of the thing I can incorporate +%life and resistances and stuff. But for now it just tells you Armor vs Vitality.

***************** END TLDNR *****************

##Final Note on Resistance/Armor: There's a bit more to the whole thing that just that.

  • First, 1 resistance is basically always better than 1 armor, obviously. And 1 int is worth 0.1 resistance, so 10int > 1 armor.
  • Second, how good resistance/int is versus armor depends on your current armor and resistance. So don't necessarily stack one to the detriment of the other.
  • The more Armor you have the better resistance becomes.
  • The more resistance you have the better Armor becomes, relative to each other.

Now comes the question: which is better for me specifically? Well, it should be possible to tell how much armor is worth 1 resistance point. I have put together a matrix with Armor running across the top and Resistance running down the side, find where your armor and resistance intersect and it should tell you how many points of armor equal 1 point of resistance.

Resistance vs Armor Matrix:

For me personally, my character's res/armor ratio is about 20. So if I have to choose between 500 armor and 20 resistance, I will choose the armor.

And to the people who are like "omg what about int?" Well, I don't know how you got this far without realizing you can just take those values and divide them by 10, but here is a matrix showing the value of 1 additional point of int versus 1 additional point of armor:

If you have anything good to add, let me know and I'll edit it in. Sorry for any spelling, grammar, or otherwise notable mistakes. It is a long post and I don't particularly feel like proofreading it.

05/22/2012 01:30 PMPosted by Dekarr
this entire post is worthless because you are ignoring Revenge.

Note: If you're interested in how this affects life leech builds, drop down to where it says LIFE LEECH.

Thanks for bringing this up. I actually started looking into armor because I was thinking about revenge and how to get more use out of it. However, I quickly realized that revenge doesn't matter, and in fact no healing abilities do. Here's why:

Revenge heals you for 5% of your max hp. If you have more max hp, then you will be healed for more. Sounds like more vitality = better revenge, right? Wrong. If stack vitality, then revenge will give you a bigger heal. However, if you stack armor revenge will give you a smaller heal but those health points are effectively worth more because of your armor value. Either way though, it will heal you for exactly 5% of your max health which is also the same thing as healing you for 5% of your effective health. But anyways let me show you an example.

This might get hairy but follow along. Sorry I'm not the best at explaining things.

Lets say you have 10k HP and 1000 armor (25% DR). Revenge heals you for 500 (10,000 * 0.05). Which is worth 666.6 effective health (500 / (1-0.25) ). If we increase your vitality by 100, your health becomes 13,500 (10,000 = (100*35) ). Now revenge heals you for 675 hp (13,500 * 0.05), which is worth 900 effective health (675 / (1-0.25) ) when you have 1000 armor (25% DR). At those health and armor levels you can see that 1 point of vitality is worth about 14.1 points of armor. Now instead of increasing your vitality, we increase your armor by 1410 points (14.1 points for each increased point of vitality in the previous example). So you have 10k HP and 2410 Armor (44.6% DR). A revenge still heals you for 500 like in the beginning (10,000 * 0.05), but those 500 health points are worth 900 effective health points (500 / (1 - 0.446) ).

Here is a little worksheet showing that example:

So from this you can see that revenge heals you for 5% of your health, which gives you back 5% of your effective health. So actually all the ratio stuff between armor and vitality is completely unaffected by revenge and you should pay it no mind.

**********LIFE LEECH************

Now what actually IS INTERESTING is the affect of other types of heals on the barb and how armor and vitality impact them, or rather don't. Any kind of heal that isn't based on a % of your max HP gets BETTER with more armor and is completely UNAFFECTED by vitality. This is because while it is healing the same amount, those health points are worth more when you have more armor.

Lets look at the passive skill bloodthirst. It is a barbarian passive that heals you for 3% of the damage you deal. Here is a spreadsheet showing the same example as above, but looking at the effective healing of 1 strike with bloodthirst active.

The moral of the story is this: If you want to try some kind of leeching build using bloodthirst and +life on hit mods, you should definitely stack armor and resistances over vitality to make your heals more effective. Also, I admit I don't have much knowledge of other classes but I assume they have some heals that are static or based on damage dealt. So anyone of any class trying to make a leech build should focus on res/armor over vitality.


Some people have brought up a discussion about itemization, specifically the internal worth of different stats on a piece of gear. This is something of a misconception carried over from games like WoW where most every piece of gear is static, and gear with equivalent iLvls, quality, and type generally have the similar internal worth. Internal worth here refers to how blizzard weighs different stats. This is important, and also not important when differentiating between gear choices in Diablo.

It's not important because every piece of gear is randomly chosen from all possible affixes/prefixes. Meaning you could have two items of the same iLvl with very different worth. Add to that the fact that many stats can be simply worthless and it makes the variation in items immense. Because of this, it's not all that useful to talk about how much armor can appear on an item versus how much resistance. It's only useful to talk about a specific item versus another specific item.
I can't believe you made a flash app for this. Neato.
Good post. Have you tested any of this in game? There has been some controversy over whether or not the way these mechanics should theoretically work is actually accurate.
Whoa nice work. I think I undervalue armor and vitality a lot with my barbarian. According to your flash app, 100 vitality is almost equivalent to 1,000 armor O.O
Yay for maths! :) Thank you for this.

*adds to my folder of Barbarian links*

♥ Aune
FANTASTIC post my friend. We need more people like you around here rather than all the pointless whining threads.
Good job!
this entire post is worthless because you are ignoring Revenge.
interesting read, will have to take a look at the charts tonight.
Armor vs vitality isn't much help if the formulas are accurate. If 1 vit = around 8 armor, which is easier/cheaper? 500 armor belt or 420 armor belt with 10 vit? Easy call especially because the 420 armor belt probably has at least 50 vit on it. Basically this says to stack vit, which we know doesn't work.
You need to incorporate % life and all resists for this to help.
05/22/2012 01:30 PMPosted by Dekarr
this entire post is worthless because you are ignoring Revenge.

That doesn't invalidate any of these findings. True, higher max HP makes Revenge heal for more, so Vitality is worth slightly more than modeled here, but this is a damn sight better than nothing. A little obnoxious to call this "worthless", do you have a better model somewhere?
"Diminishing Returns on Armor = Myth (graphs)"

I'm sorry what were you saying? Too late in the night/early in the morning for me to be readin russian novel.

My barb had 45 percent reduct from teh armor, and I popped some skill and it tripled his armor but only too the reduct to 70 percent. I may not be able to put 1 and 1 together, but even I can see that 70/45 is less than 3 my friend.

Myth busted.
05/22/2012 01:46 PMPosted by Ferret
True, higher max HP makes Revenge heal for more, so

Popping it against bigger packs of mobs((the correct use of the skill)) makes it heal more too .
05/22/2012 01:48 PMPosted by Gutrachop
True, higher max HP makes Revenge heal for more, so

Popping it against bigger packs of mobs((the correct use of the skill)) makes it heal more too .

...does that somehow influence the validity of these graphs?
This is typically how armor is implemented in most games. In DotA/HoN, for instance, each point of armor gives you an EHP increase of 6% against physical damage. It's a bit more complex in that game because there are weird damage types and other mechanics that ignore armor to some degree, but it's good to have a comprehensive post explaining why this is the way it is to those who aren't super mathematically inclined.
Fantastic post.
05/22/2012 01:30 PMPosted by Dekarr
this entire post is worthless because you are ignoring Revenge.

Revenge heals based on %, regardless of what max health is, so no, revenge does not factor in, whether he is at 100k life or 10k life. It has no bearing on damage reduction- thus your post is OT/"worthless"
05/22/2012 01:30 PMPosted by Dekarr
this entire post is worthless because you are ignoring Revenge.

Please ignore him... he probably read the TLDR part and still did not understand.

Great post ^_^
"Diminishing Returns on Armor = Myth (graphs)"

I'm sorry what were you saying? Too late in the night/early in the morning for me to be readin russian novel.

My barb had 45 percent reduct from teh armor, and I popped some skill and it tripled his armor but only too the reduct to 70 percent. I may not be able to put 1 and 1 together, but even I can see that 70/45 is less than 3 my friend.

Myth busted.

EHP = MaxHealth/(1-DamageReduction)

Let's say you have 1000 MaxHealth. Your base DR is 45%, which enters into the equation as .45, yielding an EHP of 1000/(1-.45) = 1818. With 70% DR, EHP = 1000/(1-.7) = 3333. So right you are, it is not tripling your EHP because it is not tripling the same armor figure that you think it should be. It's a question then of when or how that 300% figure is applied. If you have Tough as Nails or Nerves of Steel, or perhaps some other armor mechanics I'm not away of, it's possible that they are not stacking in the way you think they should be.

Regardless, if you read the math and understood it, you would realize that this is not a myth, that your operation of dividing 70/45 is not correct and thus not even relevant to the discussion. It's also possible that you are providing incorrect figures for some other reason. They way damage reduction works is not debatable, though the way armor stacking mechanics works is often unclear.

Join the Conversation

Return to Forum