How do the Attack and Defense stats work in Pokémon GO?
Every pokémon has 3 base stats: stamina, attack, defense. Stamina determines a pokémon’s HP. However, I still don’t understand what attack and defense do. If pokémon use moves that deal a fixed amount of damage (e.g. Vine Whip does 7 damage), why do attack/defense stats matter?
For example, Venusaur has a higher attack stat than Bulbasaur (198 vs. 126). Both of them can use Vine Whip. Wouldn’t they both deal the same amount of damage? So why does it matter that Venusaur has a higher attack stat than Bulbasaur?
I feel like there should be some kind of equation that uses the attack stat of the attacker, and the defense stat of the defender in order to modify the damage in some way. Otherwise, these two stats seem irrelevant.
Note that I am not talking about Type Effectiveness or STAB. I know how those modify the damage. I’m asking about how the attack and defense stats that pokémon have modify the damage they do.
"V0001_POKEMON_BULBASAUR"
...
Stats {
BaseStamina: 90
BaseAttack: 126
BaseDefense: 126
}
"V0003_POKEMON_VENUSAUR"
...
Stats {
BaseStamina: 160
BaseAttack: 198
BaseDefense: 200
}
4 Solutions collect form web for “How do the Attack and Defense stats work in Pokémon GO?”
Attack and Defense greatly affect damage.
There is an equation used by the game, but it never reveals exactly what that formula is. However, after lots of testing I believe we’ve finally figured out what that formula is. You can see how it was done on Reddit here!
Damage = Floor(0.5 * (Attack / Defense) * (CpM_Atk / CpM_Def) * STAB * Type * Power) + 1
 Floor(…) : This is a math function were the result is always rounded down.
 Attack : This is the total attack stat of the attacker (base attack + attack IV).
 Defense : This is the total defense stat of the defender (base defense + defense IV).
 CpM_Atk : This is the CP_Multiplier based on the level of the attacker.
 CpM_Def : This is the CP_Multiplier based on the level of the defender.
 STAB : This is the SameType Attack Bonus, which is equal to 1.25. It is only applied if the type of the attack move is the same as one of the attacker’s types.
 Type : This is the type effectiveness of the attack, which can be either 0.64, 0.8, 1.0, 1.25, or 1.5625, depending on whether the attack is “super effective” or “not very effective”.
 Power : This is the base power of the move used by the attacker.
Note: Testing has determined that critical damage is not currently implemented in Pokemon GO, so it is not included in the formula.
Note: Some versions of the formula do not have “CpM_Atk / CpM_Def”. This means that those numbers were already factored into “Attack / Defense”. I choose to separate these so that it is more clear how a pokemon’s level affects damage.
Extra Information

The base Attack and Defense stats for all pokemon: here.

The CP_Multiplier for each pokemon level: here.

The type effectiveness for all 18 types: here

