NCB (#8 Villanova @ St. John’s): How many POINTS will Villanova SCORE BEFORE St. John’s SCORES?
6:35 PM
3 Points or Fewer
4 Points or More
Inputs To Solve
#### User / Market Estimates ####
# over / under
expected_total_pts = 143
# point spread (Villanova favored)
spread = 3
stj_expected_pts = (expected_total_pts - spread)/2
vil_expected_pts = expected_total_pts - stj_expected_pts
print("The expected points scored by St. John's is %s" % round(stj_expected_pts,3))
print("The expected points scored by Villanova is %s" % round(vil_expected_pts,3))
The expected points scored by St. John’s is 70.0
The expected points scored by Villanova is 73.0
## Inputs Defined in the Problem
first_to_vil = 2 #2 baskets ~~ 4 points
first_to_stj = 1 #1 basket ~~ >= 1 point
Method to Solve
- [1] Estimate lambda_stj - expected arrival rate of a basket by St. John’s
- [2] Estimate lambda_vil - expected arrival rate of a basket by Villanova
- [3] Use the Poisson Distribution assumptions and the ‘first to’ equation to compute the probability of Villanova scoring 4 points before St. John’s scores 1 point. (p_vil).
## [1]
lambda_stj = stj_expected_pts/2
## [2]
lambda_vil = vil_expected_pts/2
## [3]
import math
m = first_to_stj
n = first_to_vil
p_vil = 0
for k in range(n,n+m):
ans = math.factorial(n+m-1)/(math.factorial((n+m-1)-k)*math.factorial(k))
ans1 = (lambda_vil/(lambda_stj+lambda_vil))**k
ans2 = (lambda_stj/(lambda_stj+lambda_vil))**(n+m-1-k)
p_vil += (ans*ans1*ans2)
Solution
print("The probability of Villanova scoring 4 points before St. John's scores 1 point is ~%s" % round(p_vil,3))
The probability of Villanova scoring 4 points before St. John’s scores 1 point is ~0.261
Info
download markdown file
email: krellabsinc@gmail.com
twitter: @KRELLabs
import sys
print(sys.version)
3.6.5 |Anaconda, Inc.| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)]
Posted on 1/28/2020