Comparison - Machamp and Hariyama

Comparison - Machamp and Hariyama

At the first look of Hariyama, it looks like the twin brother of Machamp, sharing the same typing and the same best moves – Counter and Dynamic Punch. The only differences lie within the base stats:

Machamp 234 162 180 34144
Hariyama 209 114 288 38656

*Note: when calculating bulk, a constant IV of 14 is used. This will be the same notion used for the rest of the article

Judging by the base stats alone, Hariyama seems to be the TDO choice while Machamp remains the DPS choice. In fact, we have talked about Hariyama in our Gen 3 New Pokemon Analysis and concluded that “Hariyama makes an excellent complement to or substitute for Machamp in any raid or gym battle where Machamp is called for”.

There are, however, some questions raised by the community:

1. Hariyama’s low defense allows it to gain energy faster from taking damage and thereby use Dynamic Punch more often. Does this make Hariyama’s DPS close to, if not higher than that of Machamp’s?

2. Bulk doesn’t equal to TDO. Machamp’s higher ATK allows it to do more damage given the same duration. Does this make Machamp’s TDO close to, if not higher than that of Hariyama’s?

This article aims to answer the above questions and to offer a fair comparison between Machamp and Hariyama’s expected performance. It also provides a general method to calculate DPS (and TDO) with energy from taking damage.

Calculate DPS with energy from taking damage
Calculate DPS with energy from taking damage

The first and most important problem is how to calculate DPS with energy from taking damage. This is what makes the matters tricky.

Given the DPS of the enemy, one can calculate the DPS of the Pokémon, denoted by DPSout. Let me just throw the final formulas here:





  • DPS is the complete cycle DPS as if there was no energy gained from taking damage
  • ATK, DEF are the Pokémon’s total stats (base stat + IV stat)
  • DPS1in is the DPS of the enemy as if the DEF stat of your Pokémon was 1

The assumptions and derivation of the formulas are in the last section, in case you are interested in.

Generate DPS and TDO In/Out Graph for Machamp and Hariyama

We want to see how DPSout changes as  DPS1in varies. Therefore, we can generate a DPS In/Out graph, with two axises being the two variables. Since they share a linear relationship, the graph will be a line.

Before making the graph, let’s make some reasonable DPS1in upper bound to limit the range of the graph. If the battle ends in 10 seconds, with Hariyama’s bulk at level 40 (38656 * 0.79 = 30538), the corresponding DPS1in should be around 3000. Let’s just use 3000 as the upper bound of DPS1in.

The first graph is generated as follows:

Graph 1

As we can see, Machamp has higher DPS when DPS1in is below 3000. In fact, only when DPS1in is above 4000 will Hariyama has higher DPS than Machamp. That would mean the battle ends in 7.5 seconds, which is beyond the scope of this article (the shorter battle, the more likely the DPS formula would fail).

We could also generate a TDO graph:

Graph 2

As suggested by the graph, Hariyama always has higher TDO regardless of the value of DPS1in.

In summary, compared to Machamp:

DPS1_in Hariyama DPS% Hariyama TDO%
1400 -5.8% 6.6%
1800 -4.8% 7.8%
2200 -3.9% 8.9%

  1. On average, Hariyama has about 4.8% lower DPS;
  2. On average, Hariyama has about 7.8% higher TDO;
  3. The harder the enemy hits, the better Hariyama performs.

Machamp and Hariyama are really similar to each other. Machamp has a little higher DPS while Hariyama has a little higher TDO. Both are excellent Fighting-type attackers.

That being said, in the DPS-centric meta, a high DPS attacker is favored, since not only does it bring better rewards and higher chances to catch the boss, but it sometimes differs a successful low-party-size clear from an unsuccessful one. A team of Machamps will help you secure the most premiere balls. In addition to better raid performance, Machamp also clears gyms faster and is more small-Potion-efficient. This is vital in areas where gym turnover is high. Therefore, it is our opinion that Machamp remains the undisputed Fighting-type champion.

However, if you find yourself fainted at 10-20 seconds before the raid finishes, you should consider putting some TDO choices (anchor) at the 5th/6th slot of your squad. This should be Hariyama’s role – comes into fighting after Machamps and holds up until the battle ends.

Derivation of the formula for DPS_0

DPS0 is the complete cycle DPS as if there was no energy gained from taking damage. Under the assumption:

One cycle consists of EPU Fast Moves and one Charge move.

Total damage of one cycle is: EPU charge

Total duration of one cycle is: EPU fast


Therefore, by definition,



EQ 1
Derivation of the formula for DPS_1

Here the new assumptions are that:

  1. The Pokémon receives energy from taking damage at a constant rate across the battle (as if a steady energy stream);
  2. Energy gets deducted at the beginning of the charge move.

Assumption 1 is true in an average sense.

Assumption 2 actually disagrees with the real case - the energy gets deducted at damageWindowStartMs but not at the beginning of the move, as suggested by the previous research! However, for multi-bar charge moves, as long as there is no wasted energy, we can treat it as if the assumption 2 is true so that the formula will still be accurate. Note that we can't apply this formula to find one-bar charge move’s cycle DPS because it would fail!

Let EPSDamage denote the rate at which the Pokémon receives energy from taking damage.

  • With EPS Damage, you will have EPS Damage CD energy left right after the Charge Move finishes (and so does the current cycle). Therefore, a cycle starts (and ends) with EPS Damage 2 energy.
  • When using Fast Move, you are charging energy at a rate of EPS 3. After one unit of Fast Move, you will charge altogether 4 energy.

One cycle consists of 6 Fast Moves and one Charge move.

Total damage of one cycle is: 


Total duration of one cycle is: 



Therefore, by definition,







Derivation of the formula for DPSout in terms of DPSin

With the above formulas ready, the rest will not be too hard.

First, one can find out that


This is a nice result – DPS1 has a linear relationship with respect to EPSdamage!

Now we just need to express EPSdamage in terms of DPSin. Recall that the energy gained is just half of the HP lost (ignore rounding), therefore:


DPSin is inversely proportional to DEF:


Note: DPS1 is the DPS when the damage receiver has a DEF stat of 1. Here "1" is not in the subscript so it is different from DPS1. The latter refers to the DPS with energy from damage, which has been derived in the previous section

DPS1in depends on the enemy alone if the resistances of the Pokémon to be evaluated are the same (this is the case for Machamp and Hariyama. By the way, if not, we can just multiply by some type effectiveness multiplier). So now the formula looks like:



We still need to adjust the DPSout by the ATK stat of the Pokémon and the DEF stat of the enemy, as well as other multipliers, including the ½ from the damage formula, Weather Attack Bonus, and Effectiveness (STAB is already incorporated in the DPS formula). Within the scope of this article, all other multipliers are the same for Machamp and Hariyama. For the sake of simplicity, let's assume them to be 1.

To make the numbers close to the real case, the DEF stat of the enemy is set to 180. When the Pokémon and the enemy are of the same level, the CPM cancels out with each other, so we can just use the total stats without multiplying them by CPM.

The final formula is then:

Quick Links
Raid Boss List
Raid Boss List
Raid Boss Counters
Raid Boss Counters

Pokemon List

IV Calculator

Moves List


Egg Chart

Type Chart

Power Up Costs

CP Calculator

Gym Attackers

Gym Defenders

ATK per type