What should I buy when playing Monopoly? A Simulation

Published by Scott Jenkins on

Monopoly Jail

In this post I explore which Monopoly squares are the most frequently landed on. I simulate a player making 1,000,000 dice rolls. The aim is to give me an edge when playing this common Christmas board game, and to practice Python in the process!

Monopoly

In our family, it’s a game that only really comes out at Christmas, in the days before New Year when no one really has a clue what day it is. This year, I’ve been looking into it further.

Invented in 1903 by Lizzie Magie, the game has sold millions of copies and is played in over 100 countries around the world. Game manufacturer, Hasbro, print over 30 billion in Monopoly money each year. The game is played on a 40 square board featuring properties, Chance squares, Tax squares, Free Parking, Go, and Jail. Players roll a pair of regular dice and move around the board in a clockwise direction. They roll again if they roll a double. In the British version, players begin the game with £1500. Players pay rent when landing on properties not owned by them and have the option to build houses on their own sets of properties. The aim of the game is to bankrupt all other players, without sparking any relational squabbles!

The Brief

Which squares of the monopoly board are landed on the most frequently?

Motivation

We were playing the other evening, and as I continued to fall foul of the luck of the dice I tried to predict who would emerge victorious. My sister had hotels on both the browns and pinks, Dad had hotels on the blues, and Mum had hotels on the Oranges and had the set of mortgaged Reds. With roughly equal pots of money, it was mostly a question of who would land on who’s property first – who had built their houses in the most visited parts of the board? I thought these insights would make fine notes for future games.

Approach

Monopoly is a game of probabilities. Probabilities can be calculated theoretically, or they can be estimated through simulation.

A theoretical approach can be undertaken through the use of Markov Chains, in which the probability of moving from any square to any other square in a single move is calculated and stored in a transition matrix. It is a well known result that the single step transition matrix raised to the power of n gives the n-step transition matrix. Whilst this is a mathematical way into the problem, this discussion terminates here.

Instead, I opted for generating an estimate through simulation. Of course, I could simply play hundreds of games of Monopoly, keeping track of thousands of dice rolls and a tally count of the number of times I each square is landed on. I could even enlist a couple of friends to help with the data collection. There are a couple of disadvantages to this. Firstly, it would take a long time, and isn’t how I’d wish anyone to spend their Christmas break. Secondly, I might not keep my friends for long!

Getting Started

With my standard British version of the Monopoly board to hand, I began with a bit of data collection of my own. First tabulating the list of properties, and their position on the board. Each property is assigned a number, starting with Go at 0, and moving clockwise around the board up until Mayfair at square 39. These numbers are essential in the code. I also create tables detailing the 32 Chance and Community Chest cards, more on that later.

As a starter for 10, I wrote the following piece of code. What do you think?

S is an array of length 40, initially set to be uniformly zero. I use S to record the number of times each square is landed on. X is the current position on the board, initially starting at Go at 0. D1 and D2 represent the score of each of the 2 dice, through random number generation between 1 and 6 inclusive. R is the Roll score; the sum of the spots on the 2 dice. The players revised position is given by adding their Roll score to their current position, using modular arithmetic to account for cyclicity of the board. 1 is added to the appropriate index in the array of spaces, S.

After 1,000,000 rolls, what does this output? Which squares are most popular?

What happened here? The graph suggests that all squares are equally likely, with a 2.5% chance of landing on any of the 40 squares. But that’s exactly what we would expect: the simulation is a player moving around the board ignoring the risk of going to Jail, and ignoring any Chance or Community Chest Cards. Happy that I’d got the basics working, I was ready to factor in these complications.

Take a Chance?

The Move_X column in the above tables indicate where the player moves as a result of picking each card. Most cards leave the player where they are, fines or tax breaks are the majority. Each remaining card directs a player to selected squares on the board: Go, Jail, Old Kent Road, Trafalgar Square, Pall Mall, Mayfair, Marylebone Station, or moving back 3 spaces.

First shuffling the cards:

Then moving the player around the board where necessary:

One Simplification I’ve made here regards the ‘Pay a £10 Fine or Take a Chance’ Community Chest Card. I’ve assumed that players always pay the fine and never take a Chance card. To extend this, I could set up a probability distribution of players picking the Chance card, but even then, this choice depends just as much on game context as player temperament.

Jail

Along with just visiting Jail, players can be sent to Jail for a few different reasons:

  1. Landing on the ‘Go to Jail’ Square (square 30)
  2. Picking a Chance or Community Chest card which sends the player to Jail (already covered above)
  3. Rolling 3 consecutive doubles  

Here is my code:

Conclusion

With these considerations added into the simulation, I ran a million rolls of the dice again. Here are the results.

According to my simulation, Jail is the most frequently landed on space, over 5% of rolls included a trip to the Jail square. From a property perspective, the oranges lead the way, followed closely by the yellows and reds. The expensive dark blues are the least visited squares, with the browns and light blues not faring much better. Grouping the squares by type gives the following:

Coming back to the game I lost a few days ago, and using the evidence from this post, one would expect Mum to win the game (hotels on the Oranges), my sister to finish second (hotels on the Browns and Pinks) and Dad to finish in third (hotels on the Blues).

What went wrong for me and my Greens? They are more frequently landed on than most other properties. What this hides is the development cost: houses are £200 a pop. At the start of the game, I didn’t have the funds to build and fell behind with no houses to my name. Overlaying value of property together with the players cash in hand would be an interesting extension to this work – I’ll save that for another year.

Until next time,

Scott

Categories: Learning