Formula for Alchemy Potions

How can you calculate the total magnitude of an effect from a Potion by using

  • Skill level
  • Gear
  • Perks
  • Effect Magnitude

is there an "official" formula or has anyone derived one?


Solution 1:

The Formula

net magnitude = round(base magnitude * (floor(skill / 5) / 10 + 4) *
                      (1 + alchemist) * (1 + specialty) * (1 + fortify))

where alchemist is the additional % from perk points in Alchemist (up to 100%); speciality is the potential +25% bonus from Benefactor, Physician or Poisoner; and fortify is the sum of equips enchanted with Fortify Alchemy (145% with 5 items, 116% with 4).


Background

For some reason there aren't any formulas listed on the main Alchemy wiki pages at UESP or wikia, but there is one that I've seen come up a few times in my search that matches exactly what I've seen in-game:

net magnitude = base magnitude * (floor(skill / 5) / 10 + 4)

where base magnitude is the magnitude of the ingredient that "wins out" if there's some conflict (such as between River Betty's stronger Damage Health and weaker ingredients). Neither of the two links above lists the effects of perks or Fortify Alchemy equipment, but that's fairly easy to figure out because I know the strongest potions possible for Fortify Enchanting without using Necromage or abusing Fortify Restoration: +32% with 4 equips of Fortify Alchemy +29% and +37% if you use a Falmer Helmet and Circlet. And it just happens that the following formula fits both nicely:

net magnitude = round(base magnitude * (floor(skill / 5) / 10 + 4) *
                      (1 + alchemist) * (1 + specialty) * (1 + fortify))

where alchemist is the additional % from perk points in Alchemist (up to 100%); speciality is the potential +25% bonus from Benefactor, Physician or Poisoner; and fortify is the sum of equips enchanted with Fortify Alchemy (145% with 5 items, 116% with 4).

32 = round(1 * (floor(20) / 10 + 4) * 2 * 1.25 * 2.16)
   = round(1 * 6 * 2 * 1.25 * 2.16) = round(32.4) = 32
37 = round(1 * (floor(20) / 10 + 4) * 2 * 1.25 * 2.45)
   = round(1 * 6 * 2 * 1.25 * 2.45) = round(36.75) = 37

(It also works for calculating that potion of Fortify Smithing +147%, plus I double-checked everything with a Level 20 character with 28 Alchemy, two perks in Benefactor and some Fortify Alchemy gauntlets. The combinations I tried all worked as expected.)


Example

Deathbell + Imp Stool (Deathbell "wins" and has 3 magnitude on damage health), Alchemy 28, 2 Alchemist perks:

magnitude = round(3 * (floor(28 / 5) / 10 + 4) * 1.4 * 1 * 1)
          = round(3 * 4.5 * 1.4) = round(18.9) = 19

Blisterwort + Glowing Mushroom (Fortify Smithing), Alchemy 100, 5 pieces of Fortify +10% (the highest bonus you can achieve without perks in alchemy/enchanting):

magnitude = round(4 * (floor(100 / 5) / 10 + 4) * 1 * 1 * 1.5)
          = round(4 * 6 * 1.5) = round(36) = 36

Same as above, but with 5 ranks in Alchemist, Benefactor and Fortify +29% equipment:

magnitude = round(4 * 6 * 2 * 1.25 * 2.45) = round(147) = 147

(In case anyone was wondering how powerful the alchemy/enchanting feedback loop was and how much it depended on perks.)


Modified Effects

For what it's worth, the stronger ingredient usually wins, but the exceptions are as follows for modified effects:

Damage Health: River Betty (5) + Crimson Nirnroot (6) = 5
Damage Health: Nirnroot (2) + Crimson Nirnroot (6) = 2
Damage Health: Nirnroot (2) + Deathbell (3) = 2
Fortify Block: Briar Heart (2) + Honeycomb (4) = 2
Fortify Destruction: Ectoplasm (4) + Nightshade (5) = 4
Resist Poison: Beehive Husk (2) + Thistle Branch (4) = 2
Restore Health: Blisterwort (3) + Imp Stool (5) = 3