Member-only story
Risk Board Game — Battle Probability Grid Program
Beat your friends at Risk. Find out how fair a battle is between attackers/defenders with this tool

I made a few edits to my battle automation program, which you can read about here.
This updated version can output the likelihood of which battalion (attackers/defenders) will prevail, depending on how many starting troops there are on each side.
What I added to this version:
- Wrapped the entire tool in a “for x in range(3000):” statement to perform iterations
- Captured the attacker and defender wins per iteration
Code:
Output:
This implies that when the attacking army and the defending army both have 12 troops, the winning probabilities are about the same! A slight advantage goes to the attacker.
Nature of ‘Risk’ Probability
This made me curious, so I decided to run this tool for the attacking/defending armies with even starting troops for 2–1000, and it gave me some interesting results. But before we look at the results, let’s think about the nature of battling in Risk by looking at the probability table:

This chart illustrates that the attacker’s advantage comes at scale. While able to roll three dice, the attacker receives a probabilistic advantage that outweighs the defender. The defending army, on the other hand, can roll a maximum of two dice but wins ties.
When the number of dice being rolled is comparable between the parties, the advantage swings towards the defender. To put simply — the bigger the armies, the more advantage goes to the attacker. It’s not until the attacker has one or two dice that the defender take the…