Is there a formula to calculate EVs?

In Generation 6, go on Super Training and get yourself a reset bag - It's the pure white one. You can get them by continuously tapping the default punching bag on the main Super Training screen.

Once you have a reset bag SAVE YOUR GAME and have your Pokemon punch the reset bag. The bag activates, your EV's are reduced to zero and the amount of EV's lost in each category will pop-up. It will not be there long so make sure to write them down.

Now you can reset your game and your EV's will be back to normal before the reset bag.

This method works on both Pokemon X and Y as well as Pokemon Omega Ruby and Alpha Sapphire.


According to Bulbapedia, from Generation 3 onward, Pokemon use these formulas to determine stats at each level:

HP formula: HP = [2*B + IV + (EV/4)]*[L/100] + L + 10

other stats: OS = ([2*B + IV + (EV/4)]*[L/100] + 5)*Nm

where

  • HP = your Pokemon's real HP;
  • OtherStat = real value for stat besides HP;
  • Base = base stat for the species;
  • IV = individual values;
  • EV = effort values;
  • Nature = nature modifier {1, 1.1, 0.9}

Note there's a fair bit of rounding down (the L-shaped brackets), so you will likely get small rounding errors using these formulas backwards:

Using algebra, we can solve for IV + EV/4:

IV + (EV/4) = x = (HP - Level - 10) * (100/Level) - 2*Base

IV + (EV/4) = x = (OtherStat/Nature - 5) * (100/Level) - 2*Base

That tells you how your pokemon differs from a default (wild) one of the same species, nature, and level. After calculating x, solving each equation for EV with IV at 0 and 31 gives you the possible range for EV values. If you know your IV within a better range, you can determine your EVs more closely too. You can also use this equation to figure out the IVs of a Pokemon you just caught, solving for x when you know EV to be 0.