After much research I have finally figured out creature damage.

Each level/Class/Exp has a base value that I will soon start populating the classlevelstats table with. All damage is derived from the one base value using the a formula. Level 1 - 12 has one set of formulas and levels 13 up have the following formulas:

To give you an example a level 80 Warrior class, expansion 2, will have a BaseDamage value of 164.9240, Attack power of 642, and a ranged attack power of 103. These values are 100% correct and not made up. Using these values I can calculate the damage for a creature with 2000 baseattacktime and no damage mod using the formulas above;

Paladin and mage damage is now correct for most levels. level 1 to 60 exp0 is 98% proper values, I had to fudge a couple because data was missing. levels 61 - 83 are estimated for exp0.

Values for exp1 and exp2 are mainly correct from 61 - 70 for exp1 and 71 to 80 for exp2. The rest are estimated for any creature outside the normal range. This will give 100% proper damage to almost every creature in TC with a very small few off by the slightest of margins.

I will soon post warrior damage then rogue. rogue damage will be mostly estimated because we have so little data.

Viewing the following pictures you will notice I had to use a damage variance of 0.5 rather than the 0.4 you see in blizz’s picture. Lock damage range is checked in blizz’s pic so I’m not sure if they changed the variance value after the calculation.

Seeing your formulas, isn’t it a bit strange that the Variance actually act as another damage multiplier ? That doesn’t match at all with the name. Also we don’t have any way to define the width of the damage range atm, and reading the “Variance” name I’d think it is supposed to do that.

I tried some differents calculations with no results but I’d say there is still something off with this variance.

EDIT :

I just took some randoms bosses damage range we established analysing some raid logs on Black Temple and we can see this :