When we were kids, my siblings and I each had our own favorite properties when playing monopoly. My brother always went for the hotel on Boardwalk. My favorite was St. Charles Place. It didn’t cost as much to develop, and I was convinced that people tended to land on St. Charles place a disproportionate amount of the time. I’d be delighted when I managed to purchase St. Charles, and every time someone landed on that square it would reinforce my conviction that St. Charles was the most profitable property in Monopoly.

Armed with a college-level understanding of statistics, I thought I would test my childhood hypothesis that the probability of landing on St. Charles is higher than for other properties. The movement aspect of Monopoly can be modeled as a *Markov process*, which just means that the probability of landing on a square depends only on what square you were on last term. Let $$mathbf{x}_t$$ be a row vector of length 40 giving the probability that a player will land on each square after $$t$$ rolls. All players start on GO!, so

$$!mathbf{x}_t = left[ 1, 0, 0, dots, 0right].$$

### Dice Movement

Now define transition probabilities for moving from one square to another. Ignoring things like chance cards, Monopoly uses the sum of two dice to move, so the probability of moving from one square to another is a triangle distribution with a peak 7 squares forward. For instance, the probability of moving to each square if you were previously on GO! is

$$! left[ 0, 0, frac{1}{36}, frac{2}{36}, frac{3}{36}, frac{4}{36}, frac{5}{36}, frac{6}{36}, frac{5}{36}, frac{4}{36}, frac{3}{36}, frac{2}{36}, frac{1}{36}, 0, 0, dots right].$$

Here’s some matlab code to generate the full transition matrix. `D[i][j]` gives the probability of moving from square `i` to `j` after rolling the dice.

[matlab]

% Initialize transition matrix for dice movement

D = zeros(40);

D(1,3:13) = [1:6, 5:-1:1]/36;

for i = 2:40,

D(i,:) = circshift(D(i-1,:),[0 1]);

end[/matlab]

We can calculate the probability of being on a particular square after $$t$$ turns by repeatedly multiplying current state vector by the transition matrix.

$$! mathbf{x}_t = mathbf{x}_{t-1}D = mathbf{x}_0 D^t $$

Applying this for a few steps, it appears that all squares rapidly become equally probable. But would they eventually all have probability $$1/40=.025$$? This can be checked by examining the eigenvectors of the transition matrix. The eigenvector corresponding to $$lambda=1$$ gives the probabilities of landing on each square after an infinite number of rolls.

[matlab]%% Find steady state

[V, l] = eigs(A’,1,’lm’);

xss = V’/sum(V); %x at steady state, eg t->infinity[/matlab]

Running this shows that all the squares do indeed have probability 1/40 at $$t=infty$$. So if all movement were determined by dice roll, all spaces would be equally likely to be landed upon.

### Jail and Chance cards

Now lets see what happens when all the detail of Monopoly are included in the model. There are a couple other ways players get moved around:

- The dreaded
**Go to Jail**space **Community Chest.**Most of the 16 community chest cards deal with money, but one sends you to jail.**Chance.**10 of the 16 chance cards move the player around the board.

This type of movement can be modeled as a second transition matrix, which get applied after each dice roll. Most squares leave the player where they ended up. Landing on ‘Go to Jail’ has a 100% probability of sending you to the jail spot. Community chest has a 1/16 chance of sending you to jail, and a 15/16 chance of remaining on the same spot. The Chance squares are complicated, but we can work out the transition probabilities from Chance squares too.

[matlab]% Probabilities for non-dice movement.

ND = eye(40);

% Go directly to jail

ND(31,:) = 0; % ‘Go to Jail’ is square 31

ND(31,11) = 1; $ ‘Jail’ is square 11

% Community Chest cards: 16 total

% Cards are assumed to be drawn uniformly at random with replacement.

% 15 Unchanged

chestSquares = [3, 34];

ND(chestSquares,:) = ND(chestSquares,:)*15/16;

% 1 Go directly to Jail

ND(chestSquares,11) = ND(chestSquares,11)+1/16;

% Chance card calculations-download code for details

% A turn consists of a dice roll and then some non-dice movement

