{"id":1060,"date":"2024-03-14T07:00:50","date_gmt":"2024-03-14T12:00:50","guid":{"rendered":"https:\/\/wollen.org\/blog\/?p=1060"},"modified":"2025-07-06T19:10:49","modified_gmt":"2025-07-07T00:10:49","slug":"how-to-calculate-a-vig-free-moneyline","status":"publish","type":"post","link":"https:\/\/wollen.org\/blog\/2024\/03\/how-to-calculate-a-vig-free-moneyline\/","title":{"rendered":"How to calculate a vig-free moneyline"},"content":{"rendered":"<p>If you&#8217;ve watched a single uninterrupted TV commercial break in the past couple years you&#8217;ve probably noticed the deluge of sports betting ads. The industry is growing incredibly quickly. It has brought in well over <a href=\"https:\/\/sportshandle.com\/sports-betting-revenue\/\" target=\"_blank\" rel=\"noopener\">$300 billion in wagers<\/a> since the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Murphy_v._National_Collegiate_Athletic_Association\" target=\"_blank\" rel=\"noopener\">Supreme Court&#8217;s 2018 decision<\/a> to effectively decriminalize it at the federal level.<\/p>\n<p>The industry is fascinating but in this post I want to write about a specific bet-related math error.<\/p>\n<hr \/>\n<h4>1. The background.<\/h4>\n<p>Sports books make a profit by charging vigorish (usually called <em>vig<\/em>), which is just a euphemism for the fee they charge to place a bet. For example, if you wanted to place a $100 bet on the Chiefs to win by 7 points, you&#8217;d typically hand the book $110 upfront. If you win they&#8217;d hand you $210\u2014your $110 stake plus a $100 profit\u2014but if you lose then the entire $110 is theirs to keep. That extra $10 is the vig. The exact percentage varies depending on the situation but that&#8217;s generally how it works.<\/p>\n<p>Some enterprising bettors might grow tired of paying vig and decide to set up bets between themselves. With -110 vig (the bet described above), you&#8217;d have to be correct 52.38% of the time to break even. But if you remove the vig that number drops to 50%. Bettors can cut out the middle man and essentially flip coins for fun.<\/p>\n<hr \/>\n<h4>2. The example.<\/h4>\n<p>Imagine a game where the odds are a little more interesting. Say the Chiefs moneyline this weekend is -160\/+120. That means to bet on the Chiefs you&#8217;d pay -160 (risk $160 to win $100), and to bet against them you&#8217;d get +120 odds (risk $100 to win $120).<\/p>\n<p>How would two parties set up a bet between themselves with no book involved? A lot of people would likely split the difference and call it -140\/+140. Person A risks $140 and Person B risks $100. They both get better odds than dealing with a sports book so everybody wins. Right?<\/p>\n<hr \/>\n<h4>3. The problem.<\/h4>\n<p>While that&#8217;s true, the problem is that one party benefits more than the other.<\/p>\n<p>Let me state the important part first: you can&#8217;t treat moneylines (-110, +150, etc.) like whole numbers and simply average them. Moneylines imply a certain win probability at which the bet is a neutral-EV breakeven proposition. As you can see in the plot below, implied win probability does not scale linearly with moneyline:<\/p>\n<figure id=\"attachment_2577\" aria-describedby=\"caption-attachment-2577\" style=\"width: 1350px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/wollen.org\/blog\/wp-content\/uploads\/2024\/03\/implied_win_prob_example.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2577 size-full\" src=\"https:\/\/wollen.org\/blog\/wp-content\/uploads\/2024\/03\/implied_win_prob_example.png\" alt=\"\" width=\"1350\" height=\"975\" srcset=\"https:\/\/wollen.org\/blog\/wp-content\/uploads\/2024\/03\/implied_win_prob_example.png 1350w, https:\/\/wollen.org\/blog\/wp-content\/uploads\/2024\/03\/implied_win_prob_example-300x217.png 300w, https:\/\/wollen.org\/blog\/wp-content\/uploads\/2024\/03\/implied_win_prob_example-1024x740.png 1024w, https:\/\/wollen.org\/blog\/wp-content\/uploads\/2024\/03\/implied_win_prob_example-768x555.png 768w\" sizes=\"auto, (max-width: 1350px) 100vw, 1350px\" \/><\/a><figcaption id=\"caption-attachment-2577\" class=\"wp-caption-text\">Credit to Joey Politano (apricitas.io) for the style.<\/figcaption><\/figure>\n<p>Intuitively it seems the average of -150 and -550 should be -350, but that&#8217;s not the case. The true average probability is closer to the smaller-magnitude number. In practice that means the person who takes the underdog side gets a better deal!<\/p>\n<p>Remember, both sides are getting a discount compared to betting with a sports book. That&#8217;s great. The issue is that the underdog bettor gets a <em>bigger<\/em> discount.<\/p>\n<p>Moneylines look like regular numbers but you can&#8217;t treat them that way. It&#8217;s similar to saying the average of 1\/4 and 1\/2 is 1\/3. No it&#8217;s not. It&#8217;s 3\/8. It only seems more obvious because you have a better grasp of how fractions work.<\/p>\n<hr \/>\n<h4>4. The solution.<\/h4>\n<p>Let&#8217;s get back to our Chiefs example where the odds are -160\/+120. We can&#8217;t treat moneylines like regular numbers and average them, so let&#8217;s change them into a form we <em>can<\/em> easily work with: percentages.<\/p>\n<p>The formula for converting a moneyline to an implied win probability is fairly simple. It changes slightly depending on whether the moneyline is negative or positive:<\/p>\n<p><a href=\"https:\/\/wollen.org\/blog\/wp-content\/uploads\/2024\/03\/equations_horizontal.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1073\" src=\"https:\/\/wollen.org\/blog\/wp-content\/uploads\/2024\/03\/equations_horizontal.jpg\" alt=\"\" width=\"1038\" height=\"268\" srcset=\"https:\/\/wollen.org\/blog\/wp-content\/uploads\/2024\/03\/equations_horizontal.jpg 1038w, https:\/\/wollen.org\/blog\/wp-content\/uploads\/2024\/03\/equations_horizontal-300x77.jpg 300w, https:\/\/wollen.org\/blog\/wp-content\/uploads\/2024\/03\/equations_horizontal-1024x264.jpg 1024w, https:\/\/wollen.org\/blog\/wp-content\/uploads\/2024\/03\/equations_horizontal-768x198.jpg 768w\" sizes=\"auto, (max-width: 1038px) 100vw, 1038px\" \/><\/a><\/p>\n<p>To convert -160 to a win probability, use the left equation. The vertical bars mean <em>absolute value<\/em> so change the negative sign to positive:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">P  =  |-160| \/ (|-160| + 100)  =  160 \/ 260  =  0.615\r\n<\/pre>\n<p>To convert +120 to a win probability, use the right equation:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">P  =  100 \/ (120 + 100)  =  100 \/ 220  =  0.455<\/pre>\n<p>Note that these numbers are probabilities ranging from 0.0 to 1.0. To convert to percentages you would multiply by 100. So our -160 moneyline becomes 61.5% and +120 becomes 45.5%.<\/p>\n<p>But wait, those percentages add up to more than 100%. Both outcomes can&#8217;t happen that often. At this point we&#8217;ve identified how sports books come out ahead: <em>overround<\/em>. 61.5% and 45.5% add up to 107% and that extra 7% is called the overround. As you&#8217;d guess, a bigger overround means the book is taking a larger cut of the action, which makes it more difficult for bettors to clear a profit in the long run.<\/p>\n<p>We can resolve the overround problem by dividing both numbers by 107% (or 100 plus whatever the overround happens to be):<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">0.615 \/ 1.07  =  0.575\r\n\r\n0.455 \/ 1.07  =  0.425<\/pre>\n<p>Now the overround is removed and our win probabilities add up to 100%. We know the true chance of each event occuring\u2014a Chiefs win or a Chiefs loss\u2014according to the odds.<\/p>\n<div style=\"margin-left: 15%; margin-right: 15%;\">\n<hr \/>\n<p><strong>One important caveat<\/strong> is that you cannot simply subtract 3.5% from each percentage. It makes the math a little easier but it also changes the ratio of the odds. In effect it makes the favorite a bigger favorite.<\/p>\n<hr \/>\n<\/div>\n<p>With our true implied win probabilities in hand we can convert back to moneylines and arrange the vig-free bet. The formula for this conversion is:<\/p>\n<p><a href=\"https:\/\/wollen.org\/blog\/wp-content\/uploads\/2024\/03\/equations_horizontal2-1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1520 size-full\" src=\"https:\/\/wollen.org\/blog\/wp-content\/uploads\/2024\/03\/equations_horizontal2-1.jpg\" alt=\"\" width=\"1038\" height=\"268\" srcset=\"https:\/\/wollen.org\/blog\/wp-content\/uploads\/2024\/03\/equations_horizontal2-1.jpg 1038w, https:\/\/wollen.org\/blog\/wp-content\/uploads\/2024\/03\/equations_horizontal2-1-300x77.jpg 300w, https:\/\/wollen.org\/blog\/wp-content\/uploads\/2024\/03\/equations_horizontal2-1-1024x264.jpg 1024w, https:\/\/wollen.org\/blog\/wp-content\/uploads\/2024\/03\/equations_horizontal2-1-768x198.jpg 768w\" sizes=\"auto, (max-width: 1038px) 100vw, 1038px\" \/><\/a><\/p>\n<p>To convert 57.5% to moneyline, use the left equation:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">M  =  0.575 \/ (1 - 0.575) * -100  =  -135<\/pre>\n<p>To convert 42.5% to moneyline, use the right equation:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">M  =  (1 - 0.425) \/ 0.425 * 100  =  +135<\/pre>\n<p>The magnitude of the numbers is the same (-135\/+135). <strong>That&#8217;s an indication that it&#8217;s a vig-free line, which was our goal.<\/strong> We started with moneyline odds of -160\/+120 and found that when you remove the vig, the line becomes -135\/+135. Person A can wager $135 and Person B can wager $100.<\/p>\n<p>Note that these odds are slightly different than our original guess of -140\/+140. The difference is small but important. Margins are extremely thin in sports betting and you&#8217;d be wise not to give away value for free.<\/p>\n<hr \/>\n<h4>5. The plug.<\/h4>\n<p>If you have an Android device you can <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=org.wollen.novig_calc_2\" target=\"_blank\" rel=\"noopener\">download my free app from the Google Play store<\/a>. It takes care of all these calculations. It also calculates half-point values and supports decimal odds for the non-Americans.<\/p>\n<p>I don&#8217;t make any money from the app. There are no ads and it doesn&#8217;t track you. It was a personal project and I&#8217;m glad that other people are able to use it.<\/p>\n<p><a href=\"https:\/\/play.google.com\/store\/apps\/details?id=org.wollen.novig_calc_2\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1086\" src=\"https:\/\/wollen.org\/blog\/wp-content\/uploads\/2024\/03\/app_google-play_graphic-300x146.png\" alt=\"\" width=\"300\" height=\"146\" srcset=\"https:\/\/wollen.org\/blog\/wp-content\/uploads\/2024\/03\/app_google-play_graphic-300x146.png 300w, https:\/\/wollen.org\/blog\/wp-content\/uploads\/2024\/03\/app_google-play_graphic-768x375.png 768w, https:\/\/wollen.org\/blog\/wp-content\/uploads\/2024\/03\/app_google-play_graphic.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you&#8217;ve watched a single uninterrupted TV commercial break in the past couple years you&#8217;ve probably noticed the deluge of sports betting ads. The industry is growing incredibly quickly. It has brought in well over $300 billion in wagers since<\/p>\n","protected":false},"author":1,"featured_media":1097,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[215,40,59],"tags":[207,210,209,39,219,217,22,221,220,208,213,206,205,218,216,25,60,61,204,203,214,211,212],"class_list":["post-1060","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-betting","category-math","category-sports","tag-betting","tag-calculate","tag-casino","tag-code","tag-convert","tag-convert-odds","tag-data","tag-equation","tag-formula","tag-gambling","tag-juice","tag-moneyline","tag-no-vig","tag-odds","tag-overround","tag-python","tag-sports","tag-sports-betting","tag-sports-book","tag-sportsbetting","tag-vig","tag-vig-free","tag-vigorish"],"_links":{"self":[{"href":"https:\/\/wollen.org\/blog\/wp-json\/wp\/v2\/posts\/1060","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wollen.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wollen.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wollen.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wollen.org\/blog\/wp-json\/wp\/v2\/comments?post=1060"}],"version-history":[{"count":49,"href":"https:\/\/wollen.org\/blog\/wp-json\/wp\/v2\/posts\/1060\/revisions"}],"predecessor-version":[{"id":3176,"href":"https:\/\/wollen.org\/blog\/wp-json\/wp\/v2\/posts\/1060\/revisions\/3176"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wollen.org\/blog\/wp-json\/wp\/v2\/media\/1097"}],"wp:attachment":[{"href":"https:\/\/wollen.org\/blog\/wp-json\/wp\/v2\/media?parent=1060"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wollen.org\/blog\/wp-json\/wp\/v2\/categories?post=1060"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wollen.org\/blog\/wp-json\/wp\/v2\/tags?post=1060"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}