Reformulating BaseRuns as a Nonlinear, Context-Based Linear Weights Baseball Run Estimator
by Kevin Harlow
BaseRuns is the ingenious baseball run estimator created by David Smyth that is extremely accurate at the team (or pitcher) level. Not only is it very accurate in the range of historical MLB teams, but it has been shown to maintain a high level of accuracy at the extremes of run scoring and event rates. David Smyth has defined one version of his BaseRuns (BR) as follows:
BR = A * [B/(B+C)] + HR
Where:
A = H + W + HB - CS - HR
B = .535*(2.5*TB - H - 5*HR + 2*SB + 0.05*(W + HB))
C = AB - H + SF
-----------------------
BaseRuns will be re-expressed using the total derivative as follows:
R = (dR/dBB)*BB + (dR/dS)*S + (dR/dD)*D + (dR/dT)*T + (dR/dHR)*HR+ (dR/dSB)*SB + (dR/dCS)*CS + (dR/dHB)*HB + (dR/d(AB-H))*(AB-H+SF)
This results in the following equation (derivations are in Appendix):
R = BB * {[(1+ψ*(1+0.02675*ξ)]/[(1+ψ)^2])
+S * {[(1+ψ*(1+0.8025*ξ)]/[(1+ψ)^2])
+D * {[(1+ψ*(1+2.14*ξ)]/[(1+ψ)^2])
+T * {[(1+ψ*(1+3.4775*ξ)]/[(1+ψ)^2])
+HR * {1 + 2.14 * [(ψ*ξ)]/[(1+ψ)^2]}
+SB * {1.07 * [(ψ*ξ)]/[(1+ψ)^2]}
+CS * {-1/(1+ψ)}
+(AB-H+SF) * {ξ/[(1+ψ)^2}}
+HB * {[(1+ψ*(1+0.02675*ξ)]/[(1+ψ)^2])
Where
PA = AB + BB + HBP + SF
OBP = (H + W + HB) /PA
OBPm = (H + W + HB - CS - HR) / PA
SLGm = .535*(2.5*TB - H - 5*HR + 2*SB + 0.05*(W+HB)) / PA
ψ = (1-OBP)/SLGm
ξ = OBPm/SLGm
Notice that each event has a nonlinear, context-based coefficient that is based on only two factors: ψ, battings outs per modified total bases; and ξ, non-batter RBI opportunities per modified total bases. The inverse of ξ is basically a well known baseball relationship - bases per out. However, I believe ξ hasn't been explored.
Appendix - Derivations
dR/dCS = (dR/dA)(dA/dCS) = Zcs*[B/(B+C)]
dR/dSB = (dR/dB)(dB/dSB) = .535*Zsb*[A/(B+C) - A*B/(B+C)^2]
dR/dSB = .535*Zsb*[(A*(B+C) - A*B)/(B+C)^2]
dR/dSB = .535*Zsb*[A*C/(B+C)^2]
dR/dHR = 1 + (dR/dB)(dB/dHR) = 1 + .535*Zhr*[A/(B+C) - A*B/(B+C)^2]
dR/dHR = 1 + .535*Zhr*[A*C/(B+C)^2]
E = S, D, T, BB, HB
dR/dE = (dR/dA)(dA/dE) + (dR/dB)(dB/dE)
dR/dE = [B/(B+C)] + .535*Ze*[A*C/(B+C)^2]
dR/d(AB-H|+SF) = (dR/dC)(dC/d(AB-H)) = A*B*[(d(B+C)^(-1))/dC][dC/d(AB-H)]
dR/d(AB-H+SF) = -A*B/(B+C)^2
Zcs=-1.0; Zsb=2.0; Zbb=0.05; Zs=1.5; Zd=4.0; Zt=6.5; Zhr=4.0; Zhbp=0.05
-------
[B/(B+C)] = (B/C)/[(B/C)+1]
Let C = (1-OBP)*PA
[B/(B+C)] = {TBm/[PA*(1-OBP)]} / {1 + TBm/[PA*(1-OBP)]}
[B/(B+C)] = SLGm/(1-OBP) / (1 + SLGm/(1-OBP))
[B/(B+C)] = SLGm/(SLGm+(1-OBP))
[B/(B+C)] = 1/(1+((1-OBP)/SLGm))
[B/(B+C)] = 1/(1+ ψ)
------
A*C/(B+C)^2 = A*C/(TBm^2 + 2*TBm*C + C^2)
A*C/(B+C)^2 = (A/C) / [(TBm/C)^2 + 2*TBm/C + 1)
Let O=PA*(1-OBP)
A*C/(B+C)^2 = [A/(PA*(1-OBP))] / {[TBm/(PA*(1-OBP))]^2 + 2*TBm/(PA*(1-OBP)) + 1}
Let OBPm = OBP - CS/PA - HR/PA
A*C/(B+C)^2 = [OBPm/(1-OBP)] / {[SLGm/(1-OBP)]^2 + 2*SLGm/(1-OBP) + 1}
A*C/(B+C)^2 = [OBPm*(1-OBP)] / [SLGm^2 + 2*SLGm*(1-OBP) + (1-OBP)^2]
A*C/(B+C)^2 = [OBPm*(1-OBP)] / [SLGm + (1-OBP)]^2
A*C/(B+C)^2 = [(OBPm/SLGm)*((1-OBP)/SLGm)] / (1+((1-OBP)/SLGm))^2
A*C/(B+C)^2 = [ξ * ψ] / (1+ ψ))^2
----
A*B/(B+C)^2 = A*B/[B+PA(1-OBP)]^2 = A*B/[PA*(B/PA+1-OBP)]^2
A*B/(B+C)^2 = (A/PA)*(B/PA) / [TBm/PA + (1-OBP)]^2
A*B/(B+C)^2 = OBPm*SLGm / (SLGm+(1-OBP))^2
A*B/(B+C)^2 = (OBPm/SLGm) / [1+((1-OBP)/SLGm])^2
A*B/(B+C)^2 = ξ / [1+ ψ]^2
Go to Kevin Harlow's home page.