Basketball free throw contest. I can make two bets:
- at least 2 out of 3
- at least 5 out of 8
Which bet would maximize my odds of winning and why?
import numpy as np from scipy.special import comb %pylab inline
Populating the interactive namespace from numpy and matplotlib
Shooting a sequence of free throws can be modeled by a binomial distribution. Below we define the probability mass function for the binomial distribution (also available in
PMF=lambda p,n,k: comb(n,k) * p**k*(1-p)**(n-k)
#making at least 5 out of 8 five_out_of_eight = lambda p: PMF(p,8,5)+PMF(p,8,6)+PMF(p,8,7)+PMF(p,8,8) #making at least 2 out of 3 two_out_of_three = lambda p: PMF(p,3,2)+PMF(p,3,3)
#free throw percentages 0-1 in .1 increments single_shot_probs=np.arange(0,1.1, .1) _2_3= _5_8= for p in single_shot_probs: _2_3.append(two_out_of_three(p)) _5_8.append(five_out_of_eight(p))
figure() plt.plot(single_shot_probs, _2_3, label="2/3") plt.plot(single_shot_probs, _5_8, label="5/8") plt.legend(loc='lower right')
<matplotlib.legend.Legend at 0x10cf54c10>
The answer: It depends how good you are. If your average free throw percentage is <.7 then you should take the 2/3 bet. However, if your free throw percentage is > .7 then you should take the 5/8 bet. But either way, iregardless of your skill level, 2/3 is most safe bet.