Swing Profiles
Bat Speed, Acceleration, and Jerk through an MLB hitter's swing. The Bat Speed curve is derived from the player's Baseball Savant swing-path image. The swing duration is imputed from the bat-tracking leaderboard, with Acceleration and Jerk based on it.
The image this was derived from:
How it works
Bat Speed Curve: Savant's swing-path images carry a small chart in the bottom-left panel: Bat Speed against normalized swing time (0 at the start of the swing and 1 at contact). This page fetches the card, reads each point on the Speed-over-time chart, smooths with a local linear fit, and resamples into 101 evenly spaced points. Imputed Bat Speed values at contact are within ~0.7 mph of stated values on Baseball Savant.
Swing Duration: Baseball Savant/Statcast do not provide individual or aggregated swing duration times (T). It is derived using the player's swing length (s) and swing speed (v): T = s / mean(v), where the mean is integrated from the imputed Bat Speed value. This makes it a "representative swing" for that player and bat side, not necessarily any individual observed one. It assumes Baseball Savant's swing start window for swing_length matches the card's t = 0.
Derivative Kinematics: Acceleration and Jerk are derived using a Savitzky–Golay filter (window 15, cubic). Note: Jerk is a third derivative of a curve digitized at roughly 0.9 mph resolution. Read its shape, not its precise magnitude. The first and last few samples are trimmed from the plotted derivatives, where the edge fit is least trustworthy.
Sanity Check: The card's imputed speed at contact and the player's avg_bat_speed via Baseball Savant are independent measurements of the same quantity. When they differ by more than 2 mph, the two sources are not describing the same swings, and the duration is flagged as suspect (Bat Speed description highlighted in yellow).