library(tidyverse)
library(broom)
library(moderndive)
library(kableExtra)
library(openintro)
library(ggfortify)
library(sjPlot)
library(sjmisc)
library(sjlabelled)
library(ggplot2)
library(knitr)
library(png)
library(rvest)
library(readr)
PriceGameData <- read_csv("PriceGameData.csv")
PriceTrackMan <- read_csv("PriceTrackMan.csv")
knitr::include_graphics("pricepoty.png")

 

Introduction

 

Alex Price won the NESCAC Pitcher of the Year award for the 2023 season. Price dominated the NESCAC, consistently pitching deep into games and providing the Middlebury College Panthers with leadership on the mound that led the team to back-to-back NESCAC Championship game appearances and NCAA Division 3 Tournament Bids. This article aims to better understand what makes Alex Price so successful on the mound and how he can maximize his success in the future if he chooses to pursue baseball in graduate school.

 

pricegames <- read_csv("pricegames.csv")
pricegames %>% 
  kbl() %>% 
  kable_styling()
Date Opponent W/L IP H R ER BB SO 2B 3B HR WP BK HBP IBB NP SCORE W L SV G-ERA S-ERA
3/4/2023 vs Millsaps L 3.0 5 6 3 4 3 0 0 0 0 0 1 0 89 6-9 0 0 0 9.00 9.00
3/12/2023 at Swarthmore W 7.0 5 2 2 0 9 1 0 1 0 0 1 0 94 4-2 1 0 0 2.57 4.50
3/19/2023 at Chapman L 5.0 5 4 2 3 5 1 0 0 0 0 1 0 96 9-10 0 0 0 3.60 4.20
3/25/2023 at Cal Lutheran W 6.0 5 2 2 1 6 2 0 0 0 0 1 0 6-4 1 0 0 3.00 3.86
4/2/2023 vs Bowdoin W 7.0 2 0 0 2 11 0 0 0 0 0 0 0 1-0 1 0 0 0.00 2.89
4/7/2023 Wesleyan (Conn.) L 5.2 4 5 5 4 11 0 0 2 1 0 1 0 114 8-9 0 0 0 7.94 3.74
4/14/2023 Hamilton W 1.0 1 1 1 2 1 0 0 0 0 0 0 0 28 8-6 0 0 1 9.00 3.89
4/15/2023 Hamilton W 2.0 8 5 1 0 0 1 0 0 0 0 1 0 9-8 0 0 0 4.50 3.93
4/22/2023 at Williams W 6.0 7 1 1 0 10 2 1 0 0 0 0 0 97 5-1 1 0 0 1.50 3.59
4/28/2023 at Amherst W 7.0 8 6 6 3 8 3 0 0 3 0 0 0 121 7-6 0 0 0 7.71 4.17
5/6/2023 Trinity (Conn.) W 6.0 3 1 1 4 6 1 0 0 0 0 1 0 121 14-7 1 0 0 1.50 3.88
5/12/2023 Colby W 7.1 7 6 4 5 3 0 1 0 1 0 0 0 113 7-6 0 0 0 4.91 4.00
5/19/2023 vs Johnson & Wales L 5.0 10 6 5 5 8 4 1 0 0 0 0 0 114 11-12 0 0 0 9.00 4.37

 

Price Pitch Mix

 

Alex Price sees success on the mound in part because of his pitch mix. Price’s 4 pitches are complimentary of one another due to their deceptive qualities through pitch speed differential and movement profiles.

 

Price <- PriceTrackMan %>% 
  filter(Pitcher=="Price, Alex") 
Price %>% 
  filter(TaggedPitchType=="Fastball"|TaggedPitchType=="ChangeUp"|TaggedPitchType=="Slider"|TaggedPitchType=="Curveball") %>% 
  ggplot()+
  geom_point(aes(x=HorzBreak, y=InducedVertBreak, color=TaggedPitchType, pch=TaggedPitchType))+
  xlab("Horizontal Break (in)")+
  ylab("Induced Vertical Break (in)")+
  ggtitle("Price Pitch Mix")+
  theme_minimal()

