Project Overview
Using R as a tool and Trackman CSVs as my data, I was able to craft a report that analyzes catchers including aspects of throwing, pop time, accuracy, and framing.
Project Description
When making my catcher evaluation report, I wanted to use R to read Trackman data and make the catching data easily digestible. Trackman gives us data on pitch location, pitch type, throw speed, pop time, exchange time, time to base, and throw location. Using these measurements, we are able to analyze a catcher's performance.
My report formats this data in an understandable way, sorted by throws to each base. For each base, you are able to see the total throwing statistics, throwing statistics for pitches in the zone, throwing statistics for pitches out of the zone, and throwing statistics for whiffs. All of these data tables are sorted by pitch type. Each base also has an accuracy plot that is sorted by pitch type. These accuracy plots are color coded by height, allowing the viewer to better visualize the accuracy of the throw.
Key Features
Throwing Metrics
Detailed analysis of throw speed, pop time, exchange time, and accuracy to each base, segmented by pitch type and location.
Framing Analysis
Scatter plots showing pitch locations with strike/ball outcomes, color-coded by pitch type to visualize framing effectiveness.
Advanced Metrics
SL+ (Strikes Looking Plus) metric derived from XGBoost model, comparing catcher performance to expected outcomes.
Heat Maps
Strike percentage visualizations for pitches caught without swings, extending 6 inches outside the strike zone.
Splits Analysis
Separate framing statistics for left-handed and right-handed hitters to identify platoon advantages.
NCAA Benchmarking
Color-coded statistics comparing performance to rolling NCAA averages and standard deviations.
NCAA-Benchmarked Color Coding
For better interpretability, statistics where I felt it would be useful for them to be compared to league averages are automatically color coded on a blue to red scale where red is good for the catcher. The coding is based on the rolling NCAA average and standard deviation for each statistic. SL+ is color coded based on the 100 scale.
Statistical Insights
For each catcher there is also a framing plot which includes a scatter plot of pitch locations relative to the zone, color coded by strike/ball with different shapes corresponding to each pitch type. This helps visualize framing and a catcher's ability to steal strikes on pitches outside the zone. Their receiving performance is also depicted by a heat map that illustrates strike percentage for pitches caught by the catcher without a swing.
This page also includes framing statistics such as strikes stolen (and percentage), strikes lost (and percentage), framing runs saved, framing runs saved per 9 innings, and SL+ (Strikes Looking Plus). The SL+ is derived from my called strike probability model trained using a XGBoost in R. An SL+ of 100 means a catcher is getting the expected number of called strikes, 105 means they are getting 5% more strikes than expected, and so on.
For better interpretability, statistics where I felt it would be useful for them to be compared to league averages are automatically color coded (on a blue to red scale where red is good for the catcher) based on the rolling NCAA average and standard deviation for each statistic (SL+ is color coded based on the 100 scale).
Example Output: Iowa 2025 Season
The following output was made with data from the Iowa 2025 baseball season, demonstrating the report's comprehensive analytical capabilities. My code works with any Trackman CSV, making it adaptable for any team or league using Trackman technology.