Contact Us

Use the form on the right to contact us.

You can edit the text in this area, and change where the contact form on the right submits to, by entering edit mode using the modes on the bottom right. 


123 Street Avenue, City Town, 99999

(123) 555-6789


You can set your address, phone number, email and site description in the settings tab.
Link to read me page with more information.


Filtering by Tag: Python

Outcome Probability Calculator is back up!

Ford Bohrmann

After about a month of downtime I have the outcome probability calculator back up and running. Shiny (made by RStudio) is great but they decided to start charging so I rewrote it all in Python. I used Bokeh, which is great. If you're trying to do some data visualizations online it's a great way to go. The formatting looks a bit different but the data and models are exactly the same. Check it out here.

If you want to see how I created the models, check out this post.

And if you haven’t seen the Economist blog post from a couple weeks back comparing Messi to Ronaldo using the data, read it here

A lot of people have reached out to me asking for the data or have been trying to manually gather it from the applet. If you’re interested in using the data then just reach out to me at and I’d be happy to send all the raw data to you, provided you reference this blog when you use it. 

Finally, now that the calculator is fixed I can focus on some other work I’ve been doing. I’ve admittedly been absent from posting here for a while. I have a few posts I’ve been working on recently, so expect some new stuff coming soon...

World Cup Performance by Continent (Lots of graphs)

Ford Bohrmann

Much has been made of the inter-continental games so far this World Cup, especially considering the presence of 3 of the 4 CONCACAF countries making it past the group stages, including the US getting out of the group of death and Costa Rica going much farther than anyone predicted.

To see how various (FIFA defined) continents have done compared to past World Cup results, I used past World Cup data collected from I looked at the past World Cup results (here is an example from the United States’ page These results include all World Cup and World Cup qualifying games, which is what I limited my analysis to. World Cup qualifying games are a little different than World Cup games, but considering these are almost always between countries that are in the same continent, I think its OK because I drop intra-continent games anyways. What defines a continent is pretty hazy, so I just stuck with FIFA’s definitions. This means that Australia is actually a part of Asia, and some other anomalies. This division of the world is the best way to stay consistent, though. The continents I ended up using were Africa, Asia, CONCACAF, Europe, Oceania and South America.

If you want to look at the code I wrote to do the analysis (the data scraping, the actual analysis, and the visualization) head over to here 

There’s nothing too crazy going on in the analysis, just a lot of graphs to look at.

Read More