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:

Atk Def HP Bulk (Def x HP)*
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 Def 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. This author has developed a model, namely Comprehensive DPS, factoring: 1) energy gains from damage; 2) energy waste from overcharge; and 3) edge cut off damage from fainting when calculating DPS.

Denote the DPS we want by $DPS_{out}$. Let me just throw the final formulas here:

$$ DPS_{out} = (DPS_{0} + \frac{1}{2} \cdot \frac{ CDPS - FDPS }{ CEPS + FEPS } \cdot \frac {DPS1_{in}} {Def} ) \frac {Atk}{180} $$ $$ DPS_{0} = \frac { FDPS \cdot CEPS + CDPS \cdot FDPS } { CEPS + FEPS } $$


  • $FDPS$, $FEPS$ are the fast move DPS and EPS respectively
  • $CDPS$, $CEPS$ are the charge move DPS and EPS respectively
  • $DPS_{0}$ is the Simple Cycle DPS
  • $Atk$, $Def$ are the Pokémon’s current stats
  • $DPS1_{in}$ is the DPS of the enemy when the Defense of your Pokémon is 1

The derivation of the formulas are in the last section.

Generate DPS and TDO In/Out Graph

We want to see how $DPS_{out}$ changes as $DPS1_{in}$ 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 $DPS1_{in}$ 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 $DPS1_{in}$ should be around 3000. Let’s just use 3000 as the upper bound of $DPS1_{in}$.

The first graph is generated as follows:

Graph 1

As we can see, Machamp has higher DPS when $DPS1_{in}$ is below 3000. In fact, only when $DPS1_{in}$ 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 $DPS1_{in}$.

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 Simple Cycle DPS

$DPS_{0}$ is the Simple Cycle DPS as if there was no energy gained from taking damage. Under the assumption:

One cycle consists of $\frac { CE }{ FE }$ fast moves and one charge move.

Total damage of one cycle is $\frac { CE }{ FE } \cdot FDmg + CDmg $

Total duration of one cycle is $\frac { CE }{ FE } \cdot FDur + CDur $

Therefore, by the definition of DPS (damage over time):

$$ DPS_{0} = \frac { \frac { CE }{ FE } \cdot FDur + CDur } { \frac { CE }{ FE } \cdot FDur + CDur } $$ $$ = \frac { \frac{ FDmg }{ FE } + \frac{ CDmg }{ CE } } { \frac{ FDur }{ FE } + \frac{ CDur }{ CE } } $$ $$ = \frac { FDPS \cdot CEPS + CDPS \cdot FDPS } { CEPS + FEPS } $$
Derivation of Comprehensive DPS

An elegant derivation is available in the introductory guide to Comprehensive DPS model.

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

$$ DPS_{1} = DPS_{0} + \frac { DPS_{charge} - DPS_{fast} }{ EPS_{charge} + EPS_{fast} } EPS_{dmg} $$

This is a nice result – $DPS_{1}$ has a linear relationship with respect to $EPS_{dmg}$ !

Now we just need to express $EPS_{dmg}$ in terms of $DPS1_{in}$. Recall that the energy gained is just half of the HP lost (ignore rounding), therefore:

$$ EPS_{dmg} = \frac { DPS_{in} } {2} $$

$DPS_{in}$ is inversely proportional to $Def$:

$$DPS_{in} = \frac { DPS1_{in} } { Def } $$

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

$DPS1_{in}$ 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).

We still need to adjust the $DPS_{out}$ by the $Atk$ (Attack Stat of the Pokemon) and the Defense stat of the enemy, as well as other multipliers, including the $\frac {1}{2} $ 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 Defense 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:

$$ DPS_{out} = (DPS_{0} + \frac{1}{2} \frac{ CDPS - FDPS }{ CEPS + FEPS } \frac {DPS1_{in}} {Def} ) \frac {Atk}{180} $$
Quick Links
Attackers Attackers Defenders Gym Defenders
ATK per type crown1 ATK per type (No Legendary)
Raid Boss ListRaid Boss List Solo Raid Raid Boss CountersRaid Boss Counters
Pokemon List Pokemon CP ListMax CP Region ExclusiveRegion Exclusive
ShinyShiny GrassNesting Legacy MovesLegacy
IV Calc Egg ListEgg List Breakpoint Calc
CP Calc RaidRaid IV Calc Appraisals
Power Up Cost Catch Rate Calc Type Chart
Guide Database Glossary Starter Guide