fastball <- Price %>% 
  filter(TaggedPitchType =="Fastball") %>% 
  select(Pitcher,RelSpeed,HorzBreak,InducedVertBreak,SpinRate) %>% 
  drop_na() %>% 
  summarize(avgfbvelo= mean(RelSpeed), avghorz= mean(HorzBreak),avgvert=mean(InducedVertBreak), avgspin=mean(SpinRate))

fastball %>% 
  kbl(digits=2, col.names = c("Avg. Fastball Velo (mph)","Avg. Horz Break", "Avg. Vert Break", "Avg. Spin Rate" ), caption=" Alex Price Fastball Data") %>% 
  kable_styling()
Alex Price Fastball Data
Avg. Fastball Velo (mph) Avg. Horz Break Avg. Vert Break Avg. Spin Rate
86.21 -7.22 15.3 2049.51

 

Price features a high-vertical-break fastball for the Division 3 level, with his average fastball having an inch more of induced vertical break than the average Middlebury College fastball. Paired with his high arm slot, his fastball has a very vertical profile with a steep vertical approach angle.

 

change <- Price %>% 
  filter(TaggedPitchType=="ChangeUp") %>% 
    select(Pitcher,RelSpeed,HorzBreak,InducedVertBreak,SpinRate) %>% 
  drop_na() %>% 
  summarize(avgchvelo= mean(RelSpeed), avghorz= mean(HorzBreak),avgvert=mean(InducedVertBreak), avgspin=mean(SpinRate))

change %>% 
  kbl(digits=2, col.names = c("Avg. ChangeUp Velo (mph)","Avg. Horz Break", "Avg. Vert Break", "Avg. Spin Rate" ), caption=" Alex Price Changeup Data") %>% 
  kable_styling()
Alex Price Changeup Data
Avg. ChangeUp Velo (mph) Avg. Horz Break Avg. Vert Break Avg. Spin Rate
73.62 -11.05 12.28 1538.02

 

Price features a ChangeUp that has performed well this season. Price frequently throws his ChangeUp to hitters from both sides of the plate, throwing it the second most out of the four pitches in his arsenal. Hitters typically swing ahead of his fastball due to its large differential in speed between the fastball and the changeup. Hitters typically describe his changeup as a “float ball” because it has a similar movement profile to his fastball, but fools hitters based on its large speed differential.

 

slider <- Price %>% 
  filter(TaggedPitchType=="Slider") %>% 
    select(Pitcher,RelSpeed,HorzBreak,InducedVertBreak,SpinRate) %>% 
  drop_na() %>% 
  summarize(avgslvelo= mean(RelSpeed), avghorz= mean(HorzBreak),avgvert=mean(InducedVertBreak), avgspin=mean(SpinRate))

slider %>% 
  kbl(digits=2, col.names = c("Avg. Slider Velo (mph)","Avg. Horz Break", "Avg. Vert Break", "Avg. Spin Rate" ), caption=" Alex Price Slider Data") %>% 
  kable_styling()
Alex Price Slider Data
Avg. Slider Velo (mph) Avg. Horz Break Avg. Vert Break Avg. Spin Rate
78.23 2.5 -4.26 2092.46

 

Price throws a gyro slider that sits in the upper 70s in velocity. Price’s gyro slider compliments his fastball because the gyro profile tunnels well with his vertical fastball. Price’s slider induces swings and misses at the bottom of the zone and below to hitters of both handedness.

 

curveball <- Price %>% 
  filter(TaggedPitchType=="Curveball") %>% 
    select(Pitcher,RelSpeed,HorzBreak,InducedVertBreak,SpinRate) %>% 
  drop_na() %>% 
  summarize(avgcbvelo= mean(RelSpeed), avghorz= mean(HorzBreak),avgvert=mean(InducedVertBreak), avgspin=mean(SpinRate))

