Monopoly Fight! is an attempt to answer the age-old question, "which player in a game of Monopoly has the better set of properties?"
Its basic usage is simple: tell it who's playing, what properties they own, and what development, if any, they've performed, and click the button. You'll find out how much money each player can expect to earn or spend per roll of the dice, broken out by who's rolling the dice at any given moment. In the long run, anyone losing money each roll is doomed, at least in theory.
That should be all you really need to know to use it. But if you're wondering just how it works, then this page is for you.
Monopoly Fight! calculates how much money each player is expected on average to gain or lose per roll of the dice. This overall expected value is simply the sum of the expected values of landing on each square, which is computed by:
expectation = payout x probability
The idea is that each square provides some payout, positive or negative, when a player lands on it. Multiplying this payout by the probability of landing on it after rolling the dice provides the long-term average expectation from that square.
For example, suppose a player would have to pay $200 rent for landing on New York Avenue, and has a probability of 2.81157% of landing on it after rolling the dice. The expected value from New York Avenue would then be -$5.62314. In other words, in the long run, the player is expected to lose $5.62314 per turn because of rent on New York Avenue.
Some squares do not have a constant payout from landing on them. For example, the payout from landing on Chance or Community Chest depends on which card is drawn. However, a similar methodology to the above can be used to compute the expected value of these squares as well, in terms of the expected values from each card in the deck.
Go and Jail are special cases. Players earn $200 not from landing on Go, but for passing it (which includes landing on it), and in some cases can get $400 from Go in a single roll of the dice. Conversely, a player only pays $50 when leaving Jail without rolling doubles; landing on it has no direct effect as far as payouts are concerned.
Of course, figuring out the payout for any square is easy. Determining the probability of landing on it, however, is a bit more involved, and is the subject of the rest of the next sections.
Before computing the probability of landing on a square, we have to define what "landing on a square" actually means, since sometimes a player may appear to land on multiple squares before the roll ends. For example, any player reaching Go To Jail does exactly that, and many Chance and Community Chest cards also direct the player to move to a particular square.
For our purposes, it is most convenient to define "landing on a square" as being the square a player stops at after rolling the dice; a player lands on exactly one square per roll. This definition is convenient because payouts only come from this square, not any squares temporarily visited along the way. It does lead to the possibly surprising fact that it is impossible by definition to land on Go To Jail, but any other definition of "landing" would needlessly complicate analysis.
The long-term and short-term probabilities of landing on a square are very different. In the short term, the probabilities depend primarily on what square the player is current on. After all, you're much more likely to land on New York Avenue if you're currently on Just Visiting and not Illinois Avenue. In the long term, all these short-term probabilities get "averaged out" according to how likely it is to be starting at each of those squares in the first place, which is just another way of asking how likely it is to land on those squares in the long term.
While the above might sound circular, there is nevertheless a way to model this using Markov chains. A Markov chain is a process where the next state (i.e., what square a player will land on) depends only on the current state (i.e., what square a player is currently on); a probability distribution determines which next state is chosen. During the course of a game, a player goes from one Markov state to another, over and over again.
Our first instinct might be to say that a state in this model is simply which square the player is on. However, this is not enough information, since rolling three consecutive doubles lands the player in Jail. Each state in our Markov model needs to include how many consecutive doubles have been rolled (or, in the case of Jail, how many consecutive non-doubles have been rolled before the player is forced to pay bail). If a player has rolled two consecutive doubles, the probability of landing on Jail increases significantly.
Given the current state (square and number of consecutive doubles), it is straightforward to compute the probability distribution of the next state (new square and new number of consecutive doubles); that probability distribution is largely determined by what the outcome of rolling the dice is, and to a lesser extend to what Chance or Community Chance card might be drawn.
However, while this model is good enough for computing the probability of landing on each square, it isn't enough for calculating the expected value of landing on those squares, because of two special cases. For each case, it is necessary to add additional information to the states in the model:
As a result, the states in the Markov model Monopoly Fight! uses consist of four pieces of information:
Further complicating things is the fact that the player is not completely at the mercy of the dice when moving. If the player is in Jail, he or she can choose to pay $50 bail, or try to roll doubles to exit Jail without paying bail. (Another option is to use a Get Out Of Jail Free card, but see the section limitations for more about that.)
The probabilities for leaving Jail depend on the strategy chosen by the player. Monopoly Fight! allows for the two most likely strategies to be used in practice:
After picking a strategy, we can finally compute a Markov matrix, where each row represents the current state, each column represents the next state, and each cell is the probability of transitioning from the current state to the next state. The Markov model has 183 possible states in it, making the following matrices big enough to put on their own page instead of including here:
Given a Markov matrix M, and a probability distribution p representing the probability of being in each state currently, we can compute probability distribution p' of the next state using the following formula:
p' = p x M
The long-term, or "steady state", probability distribution s of being in each state is found when s = p = p', or:
s = s x M
Which can be numerically approximated by iteration, choosing an arbitrary distribution p_{0} and running the calculation until:
| p_{n} - p_{n-1} | < ε
Where ε is some arbitrarily small number. Alternatively, we could observe that s is the left-eigenvector of M of eigenvalue 1 and length 1. But numerically computing the fixed-point is easier and faster.
You could crunch all those numbers by hand, or just download the monopoly-fight command-line tool to do all the work for you.
Here are the probabilities of landing on any particular square of the board:
State | Short Jail | Long Jail |
---|---|---|
Go | 3.09612 | 2.91825 |
Mediterranean Avenue | 2.13138 | 2.01002 |
Community Chest | 1.88488 | 1.7775 |
Baltic Avenue | 2.16241 | 2.03976 |
Income Tax | 2.32853 | 2.19659 |
Reading Railroad | 2.96311 | 2.80496 |
Oriental Avenue | 2.26215 | 2.13457 |
Chance | 0.865051 | 0.816362 |
Vermont Avenue | 2.32097 | 2.19034 |
Connecticut Avenue | 2.30034 | 2.17118 |
Just Visiting | 2.26955 | 2.14223 |
St. Charles Place | 2.70167 | 2.55955 |
Electric Company | 2.60405 | 2.61549 |
States Avenue | 2.3721 | 2.17601 |
Virginia Avenue | 2.4649 | 2.42528 |
Pennsylvania Railroad | 2.91998 | 2.63658 |
St. James Place | 2.79242 | 2.67893 |
Community Chest | 2.59447 | 2.29514 |
Tennessee Avenue | 2.93559 | 2.81969 |
New York Avenue | 3.08517 | 2.81157 |
Free Parking | 2.8836 | 2.82481 |
Kentucky Avenue | 2.83584 | 2.61422 |
Chance | 1.04803 | 1.04496 |
Indiana Avenue | 2.73568 | 2.56729 |
Illinois Avenue | 3.18576 | 2.9955 |
B&O Railroad | 3.0659 | 2.89285 |
Atlantic Avenue | 2.7072 | 2.54009 |
Ventnor Avenue | 2.67885 | 2.5192 |
Water Works | 2.80741 | 2.65475 |
Marvin Gardens | 2.58604 | 2.43872 |
Pacific Avenue | 2.67736 | 2.52491 |
North Carolina Avenue | 2.62516 | 2.47692 |
Community Chest | 2.36605 | 2.22918 |
Pennsylvania Avenue | 2.50062 | 2.35763 |
Short Line Railroad | 2.43263 | 2.29247 |
Chance | 0.866871 | 0.817443 |
Park Place | 2.18639 | 2.06161 |
Luxury Tax | 2.17985 | 2.05583 |
Boardwalk | 2.62596 | 2.48611 |
Jail | 3.94997 | 9.3855 |
And here are the probabilities of getting 0, 1, or 2 payouts from passing Go on any particular roll of the dice:
State | Short Jail | Long Jail |
---|---|---|
0 | 82.9183 | 83.8659 |
1 | 16.8399 | 15.906 |
2 | 0.241748 | 0.228155 |
If you're wondering about those "special" payouts for landing on railroads and utilities, here's the first table again, with the special payouts (Y) broken out from the regular ones:
State | Short Jail | Long Jail |
---|---|---|
Go/N | 3.09612 | 2.91825 |
Mediterranean Avenue/N | 2.13138 | 2.01002 |
Community Chest/N | 1.88488 | 1.7775 |
Baltic Avenue/N | 2.16241 | 2.03976 |
Income Tax/N | 2.32853 | 2.19659 |
Reading Railroad/N | 2.67415 | 2.53247 |
Reading Railroad/Y | 0.288957 | 0.272481 |
Oriental Avenue/N | 2.26215 | 2.13457 |
Chance/N | 0.865051 | 0.816362 |
Vermont Avenue/N | 2.32097 | 2.19034 |
Connecticut Avenue/N | 2.30034 | 2.17118 |
Just Visiting/N | 2.26955 | 2.14223 |
St. Charles Place/N | 2.70167 | 2.55955 |
Electric Company/N | 2.31539 | 2.34318 |
Electric Company/Y | 0.288654 | 0.272301 |
States Avenue/N | 2.3721 | 2.17601 |
Virginia Avenue/N | 2.4649 | 2.42528 |
Pennsylvania Railroad/N | 2.63163 | 2.36446 |
Pennsylvania Railroad/Y | 0.28835 | 0.272121 |
St. James Place/N | 2.79242 | 2.67893 |
Community Chest/N | 2.59447 | 2.29514 |
Tennessee Avenue/N | 2.93559 | 2.81969 |
New York Avenue/N | 3.08517 | 2.81157 |
Free Parking/N | 2.8836 | 2.82481 |
Kentucky Avenue/N | 2.83584 | 2.61422 |
Chance/N | 1.04803 | 1.04496 |
Indiana Avenue/N | 2.73568 | 2.56729 |
Illinois Avenue/N | 3.18576 | 2.9955 |
B&O Railroad/N | 2.71655 | 2.54453 |
B&O Railroad/Y | 0.349344 | 0.348319 |
Atlantic Avenue/N | 2.7072 | 2.54009 |
Ventnor Avenue/N | 2.67885 | 2.5192 |
Water Works/N | 2.63274 | 2.48059 |
Water Works/Y | 0.174672 | 0.174159 |
Marvin Gardens/N | 2.58604 | 2.43872 |
Pacific Avenue/N | 2.67736 | 2.52491 |
North Carolina Avenue/N | 2.62516 | 2.47692 |
Community Chest/N | 2.36605 | 2.22918 |
Pennsylvania Avenue/N | 2.50062 | 2.35763 |
Short Line Railroad/N | 2.43263 | 2.29247 |
Chance/N | 0.866871 | 0.817443 |
Park Place/N | 2.18639 | 2.06161 |
Luxury Tax/N | 2.17985 | 2.05583 |
Boardwalk/N | 2.62596 | 2.48611 |
Jail/N | 3.94997 | 9.3855 |
For the truly curious, the probabilities of being in any particular state in the long term are given in the following table:
State | Short Jail | Long Jail |
---|---|---|
Go/0/N/1 | 2.48321 | 2.3457 |
Go/0/N/2 | 0.159414 | 0.150402 |
Go/1/N/1 | 0.371658 | 0.345295 |
Go/1/N/2 | 0.0224558 | 0.0211875 |
Go/2/N/1 | 0.0557034 | 0.0521865 |
Go/2/N/2 | 0.00368582 | 0.00348487 |
Mediterranean Avenue/0/N/1 | 1.72928 | 1.6304 |
Mediterranean Avenue/1/N/1 | 0.338444 | 0.319909 |
Mediterranean Avenue/2/N/1 | 0.0636561 | 0.0597108 |
Community Chest/0/N/1 | 1.61613 | 1.5241 |
Community Chest/1/N/0 | 0.0642305 | 0.0606692 |
Community Chest/1/N/1 | 0.171129 | 0.161202 |
Community Chest/2/N/0 | 0.00957919 | 0.00890758 |
Community Chest/2/N/1 | 0.0238074 | 0.0226243 |
Baltic Avenue/0/N/0 | 0.172007 | 0.162126 |
Baltic Avenue/0/N/1 | 1.60094 | 1.50998 |
Baltic Avenue/1/N/0 | 0.0480357 | 0.0452891 |
Baltic Avenue/1/N/1 | 0.279464 | 0.264041 |
Baltic Avenue/2/N/0 | 0.00940127 | 0.00888638 |
Baltic Avenue/2/N/1 | 0.0525596 | 0.0494377 |
Income Tax/0/N/0 | 0.366153 | 0.345204 |
Income Tax/0/N/1 | 1.57934 | 1.49017 |
Income Tax/1/N/0 | 0.128649 | 0.121459 |
Income Tax/1/N/1 | 0.205809 | 0.193904 |
Income Tax/2/N/0 | 0.0193823 | 0.0181261 |
Income Tax/2/N/1 | 0.0291937 | 0.0277252 |
Reading Railroad/0/N/0 | 0.567141 | 0.53467 |
Reading Railroad/0/N/1 | 1.60589 | 1.53037 |
Reading Railroad/0/N/2 | 0.0439755 | 0.0415381 |
Reading Railroad/0/Y/1 | 0.242012 | 0.228145 |
Reading Railroad/1/N/0 | 0.0972843 | 0.0917366 |
Reading Railroad/1/N/1 | 0.278193 | 0.257844 |
Reading Railroad/1/N/2 | 0.0102323 | 0.00967312 |
Reading Railroad/1/Y/1 | 0.0409546 | 0.0384667 |
Reading Railroad/2/N/0 | 0.0184985 | 0.0174789 |
Reading Railroad/2/N/1 | 0.0509488 | 0.0472971 |
Reading Railroad/2/N/2 | 0.00198529 | 0.00186885 |
Reading Railroad/2/Y/1 | 0.00599072 | 0.00586953 |
Oriental Avenue/0/N/0 | 0.805686 | 0.759658 |
Oriental Avenue/0/N/1 | 1.10611 | 1.04462 |
Oriental Avenue/1/N/0 | 0.172341 | 0.162655 |
Oriental Avenue/1/N/1 | 0.132166 | 0.124547 |
Oriental Avenue/2/N/0 | 0.0267759 | 0.0251033 |
Oriental Avenue/2/N/1 | 0.0190699 | 0.0179877 |
Chance/0/N/0 | 0.454414 | 0.428463 |
Chance/0/N/1 | 0.263853 | 0.249228 |
Chance/1/N/0 | 0.0620965 | 0.0587213 |
Chance/1/N/1 | 0.0613938 | 0.0580387 |
Chance/2/N/0 | 0.0113814 | 0.0106975 |
Chance/2/N/1 | 0.0119118 | 0.0112131 |
Vermont Avenue/0/N/0 | 1.44293 | 1.36126 |
Vermont Avenue/0/N/1 | 0.534345 | 0.504982 |
Vermont Avenue/1/N/0 | 0.225446 | 0.212774 |
Vermont Avenue/1/N/1 | 0.0720293 | 0.0679139 |
Vermont Avenue/2/N/0 | 0.0352345 | 0.0330812 |
Vermont Avenue/2/N/1 | 0.0109877 | 0.0103286 |
Connecticut Avenue/0/N/0 | 1.68427 | 1.58897 |
Connecticut Avenue/0/N/1 | 0.266991 | 0.252331 |
Connecticut Avenue/1/N/0 | 0.185542 | 0.175415 |
Connecticut Avenue/1/N/1 | 0.108284 | 0.102532 |
Connecticut Avenue/2/N/0 | 0.0337806 | 0.0317701 |
Connecticut Avenue/2/N/1 | 0.0214767 | 0.0201648 |
Just Visiting/0/N/0 | 1.74036 | 1.64259 |
Just Visiting/0/N/1 | 0.145887 | 0.138118 |
Just Visiting/1/N/0 | 0.28037 | 0.264615 |
Just Visiting/1/N/1 | 0.0518616 | 0.0489019 |
Just Visiting/2/N/0 | 0.0434977 | 0.0408781 |
Just Visiting/2/N/1 | 0.00757484 | 0.00712302 |
St. Charles Place/0/N/0 | 1.96153 | 1.85132 |
St. Charles Place/0/N/1 | 0.305725 | 0.303387 |
St. Charles Place/1/N/0 | 0.250094 | 0.236349 |
St. Charles Place/1/N/1 | 0.119599 | 0.108341 |
St. Charles Place/2/N/0 | 0.0438393 | 0.0412738 |
St. Charles Place/2/N/1 | 0.0208822 | 0.0188813 |
Electric Company/0/N/0 | 1.82018 | 1.97952 |
Electric Company/0/Y/0 | 0.0757357 | 0.0714105 |
Electric Company/0/Y/1 | 0.164981 | 0.15561 |
Electric Company/1/N/0 | 0.442487 | 0.314079 |
Electric Company/1/Y/0 | 0.0103494 | 0.00978689 |
Electric Company/1/Y/1 | 0.0307096 | 0.0289065 |
Electric Company/2/N/0 | 0.0527263 | 0.0495869 |
Electric Company/2/Y/0 | 0.00189689 | 0.00178292 |
Electric Company/2/Y/1 | 0.00498065 | 0.00480362 |
States Avenue/0/N/0 | 2.01716 | 1.84052 |
States Avenue/1/N/0 | 0.302723 | 0.286415 |
States Avenue/2/N/0 | 0.0522116 | 0.0490656 |
Virginia Avenue/0/N/0 | 1.98336 | 2.07003 |
Virginia Avenue/1/N/0 | 0.426328 | 0.306036 |
Virginia Avenue/2/N/0 | 0.0552105 | 0.0492061 |
Pennsylvania Railroad/0/N/0 | 2.26969 | 2.02407 |
Pennsylvania Railroad/0/Y/0 | 0.151471 | 0.142821 |
Pennsylvania Railroad/0/Y/1 | 0.087951 | 0.0830761 |
Pennsylvania Railroad/1/N/0 | 0.31072 | 0.292252 |
Pennsylvania Railroad/1/Y/0 | 0.0206988 | 0.0195738 |
Pennsylvania Railroad/1/Y/1 | 0.0204646 | 0.0193462 |
Pennsylvania Railroad/2/N/0 | 0.0512193 | 0.0481352 |
Pennsylvania Railroad/2/Y/0 | 0.00379379 | 0.00356584 |
Pennsylvania Railroad/2/Y/1 | 0.00397058 | 0.0037377 |
St. James Place/0/N/0 | 2.29538 | 2.30618 |
St. James Place/1/N/0 | 0.436528 | 0.321201 |
St. James Place/2/N/0 | 0.0605152 | 0.051544 |
Community Chest/0/N/0 | 2.25929 | 1.98272 |
Community Chest/1/N/0 | 0.289772 | 0.269766 |
Community Chest/2/N/0 | 0.0454095 | 0.0426492 |
Tennessee Avenue/0/N/0 | 2.42599 | 2.43371 |
Tennessee Avenue/1/N/0 | 0.446247 | 0.334278 |
Tennessee Avenue/2/N/0 | 0.0633504 | 0.0517061 |
New York Avenue/0/N/0 | 2.67753 | 2.44147 |
New York Avenue/1/N/0 | 0.35506 | 0.321472 |
New York Avenue/2/N/0 | 0.0525826 | 0.0486243 |
Free Parking/0/N/0 | 2.35578 | 2.42003 |
Free Parking/1/N/0 | 0.46053 | 0.351762 |
Free Parking/2/N/0 | 0.0672876 | 0.0530137 |
Kentucky Avenue/0/N/0 | 2.40127 | 2.21583 |
Kentucky Avenue/1/N/0 | 0.380044 | 0.34752 |
Kentucky Avenue/2/N/0 | 0.0545265 | 0.050874 |
Chance/0/N/0 | 0.84446 | 0.886657 |
Chance/1/N/0 | 0.176642 | 0.137679 |
Chance/2/N/0 | 0.0269313 | 0.0206205 |
Indiana Avenue/0/N/0 | 2.28622 | 2.15656 |
Indiana Avenue/1/N/0 | 0.392544 | 0.357923 |
Indiana Avenue/2/N/0 | 0.0569213 | 0.0528065 |
Illinois Avenue/0/N/0 | 2.53904 | 2.37581 |
Illinois Avenue/0/N/1 | 0.164981 | 0.15561 |
Illinois Avenue/1/N/0 | 0.372174 | 0.375043 |
Illinois Avenue/1/N/1 | 0.0307096 | 0.0289065 |
Illinois Avenue/2/N/0 | 0.0738803 | 0.0553232 |
Illinois Avenue/2/N/1 | 0.00498065 | 0.00480362 |
B&O Railroad/0/N/0 | 2.26593 | 2.13339 |
B&O Railroad/0/Y/0 | 0.281487 | 0.295552 |
B&O Railroad/1/N/0 | 0.39307 | 0.357974 |
B&O Railroad/1/Y/0 | 0.0588805 | 0.0458931 |
B&O Railroad/2/N/0 | 0.0575561 | 0.0531741 |
B&O Railroad/2/Y/0 | 0.00897711 | 0.0068735 |
Atlantic Avenue/0/N/0 | 2.29169 | 2.13723 |
Atlantic Avenue/1/N/0 | 0.350249 | 0.351334 |
Atlantic Avenue/2/N/0 | 0.0652542 | 0.0515251 |
Ventnor Avenue/0/N/0 | 2.20935 | 2.08845 |
Ventnor Avenue/1/N/0 | 0.4078 | 0.374319 |
Ventnor Avenue/2/N/0 | 0.0617013 | 0.0564365 |
Water Works/0/N/0 | 2.21078 | 2.07461 |
Water Works/0/Y/0 | 0.140743 | 0.147776 |
Water Works/1/N/0 | 0.358814 | 0.3532 |
Water Works/1/Y/0 | 0.0294403 | 0.0229466 |
Water Works/2/N/0 | 0.0631409 | 0.0527833 |
Water Works/2/Y/0 | 0.00448855 | 0.00343675 |
Marvin Gardens/0/N/0 | 2.12331 | 2.01126 |
Marvin Gardens/1/N/0 | 0.399473 | 0.369832 |
Marvin Gardens/2/N/0 | 0.0632546 | 0.057635 |
Pacific Avenue/0/N/0 | 2.21536 | 2.09387 |
Pacific Avenue/1/N/0 | 0.395696 | 0.370624 |
Pacific Avenue/2/N/0 | 0.0663019 | 0.0604146 |
North Carolina Avenue/0/N/0 | 2.28277 | 2.14862 |
North Carolina Avenue/1/N/0 | 0.292985 | 0.283269 |
North Carolina Avenue/2/N/0 | 0.0494043 | 0.0450241 |
Community Chest/0/N/0 | 1.95151 | 1.83988 |
Community Chest/1/N/0 | 0.352919 | 0.332676 |
Community Chest/2/N/0 | 0.0616228 | 0.0566253 |
Pennsylvania Avenue/0/N/0 | 2.16491 | 2.03878 |
Pennsylvania Avenue/1/N/0 | 0.290957 | 0.27573 |
Pennsylvania Avenue/2/N/0 | 0.0447503 | 0.0431215 |
Short Line Railroad/0/N/0 | 1.99559 | 1.88058 |
Short Line Railroad/1/N/0 | 0.370366 | 0.350525 |
Short Line Railroad/2/N/0 | 0.0666773 | 0.0613676 |
Chance/0/N/0 | 0.726035 | 0.684434 |
Chance/1/N/0 | 0.122864 | 0.1154 |
Chance/2/N/0 | 0.0179722 | 0.0176086 |
Park Place/0/N/0 | 1.75804 | 1.65759 |
Park Place/1/N/0 | 0.362293 | 0.342859 |
Park Place/2/N/0 | 0.0660613 | 0.0611621 |
Luxury Tax/0/N/0 | 1.86701 | 1.76046 |
Luxury Tax/1/N/0 | 0.272693 | 0.256429 |
Luxury Tax/2/N/0 | 0.0401475 | 0.038941 |
Boardwalk/0/N/0 | 2.09618 | 1.99201 |
Boardwalk/0/N/1 | 0.0439755 | 0.0415381 |
Boardwalk/1/N/0 | 0.400633 | 0.3734 |
Boardwalk/1/N/1 | 0.0102323 | 0.00967312 |
Boardwalk/2/N/0 | 0.0729517 | 0.067622 |
Boardwalk/2/N/1 | 0.00198529 | 0.00186885 |
Jail/0/N/0 | 3.76441 | 3.53788 |
Jail/0/N/1 | 0.185555 | 0.175075 |
Jail/1/N/0 | 0 | 3.09412 |
Jail/2/N/0 | 0 | 2.57843 |
As nifty as Monopoly Fight! may be, it is not perfect. Here are some of its known limitations.
The Monopoly Fight! output does not consider the cost of buying and developing a property, but rather only considers the rent received for it. In a real game, it is important to consider investment costs in addition to potential payouts when deciding what to develop.
Monopoly Fight! only considers the long-term prospects of each player. As a result, it is implicitly assumed that each player has enough cash on hand to "ride out" any short-term bad luck without having to sell improvements or mortgage properties to raise cash. While a player may be doing better than the other players in the long run, that one time he lands on Boardwalk with a hotel on it can render that long-term advantage irrelevant.
Arguably, Monopoly Fight! should provide some more comprehensive statistics, rather than just the average payout per roll. This may be added in a later version.
Monopoly Fight! does not allow you to factor in any house rules you might be using, such as "$400 for landing exactly on Go" or "collect tax money for landing on Free Parking". Considering that house rules tend to throw off gameplay balance, this is probably a feature.
The payouts from Chance and Community Chest squares treat the card drawn as a purely random choice of all cards that don't redirect the player to another square. In a real game, except for shuffing the two decks at the beginning of the game; there isn't actually a random element to drawing a card, since the relative order of the cards stays fixed during the game. It's unlikely that the simplified model that Monopoly Fight! uses causes any meaningful errors, but it hasn't been rigorously verified.
Perhaps more significantly, Monopoly Fight! treats Get Out Of Jail Free cards as cards that do nothing. In a real game, these cards are removed from the deck when drawn, increasing the probability that the other cards are drawn when Chance or Community Chest is landed upon. Also, a player with a Get Out Of Jail Free card can avoid paying $50 bail, which slightly lowers the expected loss of money from trying to leave Jail.
Properly modeling the Get Out Of Jail Free cards' effects on the probabilities encountered during the game is possible in principle, but results in a drastic increase in the number of states in the Markov model, since each state would then need to encode the precise contents of both decks of cards. Since there are approximately 2.2 x 10^{13} possible states for the the deck of Community Chest cards (16! + 15!) and approximately 1.1 x 10^{13} possible states for the deck of Chance cards ((16! + 15!) / 2, since there are two identical "advance to nearest raiload" cards), this would increase the number of states by a factor of roughly 2.5 x 10^{26}, which is much larger than the few hundred possible states that Monopoly Fight! uses in its model. Furthermore, since the Get Out Of Jail Free cards enter and leave the deck at various points during the game, the states would also need to encode which players if any have the cards, further increasing the number of states and preventing the model from treating each player's movement independently of other players'.
It's doubtful whether this dramatic increase in complexity would result in a significantly different outcome, but you're welcome to try it yourself to see for sure.
Monopoly Fight! is largely inspired by Truman Collins's examination of probabilities and payouts in Monopoly. His approach relies partly on Monte Carlo simulations to compute some of his probabilities, instead of exclusively using a Markov model as done here. While he also creates Markov matrices, the Markov states in his model only reflect the square landed on, as opposed to the more detailed approach taken here. However, his analysis does consider investment costs of the various properties, making his approach better for making investment decisions. His approach answers the question "what should you do?", whereas Monopoly Fight!'s approach answers the question "who's currently in the better position?"
Paul Kuliniewicz >> Monopoly Fight! >> Methodology