A = D*ND;[/matlab]

By including non-dice movement, some squares become much more likely than others. For instance, it is impossible to end a turn on ‘Go to Jail’. Squares such as Railroads are more likely, since players who land on Chance could be sent there.

Rank | Square | Probability |
---|---|---|

1 | Jail | 0.0570 |

2 | Illinois | 0.0317 |

3 | B&O Railroad | 0.0304 |

4 | New York | 0.0301 |

5 | Reading Railroad | 0.0301 |

6 | Water Works | 0.0294 |

7 | Communtity Chest | 0.0289 |

8 | Tennessee | 0.0286 |

9 | Free Parking | 0.0282 |

10 | Kentucky | 0.0278 |

11 | St. Charles | 0.0275 |

### Conclusion

It turns out that St. Charles Place was not a particularly good space, since the probability of landing there is only 0.0275, slightly above average. I would have been much smarter to try to buy Illinois, which gets landed on significantly more often than average.

So what’s the optimum strategy for playing monopoly? Looking at steady state probabilities of landing on each square gives a hint to this, but doesn’t capture the full complexity of the game. It doesn’t factor in the costs and revenues for each property, nor can it provide advice on trading, selling, or improving properties. Finally, looking at steady state probabilities can be deceiving since the game starts far from steady state. For instance, Vermont Ave has a lower than average chance of being landed on. However, it is almost 50% more likely to be landed on 5 turns after starting from GO! than it would have been if the players began already spread out. Sometimes extra revenue early in the game can translate to a big advantage later on.

Now, who wants to play monopoly?

### Code

Calculating the full transition matrix has a lot of cases, so I didn’t include the code here. If you’re curious, check out the full code from bitbucket. It was tested on both Matlab and the free alternative, Octave. The main script is called ‘MCMonopoly.m’.

I’ve developed a situational, online monopoly simulator that I would love to share with you and your readers.

Although the GUI is not perfect yet and still in beta mode, my simulator will let you setup ANY valid game state (cash, properties, buildings, etc) and then generate an estimated win percentage for each player.

The numbers are generated by simulating 10,000 sample games (played from the setup position onward) and tallying up the number of victories per player. If you have any questions or suggestions, feel free to comment on my blog post. From the below post, you can find the link to my (free) simulator.

http://monopolynerd.wordpress.com/2012/10/25/monopoly-simulator-online/

How could St Ch be a good landing spot? It is 1 space after jail. Go To Jail sends ppl to jail but they cannot roll a 1 when they leave. Leaving jail is a big factor. So, 7 being most probable throw, spots 7 & 14 after jail get more landings, 6 & 8 & 13 & 15 would get a lot, 5 & 9 & 12 & 16 a few less, etc etc.

Likewise, Go To Jail would make Pk Place unpopular b/c PP is 7 spaces after Go TO Jail & you cannot throw dice from GTJ.

Georgeâ€“

A very logical rebuttal to the poor intuition of my 8 year old self. He was indeed a silly boy. Too bad he didn’t grow up, learn some basic statistics, and start favoring Illinois instead? Oh wait…

But while Jail does contribute to the probabilities, it’s not the only factor. St Charles is 6 squares after Reading, which increases its probability. If you look at the graph, St Charles is 8th out of the 30 purchasable squares, so it’s not nearly as silly as it seems.

Park Place & Board Walk, on the other hand, really do have a low probability of landing there. However, the high rent may counteract this in the endgame.

Not sure which monopoly version you play, but community chest has an advance to go card that will skew your probabilities Also, not sure if you take into account the move 3 spaces back card on chance which can then land you on community chest.

My edition did not have an ‘advance to go’ card in community chest – just the ‘go directly to jail’. I’m not sure if this is because I lost it or because I was using a modernized version rather than the traditional board.

I did take the ‘move 3 spaces back’ into account in the community chest calculation.

Have you done this with Millionaire Monopoly. Smaller board and can be played in about an hour. Fun. Thanks for your time.

It should be easy to adapt the code. You would just need to reduce the board size and change the transition probabilities based on whatever chance & community chest cards are present in the deck.

