Justin Choi's Avatar

Justin Choi

@justinochoi

Cleveland Guardians R&D. Past: Nationals, Baseball Prospectus, FanGraphs.

1,551
Followers
220
Following
147
Posts
07.11.2024
Joined
Posts Following

Latest posts by Justin Choi @justinochoi

If you're planning to be at the SABR Analytics conference, feel free to reach out so we can connect!

26.02.2026 01:35 πŸ‘ 3 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0

so far tonight bad bunny has sung more reggaeton songs than the patriots and seahawks combined

09.02.2026 01:38 πŸ‘ 7231 πŸ” 851 πŸ’¬ 59 πŸ“Œ 10

Wow, that's a lot more often than I was expecting, especially for something so subjective

26.01.2026 02:03 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I rarely watch football, how common are penalties for unsportsmanlike conduct??

26.01.2026 01:59 πŸ‘ 0 πŸ” 0 πŸ’¬ 3 πŸ“Œ 0
Statistical rethinking 2 with rstan and the tidyverse

The 0.5.0 version of my {brms} + {tidyverse} translation of McElreath's "Statistical Rethinking" (2nd ed) is up!

solomon.quarto.pub/sr2/

1/3

#rstats

14.01.2026 15:08 πŸ‘ 117 πŸ” 31 πŸ’¬ 3 πŸ“Œ 0

i wanna be sworn into office with this book

12.01.2026 18:33 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I wasn't able to contribute this year, but I'm definitely putting in an order – and I highly recommend that you do the same!

12.01.2026 18:28 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Under the Hood of The Aging Hitter | Baseball Prospectus As always, there are hidden taxes.

"The result isn’t optimization, it’s about survival"

Really enjoyed working on this piece with @jrodrigues39.bsky.social on how swings age, building off work from @justinochoi.bsky.social. Link to the code behind it below!
www.baseballprospectus.com/news/article...

08.01.2026 15:35 πŸ‘ 9 πŸ” 4 πŸ’¬ 1 πŸ“Œ 0

Hi, BlueSky converts. Probably deserves some updating, but here's a list of baseball analytics nerds if that's up your alley.

go.bsky.app/GZjLuxK

02.01.2026 20:28 πŸ‘ 37 πŸ” 17 πŸ’¬ 2 πŸ“Œ 1

Really enjoyed this article from @benclemens.bsky.social!

02.12.2025 20:49 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Seeking nominations for 2026 SABR Analytics Conference Research Awards – Society for American Baseball Research

Hey, SABR hasn't put both its feet into bluesky yet (I know, a lot of its people have) but this is a good time to remind you that the SABR Analytics Conference Research Awards are open for nominations.

When you have a few minutes, please nominate some of your favorite baseball research from 2025.

17.11.2025 19:54 πŸ‘ 35 πŸ” 24 πŸ’¬ 1 πŸ“Œ 2

The code is all here! The raw data is masked, as that is proprietary @baseballprospectus.com data. But BP subscribers should be able to access the same data via the leaderboards to recreate a Fully Operational simulation:

github.com/bwoodrum3/ws...

02.11.2025 19:43 πŸ‘ 6 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Preview
GitHub - justinochoi/bayesian_aging_curves Contribute to justinochoi/bayesian_aging_curves development by creating an account on GitHub.

To do this, I implemented the Heckman correction method using a custom likelihood in PyMC. Details here!

github.com/justinochoi/...

01.11.2025 20:06 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Bat speed aging curve comparing two methods, one with no correction for age and another that corrects for age (fewer younger players and older players)

Bat speed aging curve comparing two methods, one with no correction for age and another that corrects for age (fewer younger players and older players)

Bat speed aging curve, but this time I account for the fact that we are less likely to observe very young/old players. The corrected curve declines less rapidly early and more rapidly later compared to the regular curve, which seems like the correct inference:

01.11.2025 20:05 πŸ‘ 18 πŸ” 6 πŸ’¬ 2 πŸ“Œ 0
Video thumbnail

Game 6 ends on a game-winning double play. The Dodgers managed to escape the ninth inning and force a Game 7.

Incredible stuff.

01.11.2025 03:15 πŸ‘ 9 πŸ” 3 πŸ’¬ 1 πŸ“Œ 5
Alex spots a baseball player and in disbelief, she clasps her hands to the sides of her face and says "WOW! Trey Yesavage! You're my hero!" Trey Yesavage points to himself with this thumb and nonchalantly states "I was born after 9/11. Alex's face rapidly ages, melting into a heap of loose skin and wrinkles. John Schneider grabs Yesaage by the shoulder and says "Kid, you gotta stop introducing yourself to people that way."

