← All projects
OBJ-01Major Leaguelive · Experiment

Read the Swing

Broadcast video freezes 1/30 of a second before contact. Pull, center or oppo? Guessing blindly gets you one in three.

Max Kepler mid-swing against Matt Moore, frozen just before contact
Clips
138
Per round
18
No-video
46%

Data it uses

The data lake →

18 clips per round. See how everyone’s doing on the results page.

Players watch a broadcast clip that freezes 2 frames (1/30 s) before the bat meets the ball and call it pull, center or oppo. Every round has six of each, so any strategy that ignores the video scores exactly 1 in 3. Beating that has to come from reading the swing.

Making sure the video is the only clue

  • 138 clips from 117 batters across the 2024 season, all hit 90–100 mph at 10–30°, clearly inside one direction. No single swing or park dominates.
  • Every clip’s contact frame was set by hand, frame by frame. Audio-based timing wasn’t precise enough: half the clips needed contact moved earlier.
  • Every freeze frame then passed a blind audit: reviewers who knew nothing about contact times judged whether the ball had already been hit.
  • Sound stays off until you answer, you get one viewing, and the buttons stay locked until the freeze.

What counts as proof

Beating 1 in 3 isn’t enough on its own. A “scouting report” that never watches the clip, using each hitter’s 2024 spray tendencies and the pitch location, gets about 46% right on these clips. So the hypotheses, fixed before collecting data along with a sample size of 60 sessions, are:

  1. Accuracy is above 1/3.
  2. On clips where the scouting report points the wrong way, accuracy is still above 1/3. Someone using only hitter and location priors scores below 1/3 there, so this is the clearest test of reading the swing itself.

Both are tested with mixed models across players and clips, so one prolific player or a few easy clips can’t carry the result. Simulated studies check the tests: pure guessing passes about 3% of the time, and a player who knows the priors perfectly but reads nothing from the video passes the first test 100% of the time and the second 0%.

Status

Collecting data. The analysis runs once 60 complete sessions are in, so every round you play counts.