Friday, January 30, 2009

The Great BM Simulator, v. 1.0

Herein, I explore a little fantasy bowling using something I fondly call BM Sim v. 1.0. It dawned on me the other day that I could simulate our bowling, essentially creating a pretend version of the Bernaski League. We have enough data that I know our tendencies, so I could simulate games by our team. To do so would allow a number of interesting things. For example, it would be much easier to calculate probabilities of certain things occurring, like a 200 game, or even the probability of someone breaking Geoff’s amazing low game record of 88. Not only that, it would allow us to answer some “what if” type questions, like what if we picked up 75% of our single pin spares? How would this affect our scores and team averages?
The simulation is very simple. It is based on two sets of probabilities (shown above). The score for the first ball of every frame is determined by the relative frequencies of our first ball scores. We have 960 frames to our credit, so these probabilities are very robust. If a strike is not received, a second ball is thrown. The likelihood of a spare is determined by our observed pickup percentages given a particular first ball throw. If a spare is not received, the simulation chooses a random number of pins from zero to the number remaining. The 10th frame is a little more complex, but it basically works the same way.

Using just this information, it is possible to simulate games. Now bear in mind that the current simulation recreates an average bowler from our team; we’ll call him Big BM. It would be possible to simulate individual bowlers, like Johnebob or G-Spot, but it would be nice to have a little more data to do so. Nonetheless, the predicted game scores for Big BM are remarkably accurate. I began by simulating 20,000 games and examining their distribution to examine three things: 1) Do the resulting game scores fall within similar ranges to ours? 2) Is the average game score similar to ours? 3) Is the distribution of scores similar to ours? The short answer is yes.

The histogram above shows the distribution of 20,000 simulated games by Big BM. The scores should look eerily familiar. The simulated games have an average of 146.0. Over 96 games, we have actually averaged 146.9. The minimum and maximum observed game scores in the simulation are 64 and 246 compared to 88 and 213. This difference can be attributed to a much larger sample in the simulation. Most striking is the similarity between the distribution of actual and simulated game scores (above right). What all of this means is that we can be boiled down to numbers, and that the computer can replicate our bowling perfectly.

Now on to the interesting part. What is the probability of Big BM rolling a 200 game in any given game? It is approximately 2.3%. Bear in mind that if we were to simulate Johnny, it would probably be higher and for the Canadian, it would definitely be lower, but for the team as a whole, it is 2.3%. What about a 220? It’s about .42%, or 1 in 235 games. A 250? Very low. In 20,000 games, no scores over 250 were observed. The chances of a perfect game, while possible in the simulation, are extremely low. It can be fairly easily calculated. Given our observed strike probability of 26.7%, the chance of a perfect game is 0.000013%, meaning that at our current skill level, we should have a perfect game in every 7,733,484 tries. If we don’t improve, it would take us about 645,000 more weeks in league to achieve this, sometime around the year AD 14401 assuming we bowl every week.

What about the likelihood of someone bowling 88 or lower? This did occur in the simulation a few times. It’s 0.19%. It should occur about once every 534 games, so Geoff’s record might be around for a while. My suspicion is that if we were to simulate Canadian Bacon or myself, the probability would be a bit higher. Needless to say, though, with a little bit of improvement, our days of bowling the occasional sub-100 game should be over. Notice in the distribution above that very few games have sub-100 scores, only 1.5%.

To beleaguer this a bit more, I will do two simple analyses. First, I ask how improving our pickup percentage would affect our likelihood of rolling 200 or higher. It turns out that 200 games are not particularly sensitive to pickup percentage. As a team, we have picked up 40.7% of our spares. If we were to increase this to 50%, it would only increase the likelihood of 200 games to about 3.7%. In fact, if we picked up 75% of our spares, a 200 game would still be fairly unlikely, only 7.3%. I should note that this would be a dramatic improvement over our current state. Such games would occur every 13 or 14 games, but picking up more spares doesn’t get us much closer.

Strikes are a different story altogether. We currently record strikes on 26.7% of frames. If we could increase this to 40%, the probability of a 200 game would increase to approximately 10%. If we struck every other frame (50%), the probability is huge, about 27.4%. In this case, we could expect on average a 200 game from at least one bowler a game.

The simulation is capable of performing many other analyses, but I’ll save that for another day. I see the next round of simulation involving individual bowlers, but I’ll wait until I have four or five more weeks of data to make virtual Joey D.


  1. Todd-

    I love this. And the name of your blog. Pretty sweet!

    Cousin Sophie

  2. Thanks Soph,

    You must have the same crazy genes as me.



Note: Only a member of this blog may post a comment.