Alex spots a baseball player and in disbelief, she clasps her hands to the sides of her face and says "WOW! Trey Yesavage! You're my hero!" Trey Yesavage points to himself with this thumb and nonchalantly states "I was born after 9/11. Alex's face rapidly ages, melting into a heap of loose skin and wrinkles. John Schneider grabs Yesaage by the shoulder and says "Kid, you gotta stop introducing yourself to people that way."

24.10.2025 16:58 πŸ‘ 5571 πŸ” 783 πŸ’¬ 41 πŸ“Œ 36

Is AWS being down an omen about the fate of the Mariners

20.10.2025 15:04 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Alright third of the way there, keep it up boys

15.10.2025 03:02 πŸ‘ 6 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Game state when Sal Frelick came up B8, which says to keep Snell in.

Game state when Sal Frelick came up B8, which says to keep Snell in.

Game state at the end of the inning, which says to pull Snell.

Game state at the end of the inning, which says to pull Snell.

Gotta give props to last year’s #SMTDataChallenge winners, who created the Snell Tool (snelltool.com), which tells when to pull the starting pitcher. Tried it with Snell just now, and it said to pull him after the 8th. Looks like Dave Roberts agrees!

14.10.2025 03:01 πŸ‘ 7 πŸ” 2 πŸ’¬ 2 πŸ“Œ 0

Yeah just gonna need Yamamoto, Ohtani, and Glasnow to throw CGSOs. Thanks

14.10.2025 03:06 πŸ‘ 9 πŸ” 0 πŸ’¬ 0 πŸ“Œ 1

how about "projection onto the vector space spanned by the columns of the data"

01.10.2025 15:05 πŸ‘ 4 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image Post image

{gm} - Create music with R: flujoo.github.io/gm/

#RStats bookmark from old twitter

25.09.2025 21:50 πŸ‘ 33 πŸ” 14 πŸ’¬ 0 πŸ“Œ 1

This is arguably somewhat a team effect, since different teams will have different reports on what pitches to throw to whom (which the catchers use)

Would be interesting to see if this effect persists even if a catchers switches teams

25.09.2025 23:47 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

The 2026 Big Data Bowl #BigDataBowl is live!

Participants can sign up for two competitions:
- leaderboard
- traditional analytics competition

This year's task: predict/understand player movement when the ball is in the air

25.09.2025 16:01 πŸ‘ 11 πŸ” 10 πŸ’¬ 1 πŸ“Œ 1

running mcmc satisfies my dopamine cravings

25.09.2025 16:24 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

60 home runs for Cal Raleigh. Incredible.

25.09.2025 03:53 πŸ‘ 212 πŸ” 47 πŸ’¬ 6 πŸ“Œ 38
Preview
Luis GarcΓ­a Jr. strikes out swinging. | 08/08/2024 Luis GarcΓ­a Jr. strikes out swinging.

Why did Luis GarcΓ­a Jr. get fooled so badly on this pitch?

In my article representation of my SaberSeminar presentation, I answer just that and explain how visual uncertainty influences pitch tracking and helps to explain swings.

Link below.
www.mlb.com/video/luis-g...

22.09.2025 16:02 πŸ‘ 4 πŸ” 3 πŸ’¬ 1 πŸ“Œ 1

I don't think it will make *that* much of a difference because the normal approximation to everything is good enough, but this is definitely more flexible and rigorous!

16.09.2025 19:42 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
An example of the "generalized" dynamic dead zone, using Edwin Diaz's 2024 sliders. There are contour plots of his actual slider movement, conditional movement given release characteristics using the DDZ method, and the same thing, but with the GDDZ.

An example of the "generalized" dynamic dead zone, using Edwin Diaz's 2024 sliders. There are contour plots of his actual slider movement, conditional movement given release characteristics using the DDZ method, and the same thing, but with the GDDZ.

Working on a "generalized" version of dynamic dead zone (DDZ) that doesn't require any assumptions about the variables' distributions. You only need to specify the covariance structure, which is Gaussian for the sake of convenience:

16.09.2025 19:41 πŸ‘ 4 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Every so often we check in on the models

16.09.2025 14:17 πŸ‘ 4 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0