Once again, we are diving deep into the mechanics and theory of Dota. Last week we touched on the subject of Attack Speed and how it affects DPS and today we would like to expand on this topic.
These three abbreviations create more confusion in Dota than half the other mechanics combined. BAT or Base Attack Time is probably the most to blame: it is hidden in the character panel and its effects are further obscured by the fact that for all nondefault values of BAT, AS and IAS calculations are modified.
AS and IAS are Attack Speed and Increased Attack Speed, but the latter is largely irrelevant. Most heroes start with 100 AS and all IAS is simply added to it in a usual fashion, with the exception of heroes who have nondefault BAT values.
Once again, without going too far with the math side of things, the easy rule of thumb is that for every 100 total AS you increase the factor by which you have to divide your BAT to get the time value of how long your attack takes. So, a hero with 1.7 BAT and 200 AS will take 0.85 seconds to make and attack and be ready for the next one.
The way the game handles nondefault BAT, however, is slightly different. Instead of using actual AS values and scaling them to BAT, it goes in reverse about the whole process: it first scales all AS effects and then applies it to a default BAT of 1.7.
Juggernaut with a BAT of 1.4, 34 starting agility and base Attack Speed value of 110 shows 174 total AS, instead of 144.
The hard limit on Attack Speed is 700. No hero with a default BAT can go over this value, meaning that at best a hero can attack roughly four times a second, with a 0.24 seconds interval between attacks. The same is true for nondefault BAT heroes, but because of the AS scaling, the shown value can, indeed, exceed 700 and have full effect.
Theoretically, the Alchemist under Chemical Rage level three can attack seven times a second.
Now, it took us a very long time to figure out why exactly would Valve make these mechanics show in such a counterintuitive way. It looks like we finally found an answer, at least a very theoretical one: when optimizing for DPS, it is much easier to work with BATadjusted Attack Speed values, which we are going to discuss in the next section.
Damage per second calculations are quite easy on the surface: you take your damage and multiply it by the amount of attacks you make per second. Since it is a straight multiplication, the interesting first conclusion is that every point of Attack Speed is as effective as every point of damage. In vacuum, they are more or less interchangeable as far as DPS is concerned.
The second, perhaps more meaningful conclusion is that when deciding between Attack Speed and Damage, to maximize DPS, you need to get what you have less of. If your Attack Speed shown on the character panel (read: after Valve BAT voodoo) is 300 and your damage is 200, getting damage will net you a higher DPS gain and the opposite is true as well.
In the image above, there are two Trolls with 755 Damage and 755 Attack Speed: their Damage was equal to their Attack Speed. Each of them then got an extra item: “Fast” Troll got a Hyperstone (+60 AS), while the “Strong” Troll got a Sacred Relic (+60 Damage). As you can see, the difference in DPS between these two additions is negligible. So, given that you start with the same Attack Speed and Damage, extra Attack Speed or Extra Damage will have the exact same effect on DPS. The minor discrepancy between two Trolls comes from the fact that with a nonstandard BAT, Troll gets roughly ~17% extra Attack Speed from his Hyperstone.
Hence the third conclusion: on heroes with lower BAT, getting extra Attack Speed is stronger than on regular heroes, at least in vacuum. Outside of this vacuum, however, things are slightly more complicated.
This is a topic too broad to discuss in a single blog post, but unlike AS in general, the underlying mechanics are generally more intuitive. To make life easier, we can simply consider all onproc effects as either added damage or a damage multiplier. We can and also should consider armor as a damage multiplier as well.
For example, MKB gives a 75% chance of a 100 magic damage proc, so the expected damage you get from its proc is 75 magic damage.
Daedalus gives a 30% chance of 225% crit. It is a 1.375 expected damage multiplier: 30% of the time you are going to hit for 2.25x times your damage, and 70% of the time you hit for 1x your damage.
Armor is a similar multiplier that can be added to the equation for DPS calculation against specific targets. For example, a target with 16 Armor will have 50% resistance against physical damage, which we can then multiply with (Damage per Attack) value to get effective damage. But since it is a straight multiplication, it makes the space outside of vacuum interesting:
 (Damage per Attack) * (Attacks per Second) * (Crit Multiplier) * (Armor Multiplier)
Above is a (very) simplified formula for DPS calculation without any procs. As you can see, it doesn’t matter where you put the (Armor Multiplier) since all of the part are multiplications. Because of it, when optimizing for DPS, the enemy armor values don’t matter in the context of Attack Speed vs. Attack Damage: you still go for what your hero is lacking. To this formula you can then add extra terms for proccing effects.
 (Expected Damage from Proc) * (Attacks per Second) * (Crit Multiplier if applicable) * (Armor Multiplier if applicable) * (Magic Resistance if applicable)
For example, for MKB, you would add (Attacks per Second) * 75 * 0.75 (basic magic resistance). That is an additive flat bonus that has (Attacks per Second) in its formula. This means that when you have noncrit procs, your Attack Speed affects several different things at the same time. In a sense, it can be counted multiple times.
Now to summarize all of the information above:

Attack Speed and Damage have a similar influence on DPS

To maximize DPS you need to get more of what you lack: if your AS is lower than Damage, get Attack Speed and vice versa

Heroes with lower BAT get more from AS, but it is already reflected on the character panel.

Armor and Critical Effects do not have an impact on the above statements, since they can and should be considered multipliers.

Proc effects that aren’t crit are additive to the DPS formula, and have (Attacks per Second) factor, so, in a sense, Attack Speed is more valuable when you have procs.
The above conclusions are not necessarily going to be revelatory for most players. The simple idea of “if you have procs go for Attack Speed” has been known for as long as the game exists, more or less.
Perhaps the most important part is that when going Daedalus you don’t automatically need to stock up on extra damage regardless of how intuitive it might look. Since Crit is a multiplier, getting more attack speed is as effective as getting extra damage: just make sure you get more of what you lack.
Another, and we can’t stress that enough, important part is that MKB will outDPS Divine Rapier against targets with ~55 Armor. Volvo fix plz.