Very nicely done… Although I didn’t see anything to take into account rolling doubles. Did you account for rolling doubles?

Jonathan, that’s an excellent point and something I should account for in the transition probabilities. Getting to go again after rolling doubles wouldn’t change anything, but the rules regarding jail could have a big effect. From these rules:

1) You land in Jail when you throw doubles three times in succession

2) You get out of Jail by throwing doubles on any of your next

three turns; if you succeed in doing this you immediately move

forward the number of spaces shown by your doubles throw; even

though you had thrown doubles, you do not take another turn;

The first rule would slightly increase the chance of ending your turn on jail. Starting on the third turn, there should be a $$1/6^3=0.0046$$ chance of going to jail, with the existing probabilities proportionately diminished.

The second rule would change the movement probabilities from a triangle distribution to a uniform distribution over the evens in cases where doubles are rolled. This is actually a significant fraction of the time; the probability of rolling a double within three turns is $$1-frac{5}{6}^3=0.42$$. I’m guessing including this rule will change the odds of some spaces significantly, particularly the squares 2 and 12 after jail (Electric Company and Chance).

Great catch! I’ll have to write a new post which includes the doubling rules.

I downloaded the 2012 Monopoly game and have been enjoying the game. There are various “Difficulty” choices: very Easy, Easy, Medium, Hard. And, I choose one Human with the other 3 AI’s.

I began with “Easy,” mode but soon found it not challenging. Eventually, and always now, I choose the “Hard” mode. I like to learn the strategies and winning & loosing is part of what I like about the actual “hard copy” board game.

My question is:

Are the dice throws on the downloaded version merely random? Or are they programed for the tokens to land on certain pre-determined places on the board?

To me, the latter appears to be the case, but I really cannot say conclusively.

Any thoughts?

What you are describing is essentially the computer ‘cheating’ in order to make the game harder. While this is possible, this is the laziest and least satisfying way to make a game harder. In my opinion it is more likely that the dice throws are fair, and that you are falling for a confirmation bias and selectively remembering rolls which are particularly beneficial to your opponents. To really decide, you could keep a list of all dice throws by your opponents. If fair, they should approximately follow the triangle distribution.

wait this can’t be right because there is a chance card that directs you to broadway so it has to be pretty likely.

My monopoly set didn’t have a ‘Go to Broadway’ card. Either I lost it or it was removed from the edition I own. That would definitely change the probabilities.

I’m sure there must be something I’m overlooking, but on first inspection it would seem you’re missing a Community Chest square.

In line 11 you have:

chestSquares = [3, 34];

There is another Community Chest at square 18. Is this missing or accounted for elsewhere?

Also, just wanted to check something – in transition scenarios, are you counting both the square landed on after dice roll AND the square transitioned to? For example, when the player lands on “Go to Jail”, are you counting both “Go to Jail” and “Jail”, or only the ultimate endpoint (Jail in this example)?

Good catch! It should definitely be [3,18,34]. I hope I didn’t miss any other squares!

I’m only counting the ultimate endpoint. That’s why there’s zero chance of landing on ‘Go to Jail’.

Out of curiosity….

Monopoly games are not infinite. They end out of either fatigue, mutual agreement, or utter defeat at some point. Additionally, there is only so much money in the bank, etc. Considering there is an end point (let’s say, for example, 50 turns is about the extent of it) and that all players (2-6) start on the same square, does this skew the results? For instance, Illinois Ave. may eventually be the most likely square, but it is the most likely square in the first 5, 10, 25, or 50 moves? I highly doubt anyone will want to “go for the reds” if, indeed, the oranges or purples (or light blues) of the world are far more likely to be landed on while the game is in session (rather than 4,300 turns later). Is there a way to calculate probability in certain time increments (every 3 or 5 turns?) rather than an overall metric?

From the animated images you can see that the probability distributions have mostly stabilized by ~30 turns. That’s about 5 times around the board, which in my experience is enough for people to start building up monopolies but isn’t quite the end game.

The exact probabilities for turn

tcan be calculated in matlab from the transition matrix asA^t