curveball %>% 
  kbl(digits=2, col.names = c("Avg. Curveball Velo (mph)","Avg. Horz Break", "Avg. Vert Break", "Avg. Spin Rate" ), caption=" Alex Price Curveball Data") %>% 
  kable_styling()
Alex Price Curveball Data
Avg. Curveball Velo (mph) Avg. Horz Break Avg. Vert Break Avg. Spin Rate
73.4 0.62 -12.88 2036.92

 

Price features a 12/6 curveball that sits close to the 0 line in horizontal break and pushes 12 plus inches of negative induced vertical break. Price typically uses his curveball early in counts to change hitters’ eye level and keep hitters off-balance. Price’s curveball also serves as a swing-and-miss pitch to Right-Handed-Hitters.

 

Price Release Point and Vertical Approach Angle

 

Price %>% 
  summarize(ReleaseSide= mean(RelSide), ReleaseHeight= mean(RelHeight)) %>% 
  kbl(digits=2, col.names = c("Release Side (FT)","Release Height (FT)"), caption= "Price Release Point") %>% 
  kable_styling()
Price Release Point
Release Side (FT) Release Height (FT)
-0.06 6.45
vaa <- Price %>% 
  filter(TaggedPitchType=="Fastball") %>% 
  select(VertApprAngle) %>% 
  drop_na() %>% 
  summarise(vertapproachangle = mean(VertApprAngle))

vaa %>% 
  kbl(digits=2, col.names= c("Price Avg. Fastball Vertical Approach Angle")) %>% 
  kable_styling()
Price Avg. Fastball Vertical Approach Angle
-5.82
PriceTrackMan %>% 
  filter(TaggedPitchType=="Fastball") %>% 
  select(VertApprAngle) %>% 
  drop_na() %>% 
  summarise(vertapproachangle = mean(VertApprAngle)) %>% 
  kbl(digits=2, col.names = c("Average Team Fastball Vertical Approach Angle")) %>% 
  kable_styling()
Average Team Fastball Vertical Approach Angle
-5.38
PriceTrackMan %>% 
  ggplot()+
  geom_point(aes(x=RelSide, y=RelHeight, color=Pitcher)) +
  xlab("Release Side") +
  ylab("Release Height")+
  ggtitle("Middlebuy Pitching Staff Release Points")+
  theme_classic()

 

I believe some of Price’s success on the mound can be attributed to his unique arm slot. Price’s over-the-top arm slot is very different than the other arm slots seen on Middlebury’s pitching staff, making it more difficult for hitters to pick up Price’s pitches. Price’s high arm slot also creates a steeper vertical approach angle than what hitters typically face, resulting in hitters often clipping the baseball, creating one of the lowest hard-contact rates on the team. While the TrackMan data shows his vertical approach angle to be only around half a degree more than the average team fastball, I believe the number is attributed to his fastball typically being up in the zone. When he throws his fastball at the bottom of the strike zone, the end location coupled with his high arm slot creates a very steep vertical approach angle that allows his fastball to be very successful at the bottom of the zone.

 

How can Price improve?

 

While Alex Price had an excellent season, garnering him the 2023 NESCAC Pitcher of the Year award, there is always room for improvement. Here are some of my suggestions for how Price could even further improve his performance on the mound.

 

Price’s Average Fastball Velocity

 

PriceGameData %>% 
  ggplot(aes(x=Avg_FB_Velo, y=SO/BF)) +
  geom_point() + 
  geom_smooth(method='lm', se=FALSE) + 
  theme_classic()+ 
  xlab("Average Fastball Velocity")+
  ylab("K's per Batters Faced")+
  ggtitle("Average Fastball Velocity (mph) vs. K's per Batters Faced")

 

fbvelo_k <- lm(SO/BF ~ Avg_FB_Velo, data=PriceGameData) 
tab_model(fbvelo_k)
  SO/BF
Predictors Estimates CI p
(Intercept) -10.32 -20.30 – -0.35 0.044
Avg FB Velo 0.13 0.01 – 0.24 0.040
Observations 12
R2 / R2 adjusted 0.358 / 0.294

 