Information about what IV’s are: here.
Example #1
Attack = 100
Defense = 50
CpM_Atk = 0.7317 (level 30)
CpM_Def = 0.5974 (level 20)
STAB = 1.25
Effectiveness = 1.25
Power = 25
Damage = Floor(0.5 * (100 / 50) * (0.7317 / 0.5974) * 1.25 * 1.25 * 25) + 1
Damage = Floor(0.5 * (2) * (1.2248) * 1.5625 * 25) + 1
Damage = Floor(1.9138 * 25) + 1
Damage = Floor(47.845) + 1
Damage = 47 + 1
Damage = 48
Example #2
Now for a real example, and I will go into much more detail this time. Let’s say a level 20 Venusaur attacks level 20 Bulbasaur with Razor Leaf. Let’s also assume Venusaur’s IV’s are all 12, and Bulbasaur’s IV’s are all 9.
Attack = 210
Venusaur’s base attack stat is 198. Its Attack IV is 12, so we add those together to have a combined attack stat of 210 (198 + 12).
Defense = 135
Bulbasaur’s base defense stat is 126. Its Defense IV is 9, so we add those together to have a combined defense stat of 135 (126 + 9).
CpM_Atk = 0.5974
Venusaur is level 20, and the CP_Multiplier for that level is 0.5974.
CpM_Def = 0.5974
Bulbasaur is level 20, and the CP_Multiplier for that level is 0.5974.
STAB = 1.25
Venusaur is a Grass/Poison type pokemon. Razor Leaf is a Grass type attack. Since the attack type matches one of Venusaur’s types, the attack deals bonus damage.
Type = 0.64
Vine Whip is a Grass type attack being used against a Grass/Poison type pokemon.
Grass type attacks are not very effective against Grass type pokemon (x0.8).
They are also not very effective against Poison type pokemon (x0.8).
These two damage multipliers combine to make the attack double ineffective. 0.8 * 0.8 = 0.64.
Power = 15
The base damage for Razor Leaf is 15.
Damage = Floor(0.5 * (210/135) * (0.5974 / 0.5974) * 1.25 * 0.64 * 15) + 1
Damage = Floor(0.5 * (1.5556) * (1) * 0.8 * 15) + 1
Damage = Floor(0.6222 * 15) + 1
Damage = Floor(9.333) + 1
Damage = 9 + 1
Damage = 10
Example #3
Now let’s do the reverse of the above: Bulbasaur attacks Venusaur with Razor Leaf.
Attack = 135 (126 + 9)
Defense = 212 (200 + 12)
CpM_Atk = 0.5974 (level 20)
CpM_Def = 0.5974 (level 20)
STAB = 1.25
Type = 0.64
Power = 15
Damage = Floor(0.5 * (135 / 212) * (0.5974 / 0.5974) * 1.25 * 0.64 * 15) + 1
Damage = Floor(0.5 * (0.6368) * (1) * 0.8 * 15) + 1
Damage = Floor(0.2547 * 15) + 1
Damage = Floor(3.8205) + 1
Damage = 3 + 1
Damage = 4
Summary
Example 1 showed how both attack/defense and level affect damage.
Example 2 & 3 showed that when pokemon are the same level, attack and defense play a large role in damage. Venusaur did 10 damage to Bulbasaur with Razor Leaf, while Bulbasaur only did 4 damage with the same attack.
The formula also shows why Magikarp deals damage even though Splash has a base damage of 0. One damage is always added onto the end of every attack.
Here is a graphic explaining the process
All attacks have a base damage stat. That’s the number you see, and no matter what pokemon you have, attacks like vine whip will do the same base damage. But, you’re right, there absolutely IS an equation that uses this and the pokemon’s stats to determine a final damage. Since pokemon go hasn’t been out for that long. The exact formula in each battle is basically impossible to know, because you don’t know your opponent’s defense, but in the mainstream games, it’s
((2xlevel+10)/250 X (attack/defense) X Base + 2) X modifiers
Where attack is your pokemon’s attack, defense is the defending pokemons defense, Base is the move’s base damage (that constant, like vine whip has) and modifiers are things like STAB, types, etc.
In Pokemon Go, they’ve changed a lot of individual numbers around, but they most likely use a similar formula to the one above. So, essentially, base attack is not a set damage. It might SAY something like 20, but if your opponent has a great defense, it could be less, or if it’s supereffective, it could do a LOT more.
formula is from here
Just in case the link breaks here’s a text version
Yesterday (July 16th) there was an info dump of datamined stats from the
game’s code. We can now calculate what makes each Pokemon tick and
how strong they are.
Base stats
There are 3 (2 are hidden) stats that make up a Pokemon’s CP (Combat Power): Staminia (HP), Attack, and Defence. These values are produced by taking the Pokemon’s stats from the main games and running them through this formula:
Base Attack = 2.6 * (Atk^0.46)(SpAtk^0.46)(Sp^0.04) + 3
Base Defense = 2.6 * (Def^0.46)(SpDef^0.46)(Sp^0.04) + 3
Base Stamina = 2 * HP
Because the speed stat is weighted so lightly in this formula, Pokemon
that relied on their speed in the main games (such as Electrictypes) will
find their stats lacking in Pokemon GO, as we see the bulky Watertypes like Vaporeon and Slowbro that are normally very slow have a big stat advantage.
STABs and type effectiveness
^{This section is missing.}
IVs
If you thought the grind was over after finally getting that Vaporeon with
Hydro Pump, think again. Supposedly IVs (Individual Values) are in GO. I
can’t confirm it however.
Attack speeds and DPs
Moves have different, set attack speeds.
Don’t let the Power listed on the move fool you. Generally, moves with
higher power will have slower attack speeds.
That isn’t to say each move has the same DPs: Water Gun for example is one of the best DPs moves you can use, whilst ThunderShock has the same attack speed but deals half as much damage.
You can calculate a move’s base DPs value by plugging the values in here:
DPS = (1OO0/attack speed in ms)(attack's power)(1.25 if STAB)
To find out a specific pokemons DPs value relative to others, multiply that move’s base DPs by the user’s Attack stat.
For example: Let’s find the DPs value of Vaporeon:
Vaporeon has a base Attack stat of 186.
Vaporeon can only learn Water Gun as his basic attack.
Water Gun is 10 power and has an attack interval of 500ms.
You can attack twice per second with WaterGun (1000ms/500ms).
The effective power is now 20 but Vaporeon also gets a STAB boost since
it is Watertype. This brings Water Gun up to 25 effective power (1.25*20).
Multiply his attack 186*25 = 4650. This puts Vaporeon’s DPS at #7th high
est Combining this with the fact Vaporeon has one of the biggest health
pools and a decent defence makes him the top pokemon by far at the
moment. It’s no coincidence you see Vaporeons at the top of many gyms.
So why does evolving my Eevee into a Vaporeon make it so much stronger than Flareon or Jolteon?
Jolteon, like most electrictypes, relies on his speed. As discussed earlier,
this hurts his base stats which is why you will see an Eevee that turns Vaporeon having 2530% more CP than an Evee with the same CP that turns into Jolteon. That extra CP is an indication of the extra HP that Vaporeon is getting which is roughly double that of Jolteon’s. On top of this, Jolteon’s only basic attack ThunderShock has a base DPs literally half that of Water Gun. Theoretically if they were to fight, a Vaporeon should walk away with over half his health remaining after trashing a Jolteon!
Similarly, Flareon’s Ember deals similar DPS to tshock (11.9). Luckily for Flareon his evolution comes with extra Attack (238), which still isn’t valued as highly as HP, but better than Speed. Although slightly higher attack than Arcanine, his other stats are lacking in comparison. Compared to Arcanine’s much higher HP and DEF paired with his 15 DPS Bite which would do similar damage to an Ember vs SuperEffected targets, Flareon’s Ember with a dps value of 2833 can barely even compete against toptier Pokemon with fire moves as lacking as they are. The only seemingly semiviable Fire pick is Charizard. And that’s only when you use him with Wing!
So how do we counter this monster of a mon Vaporeon?
Well, right now you don’t.
The only pokemon that can even come close would be Venusaur. But thanks to 1.25x/0.8x effectiveness, Venusaur boasting a respectable 3808 grass dps value with a decent Defence, just barely loses to an equal Vaporeon because of Vaporeon’s HP advantage. Exeggutor can also come close, but lacks the grasstype basic move to seal the deal.
Personally, I can’t wait for trainer battles to come so we can have nothing but 6v6 Vaporeon battles!