One of the improvements Price can make is increasing his average fastball velocity. While his 84 to 85 mph fastball has made him very successful on the mound, this regression analysis shows that the harder he throws, the more strikeouts he gets. At the Division 3 level, limiting the number of balls put in play through strikeouts makes a significant difference in the outcome of the game. If Price could add one to two mph on his fastball, Price would likely see even more success on the mound through his increased strikeout percentage.

 

Pitch Execution

 

On top of improving Price’s stuff by increasing his velocity, Price can also improve his performance on the mound by changing how he executes his pitches. All of Price’s pitches perform best at the bottom of the strike zone, but he typically pitches up in the strike zone, especially with his fastball and changeup.

 

knitr::include_graphics("PriceLocationRHH.png")

 

knitr::include_graphics("PricewOBARHH.png")

 

Alex Price rarely throws his fastball at the bottom of the zone, which can be seen in the pitch frequency to right-handed hitters picture above. right-handed hitters perform poorly against Price’s fastball when he locates it down in the strike zone. The wOBA location picture vs. Right-Handed Hitters shows that right-handed hitters hit in the .100 to .200 wOBA range against his fastball at the bottom of the zone, which is considerably better than how his fastball performs to right-handed hitters at the middle or top of the strike zone. Similarly, right-handed hitters hit poorly against his changeup at the bottom of the strike zone and much better against it when it is left at the top of the zone. The majority of Price’s changeups are thrown at the middle or top of the zone, which hurts his performance. Price could tunnel his fastball and changeup down in and in two righties and force hitters to make quick decisions to catch up to his fastball, resulting in miss hits or swings and misses when he throws the changeup in that location. Generally speaking, Price should aim at the bottom of the zone and try to miss down to see greater success against right-handed hitters on the mound.

 

knitr::include_graphics("PriceLocationLHH.png")

 

knitr::include_graphics("PricewOBALHH.png")

 

Against left-handed hitters, Price would benefit from throwing his changeup glove side more. Price frequently throws his fastball away from right-handed hitters, which leads him to miss arm side to left-handed hitters with his changeup. His changeup performs poorly to left-handed hitters when he throws it in these spots, so he would benefit from trying to throw it to the opposite side of the plate. However, I believe Price should not throw his changeup much to lefties because it is his second-worst-performing pitch with a wOBA of .455 to left-handed hitters.

 

Pitch Usage

 

knitr::include_graphics("PricewOBAChart.png")

 

Finally, I believe Alex Price could improve his performance on the mound by adjusting his pitch usage. Despite left-handed pitchers typically seeing increased success against left-handed hitters, Price struggled all year against lefties. Price’s CSW% (Called Strikes + Swing and Miss Percent) were lower for his slider, curveball, and changeup against lefties, and curveball and changeup wOBAs were considerably worse to left-handed hitters than righties.

 

Price threw his changeup 17% of the time to left-handed hitters this season. I believe he would benefit from dropping that percentage to around 10% and increasing his slider percentage because Price tends to miss with his changeup to left-handed hitters where they can do significant damage to the pitch. Price’s slider is his best-performing pitch to lefties, and increasing the percentage from 36% to around 40 to 45 percent would improve his performance significantly to left-handed hitters.

 

In my opinion, Price would also benefit from increasing his curveball usage percentage to right-handed hitters. Price’s curveball can be used early in counts to right-handed hitters to keep them off balance. As long as he keeps the pitch down in the zone, hitters are unlikely to do significant damage to the pitch despite it having a much larger break and a different visual look than all of his other pitches. I recommend that Price throws his slider more in advantage counts. It is his second-highest CSW percentage pitch behind his changeup to right-handed hitters, and because Price’s fastball does not perform well up in the zone, I think he would benefit from throwing his slider more in advantage counts than throwing his fastball.

 

Concluding Remarks

 

Alex Price has had a very successful four years on the mound at Middlebury College, especially this past season when he earned his NESCAC Pitcher of the Year Award honors. I wish Alex the best of luck in his future endeavors, and it has been a privilege watching him pitch the last couple of years.