I played centerfield for the first time in my life last night. I’m in this men’s wood bat league out here in Indiana and pretty much half the team couldn’t make it last night, so we really had to mix it up. I have always played the infield. Although by “always” I just mean in Little League and in non-competitive softball leagues I’ve played in. I didn’t play baseball in school at all, and this men’s league I joined a few years back was the first time I had ever even swung a wood bat. But I’m decently athletics and I can still run, so I got put in centerfield because none of our usual outfielders were there.
And I did just fine. There were a handful of balls hit out there and I was able to grab them all and I think I looked pretty decent doing it. But you realize quickly that playing the outfield is mostly just about your vision. I talked about this with Tommy Pham a few weeks ago. Being good at sports begins with your eyes working. More specifically, your two eyes working properly in conjunction with each other to locate objects in three-dimension space. My dad has really bad eyes. He’s basically never had any depth perception. So he can’t catch a ball. Or at least he needs to get lucky to catch a ball that you throw at him. I used to think he was just really unathletic, but now I realize that when he’s trying to catch something, he’s trying to do it with one eye. Have you ever covered one eye and then tried to catch something or shoot a basketball or something? It’s way harder. You need both eyes to locate things 3D space, so if you don’t have two good eyes you’re totally cooked.
Somehow I got really lucky and I have good eyes. It’s not all about that in the outfield I guess, but that’s the first thing. After you see the ball and know where it’s going, you’ve gotta get your body there. But it all starts with vision. Take care of your eyes, folks. Of course, I’m saying this as an overconfident 34 year old. I have had to wear glasses/contacts since I was a teenager, so I will probably end up pretty blind by the time I’m 50 and then I’ll suck at baseball. But I’m kind of good now, and it’s a lot of fun. We lost 6-1 to go to 0-5 for the season, by the way. But that’s fine with me, I actually kind of prefer to lose.
I have continued to develop the new Pitcher Luck stuff. This was something I should have had done a long time ago, but we’re getting there. The tools and reports have gotten better and better every year, and a lot of cool stuff has come out of this 2025 season. And this is a big one, and you’ll hear me mention this stuff a lot in the future.
We’re using three things to determine pitcher luck:
→ BABIP
→ HR/FB
→ RISP H%
I went over RISP H% in this X thread on Saturday, and I’ll have a full post on here about to save off as an “evergreen” article soon.
This morning, I’ve taken those three things and combined them to make a single number. I weigh them all evenly and then adjust it to the classic “100 is average” scale. It’s not perfect since pitchers are somewhat responsible for some parts of each thing. But I do think we’ll see consistent regression to the mean in these scores, which makes it pretty useful.
Your least-lucky pitchers of the year:
And your most lucky:
Guys like Skubal, Skenes, Fried, etc. will probably consistently turn in more favorable luck scores. They are guys who generate soft contact consistently. So there’s a pitfall of this, but it’s a pretty tough thing to workaround. But just keep that in mind when you’re looking at this data. Some pitchers can do things other guys can’t do because of consistently great command.
I put it all together in this Google Sheet. It tracks season long, last 30 days, and last 15 days.
I’ve also added a section to the daily notes to show this daily.
And you’ll see that stuff on the dashboard now as well, as I showed on Saturday.
So that all took up most of my morning, and now I have little time left to write up stuff from the weekend. Here are your JA ERA leaders from Friday through Sunday:
There is not a ton to say. Gavin Williams had his best start of the season yesterday, but it came in that nice matchup with the road Athletics. The A’s are hitting .230/.289/.417 with a 25% K% on the road since June 1st. They still hit some dingers (9.1% Brl%, 26 PA/HR), but if you can keep the ball in the park you’re in really good shape in that matchup.
G-Willy kept it at just one walk. That’s been his problem this year. The walk rate is at 13%, an unforgivable number.
And I can’t say this start was a part of a larger trend, either.
He does have a huge 14.3% SwStr% and a 27% K% in July, but he’s faced the White Sox and Athletics to buoy those numbers.
What I can tell you is that he has the softest upcoming schedule in the league right now. His next two starts should be:
→ 7/25 at Royals
→ 7/30 at home vs. Rockies
Knowing that, should you add Gavin Williams?
Other quite appealing upcoming schedules for pitcher who might be available for you:
→ David Peterson (at SF, vs. SF)
→ Cade Horton (at CWS, vs BAL)
→ Slade Cecconi (vs. BAL, vs. COL)
→ Zebby Matthews (vs. WSH, at CLE)
→ Joey Cantillo (vs. BAL, at KC, vs. MIN)
That’s all available on the beautiful SP planner page on the streamlit app, which you can find in the resource glossary if you’re a paid member.
Some up-trending hitters:
Salvador Perez
Last 15: 13% K%, 527 xwOBA, .364 xBA
Last 30: 15% K%, .446 xwOBA, .324 xBA
Luis Robert
Last 15: 18% K%, .398 xwOBA, .280 xBA
Last 30: 22% K%, .340 xwOBA, .226 xBA
Edgar Quero
Last 15: 9% K%, .423 xwOBA, .318 xBA
Last 30: 15% K%, .347 xwOBA, .272 xBA
Carlos Correa
Last 15: 17% K%, .398 xwOBA, .322 xBA
Last 30: 18% K%, .372 xwOBA, .299 xBA
I grabbed those numbers from the (also newish) dashboard tab called Hit Time Split.
Zooming in on that table (it’s L30 data sorted by xwOBA with a 75 PA minimum):
You almost don’t even need me anymore, just use the tools.
I’m outta here, lots to get done today!
1. Joe Ryan
2. Tarik Skubal
3. Gavin Williams
4. Ryan Pepiot
5. Bryan Woo
6. Jeffrey Springs
7. Hunter Brown
8. Cade Horton
9. Kris Bubic
10. Andrew Abbott
11. Nick Pivetta
12. Garrett Crochet
13. Miles Mikolas
14. David Peterson
15. Grant Holmes
16. Aaron Civale
17. Jose Soriano
18. Jacob Latz
19. Clayton Kershaw
20. Merrill Kelly
21. Marcus Stroman
22. MacKenzie Gore
23. Trevor Rogers
24. Jose Berrios
25. Jose Quintana
26. Robbie Ray
27. German Marquez
28. Janson Junk
29. Andrew Heaney
30. Ranger Suarez
1. Joe Ryan (vs. COL): 36.75 Points
2. Gavin Williams (vs. ATH): 36.75 Points
3. Tarik Skubal (vs. TEX): 32.61 Points
4. Aaron Civale (vs. PIT): 27.1 Points
5. Nick Pivetta (vs. WSH): 23.1 Points
6. Jose Soriano (vs. PHI): 20.95 Points
7. Marcus Stroman (vs. ATL): 20.5 Points
8. Garrett Crochet (vs. CHC): 19.5 Points
9. Merrill Kelly (vs. STL): 19.3 Points
10. David Peterson (vs. CIN): 18.5 Points
1. Tarik Skubal (DET): 20 Whiffs (105 Pitches)
2. Gavin Williams (CLE): 19 Whiffs (96 Pitches)
3. Joe Ryan (MIN): 18 Whiffs (88 Pitches)
4. Ryan Pepiot (TB): 18 Whiffs (93 Pitches)
5. Cade Horton (CHC): 15 Whiffs (86 Pitches)
6. Garrett Crochet (BOS): 14 Whiffs (100 Pitches)
7. Bryan Woo (SEA): 14 Whiffs (91 Pitches)
8. Hunter Brown (HOU): 13 Whiffs (89 Pitches)
9. Grant Holmes (ATL): 13 Whiffs (100 Pitches)
10. David Peterson (NYM): 12 Whiffs (93 Pitches)
1. Joe Ryan (MIN): 61.4 Strike%, 23.9 Ball%
2. Tarik Skubal (DET): 59.0 Strike%, 28.6 Ball%
3. Ryan Pepiot (TB): 54.8 Strike%, 28.0 Ball%
4. Gavin Williams (CLE): 54.2 Strike%, 31.2 Ball%
5. Jeffrey Springs (OAK): 51.8 Strike%, 27.7 Ball%
6. Hunter Brown (HOU): 51.7 Strike%, 36.0 Ball%
7. Nick Pivetta (SD): 50.6 Strike%, 31.0 Ball%
8. Bryan Woo (SEA): 50.5 Strike%, 28.6 Ball%
9. Andrew Abbott (CIN): 49.5 Strike%, 30.5 Ball%
10. Aaron Civale (CWS): 46.8 Strike%, 38.3 Ball%
11. Merrill Kelly (ARI): 46.4 Strike%, 38.1 Ball%
12. Marcus Stroman (NYY): 46.3 Strike%, 34.7 Ball%
13. Trevor Rogers (BAL): 46.2 Strike%, 30.8 Ball%
14. Miles Mikolas (STL): 45.6 Strike%, 33.8 Ball%
15. Garrett Crochet (BOS): 45.0 Strike%, 36.0 Ball%
1. Kris Bubic: 66 Pitches, 15 Outs, 4.4 POUT
2. Jose Soriano: 93 Pitches, 21 Outs, 4.43 POUT
3. Gavin Williams: 96 Pitches, 21 Outs, 4.57 POUT
4. Janson Junk: 69 Pitches, 15 Outs, 4.6 POUT
5. Jose Quintana: 83 Pitches, 18 Outs, 4.61 POUT
6. Joe Ryan: 88 Pitches, 19 Outs, 4.63 POUT
7. Nick Pivetta: 87 Pitches, 18 Outs, 4.83 POUT
8. Jackson Rutledge: 54 Pitches, 11 Outs, 4.91 POUT
9. Trevor Rogers: 91 Pitches, 18 Outs, 5.06 POUT
10. Bryan Woo: 91 Pitches, 18 Outs, 5.06 POUT
Robbie Ray's FF velo (34 pitches) DOWN -1.6mph to 92.2
German Marquez's FF velo (18 pitches) DOWN -1.6mph to 93.6
Janson Junk's FF velo (28 pitches) DOWN -1.6mph to 92.3
Ranger Suarez's FF velo (15 pitches) DOWN -1.8mph to 90.0
Ranger Suarez's SI velo (34 pitches) DOWN -1.8mph to 88.9
Kris Bubic's FF velo (22 pitches) DOWN -2.0mph to 90.5
German Marquez's SI velo (19 pitches) DOWN -2.0mph to 92.6
Andrew Heaney's FF velo (35 pitches) DOWN -2.1mph to 89.0
Andrew Heaney's SI velo (11 pitches) DOWN -2.5mph to 87.0
Aaron Civale's FF usage (27.7%) up 15.4 points
Andrew Heaney's CS usage (15.9%) up 13.5 points
Clayton Kershaw's FS usage (16.0%) up 11.6 points
Garrett Crochet's ST usage (22.0%) up 11.0 points
Garrett Crochet's SI usage (18.0%) up 10.9 points
Gavin Williams's SI usage (21.9%) up 20.2 points
Grant Holmes's FC usage (29.0%) up 17.0 points
Jackson Rutledge's FF usage (37.0%) up 13.2 points
MacKenzie Gore's SL usage (16.0%) up 10.4 points
Robbie Ray's CH usage (29.5%) up 19.3 points
Kumar Rocker Cutter: +24.7%
Shane Baz Cutter: +20.2%
Kumar Rocker Slider: -18.1%
Brandon Pfaadt 4-Seam Fastball: -17.4%
Austin Gomber Split-Finger: -16.3%
Logan Allen 4-Seam Fastball: +16.0%
Dustin May Sinker: -16.0%
Jake Irvin Curveball: -15.0%
Reese Olson 4-Seam Fastball: +14.9%
Austin Gomber Curveball: +14.7%
Tyler Glasnow Sinker: +14.5%
Logan Allen Sweeper: -14.2%
Brandon Young 4-Seam Fastball: +14.1%
Brandon Young Cutter: -13.8%
Taijuan Walker Sinker: +13.5%
Jake Irvin 4-Seam Fastball: +12.9%
Gavin Williams 4-Seam Fastball: -12.8%
Grant Holmes 4-Seam Fastball: -12.5%
Jeffrey Springs Slider: -12.4%
Mitchell Parker Split-Finger: -12.4%
Paul Skenes 4-Seam Fastball: +12.3%
Taj Bradley Split-Finger: -12.3%
Bailey Falter 4-Seam Fastball: +12.3%
Robbie Ray 4-Seam Fastball: -12.2%
Chris Paddack - 38.0 RISP H%, 0.396 BABIP, 25.0 HR/FB, 180.0 Luck Score
Sonny Gray - 38.0 RISP H%, 0.431 BABIP, 20.0 HR/FB, 175.0 Luck Score
Lance McCullers Jr. - 40.0 RISP H%, 0.371 BABIP, 17.0 HR/FB, 163.0 Luck Score
Sandy Alcantara - 41.0 RISP H%, 0.339 BABIP, 20.0 HR/FB, 163.0 Luck Score
Andre Pallante - 53.0 RISP H%, 0.349 BABIP, 18.0 HR/FB, 163.0 Luck Score
Eduardo Rodriguez - 20.0 RISP H%, 0.5 BABIP, 46.0 HR/FB, 161.0 Luck Score
Andrew Heaney - 28.0 RISP H%, 0.333 BABIP, 50.0 HR/FB, 161.0 Luck Score
German Marquez - 30.0 RISP H%, 0.362 BABIP, 21.0 HR/FB, 160.0 Luck Score
Jack Flaherty - 25.0 RISP H%, 0.371 BABIP, 25.0 HR/FB, 159.0 Luck Score
Grant Holmes - 35.0 RISP H%, 0.353 BABIP, 17.0 HR/FB, 154.0 Luck Score
Eury Perez - 0.0 RISP H%, 0.139 BABIP, 7.0 HR/FB, 17.0 Luck Score
Bryan Woo - 9.0 RISP H%, 0.188 BABIP, 0.0 HR/FB, 19.0 Luck Score
Matthew Boyd - 0.0 RISP H%, 0.233 BABIP, 0.0 HR/FB, 25.0 Luck Score
Simeon Woods Richardson - 0.0 RISP H%, 0.195 BABIP, 10.0 HR/FB, 28.0 Luck Score
Randy Vasquez - 12.0 RISP H%, 0.216 BABIP, 0.0 HR/FB, 33.0 Luck Score
Trevor Rogers - 9.0 RISP H%, 0.2 BABIP, 8.0 HR/FB, 34.0 Luck Score
Ryan Gusto - 10.0 RISP H%, 0.237 BABIP, 0.0 HR/FB, 35.0 Luck Score
Nick Pivetta - 7.0 RISP H%, 0.217 BABIP, 9.0 HR/FB, 36.0 Luck Score
Gavin Williams - 0.0 RISP H%, 0.189 BABIP, 13.0 HR/FB, 38.0 Luck Score
Tyler Glasnow - 17.0 RISP H%, 0.214 BABIP, 0.0 HR/FB, 40.0 Luck Score
Sonny Gray - 78 TBF, 35.2% CSW%
George Kirby - 68 TBF, 34.7% CSW%
Cristopher Sanchez - 83 TBF, 34.1% CSW%
Nathan Eovaldi - 67 TBF, 33.3% CSW%
Zac Gallen - 73 TBF, 33.2% CSW%
Cade Horton - 67 TBF, 33.1% CSW%
Tarik Skubal - 69 TBF, 32.6% CSW%
Edward Cabrera - 71 TBF, 32.0% CSW%
Joe Ryan - 95 TBF, 31.8% CSW%
Landen Roupp - 66 TBF, 31.6% CSW%
Tarik Skubal - 69 TBF, 37.7% K%
Jack Flaherty - 67 TBF, 35.8% K%
Zack Wheeler - 84 TBF, 33.3% K%
Spencer Strider - 75 TBF, 33.3% K%
Dylan Cease - 71 TBF, 31.0% K%
Logan Gilbert - 68 TBF, 30.9% K%
Zac Gallen - 73 TBF, 30.1% K%
Luis Castillo - 70 TBF, 30.0% K%
Joe Ryan - 95 TBF, 29.5% K%
George Kirby - 68 TBF, 29.4% K%
Tarik Skubal - 69 TBF, 34.8% K-BB%
Zack Wheeler - 84 TBF, 32.1% K-BB%
Jack Flaherty - 67 TBF, 28.4% K-BB%
Dylan Cease - 71 TBF, 26.8% K-BB%
Joe Ryan - 95 TBF, 26.3% K-BB%
Zac Gallen - 73 TBF, 26.0% K-BB%
Sonny Gray - 78 TBF, 25.6% K-BB%
Nathan Eovaldi - 67 TBF, 25.4% K-BB%
George Kirby - 68 TBF, 25.0% K-BB%
Matthew Boyd - 72 TBF, 25.0% K-BB%
Jose Soriano - 98 TBF, 77.3% GB%
Cristopher Sanchez - 83 TBF, 70.0% GB%
Kris Bubic - 73 TBF, 64.2% GB%
Clay Holmes - 88 TBF, 63.6% GB%
David Peterson - 75 TBF, 58.2% GB%
Jake Irvin - 71 TBF, 58.0% GB%
Nathan Eovaldi - 67 TBF, 57.8% GB%
Edward Cabrera - 71 TBF, 56.9% GB%
Quinn Priester - 68 TBF, 55.6% GB%
Noah Cameron - 70 TBF, 55.3% GB%
Anthony DeSclafani - 48 TBF, 29.2 K%, 2.1 BB%, 45.2% GB%
Framber Valdez - 52 TBF, 32.7 K%, 3.8 BB%, 59.4% GB%
Garrett Crochet - 108 TBF, 27.8 K%, 4.6 BB%, 53.4% GB%
George Kirby - 68 TBF, 29.4 K%, 4.4 BB%, 43.2% GB%
Luis Castillo - 70 TBF, 30.0 K%, 5.7 BB%, 45.5% GB%
Nathan Eovaldi - 67 TBF, 28.4 K%, 3.0 BB%, 57.8% GB%
Noah Cameron - 70 TBF, 28.6 K%, 4.3 BB%, 55.3% GB%
Quinn Priester - 68 TBF, 27.9 K%, 5.9 BB%, 55.6% GB%
Sonny Gray - 78 TBF, 28.2 K%, 2.6 BB%, 49.1% GB%
Joe Ryan - +2.3% CSW%, -1.6 BB%
Sonny Gray - +4.3% CSW%, -3.4 BB%
Antonio Senzatela - +2.4% CSW%, -4.0 BB%
Zac Gallen - +3.5% CSW%, -3.3 BB%
Clayton Kershaw - +2.1% CSW%, -3.1 BB%
Edward Cabrera - +2.4% CSW%, -10.7 BB%
Quinn Priester - +3.0% CSW%, -2.7 BB%
Nathan Eovaldi - +4.0% CSW%, -3.3 BB%
Logan Allen - +2.3% CSW%, -2.9 BB%
Paul Skenes - +2.9% CSW%, -4.6 BB%
Eury Perez - +4.7% CSW%, -6.6 BB%
Cal Quantrill - +4.1% CSW%, -5.3 BB%
Zack Wheeler - +2.8% CSW%, -3.8 BB%
Anthony DeSclafani - +4.3% CSW%, -2.5 BB%
Eugenio Suarez (ARI) 4 PA, 7 Swings, 2 Barrels, 2 HR
Mike Tauchman (CWS) 4 PA, 9 Swings, 2 Barrels, 1 HR
Royce Lewis (MIN) 4 PA, 5 Swings, 2 Barrels, 2 HR
Salvador Perez (KC) 4 PA, 8 Swings, 2 Barrels, 1 HR
Taylor Trammell (HOU) 5 PA, 11 Swings, 2 Barrels, 1 HR
Taylor Ward (LAA) 5 PA, 7 Swings, 2 Barrels, 0 HR
Wilyer Abreu (BOS) 4 PA, 5 Swings, 2 Barrels, 2 HR
Carlos Narvaez, Yesterday: 111.2 Previous High: 110.8
Connor Joe, Yesterday: 113.3 Previous High: 112.5
Giancarlo Stanton (NYY) - 115.4mph - single
Ronald Acuna Jr. (ATL) - 113.7mph - home_run
Yandy Diaz (TB) - 113.4mph - single
Connor Joe (CIN) - 113.3mph - single
Giancarlo Stanton (NYY) - 112.8mph - single
Matt Wallner (MIN) - 112.2mph - home_run
Eugenio Suarez (ARI) - 111.7mph - home_run
Vladimir Guerrero Jr. (TOR) - 111.3mph - field_out
Carlos Narvaez (BOS) - 111.2mph - double
Dalton Rushing (LAD) - 111.1mph - sac_fly
Top 10
Ian Happ - 80 PA, 0.222 wOBA, 0.342 xwOBA, 0.12 Diff
Jac Caglianone - 72 PA, 0.179 wOBA, 0.295 xwOBA, 0.116 Diff
Gavin Sheets - 75 PA, 0.294 wOBA, 0.397 xwOBA, 0.103 Diff
Anthony Volpe - 77 PA, 0.24 wOBA, 0.342 xwOBA, 0.102 Diff
Andrew McCutchen - 73 PA, 0.276 wOBA, 0.363 xwOBA, 0.087 Diff
Chase Meidroth - 75 PA, 0.223 wOBA, 0.305 xwOBA, 0.082 Diff
Jo Adell - 83 PA, 0.367 wOBA, 0.443 xwOBA, 0.076 Diff
Maikel Garcia - 81 PA, 0.247 wOBA, 0.318 xwOBA, 0.071 Diff
Jazz Chisholm - 77 PA, 0.405 wOBA, 0.474 xwOBA, 0.069 Diff
Daylen Lile - 61 PA, 0.295 wOBA, 0.362 xwOBA, 0.067 Diff
Bottom 10
Eugenio Suarez - 84 PA, 0.448 wOBA, 0.33 xwOBA, -0.118 Diff
Kyle Stowers - 74 PA, 0.565 wOBA, 0.451 xwOBA, -0.114 Diff
Cody Bellinger - 83 PA, 0.434 wOBA, 0.324 xwOBA, -0.11 Diff
Jose Altuve - 84 PA, 0.447 wOBA, 0.341 xwOBA, -0.106 Diff
Chandler Simpson - 72 PA, 0.36 wOBA, 0.271 xwOBA, -0.089 Diff
Angel Martinez - 74 PA, 0.353 wOBA, 0.27 xwOBA, -0.083 Diff
Mauricio Dubon - 68 PA, 0.315 wOBA, 0.235 xwOBA, -0.08 Diff
Caleb Durbin - 60 PA, 0.431 wOBA, 0.352 xwOBA, -0.079 Diff
Zach McKinstry - 69 PA, 0.443 wOBA, 0.364 xwOBA, -0.079 Diff
Alek Thomas - 68 PA, 0.307 wOBA, 0.23 xwOBA, -0.077 Diff
Salvador Perez: 35.0 PA, +0.295 xwOBA OE
Nick Kurtz: 39.0 PA, +0.182 xwOBA OE
Ronald Acuna Jr.: 37.0 PA, +0.168 xwOBA OE
Bryce Harper: 41.0 PA, +0.167 xwOBA OE
Shohei Ohtani: 39.0 PA, +0.165 xwOBA OE
Corey Seager: 44.0 PA, +0.16 xwOBA OE
Carlos Correa: 31.0 PA, +0.148 xwOBA OE
Andrew Vaughn: 30.0 PA, +0.142 xwOBA OE
Kyle Schwarber: 42.0 PA, +0.117 xwOBA OE
Bo Bichette: 37.0 PA, +0.115 xwOBA OE
Jorge Polanco: 33.0 PA, +0.111 xwOBA OE
Aaron Judge: 39.0 PA, +0.108 xwOBA OE
Fernando Tatis Jr.: 41.0 PA, +0.108 xwOBA OE
Zach Neto: 48.0 PA, +0.101 xwOBA OE
Eugenio Suarez: 42.0 PA, +0.098 xwOBA OE
Jonah Heim: 34.0 PA, -0.166 xwOBA OE
Ke'Bryan Hayes: 33.0 PA, -0.156 xwOBA OE
Michael Toglia: 35.0 PA, -0.155 xwOBA OE
Colson Montgomery: 32.0 PA, -0.152 xwOBA OE
Lourdes Gurriel Jr.: 41.0 PA, -0.148 xwOBA OE
Mauricio Dubon: 32.0 PA, -0.144 xwOBA OE
Dane Myers: 30.0 PA, -0.144 xwOBA OE
Mookie Betts: 36.0 PA, -0.142 xwOBA OE
Jurickson Profar: 41.0 PA, -0.138 xwOBA OE
Steven Kwan: 34.0 PA, -0.137 xwOBA OE
Heliot Ramos: 38.0 PA, -0.136 xwOBA OE
Andy Pages: 36.0 PA, -0.128 xwOBA OE
James Wood: 33.0 PA, -0.124 xwOBA OE
Chandler Simpson: 37.0 PA, -0.121 xwOBA OE
Denzel Clarke: 33.0 PA, -0.119 xwOBA OE
Kyle Schwarber - 68 PA, 35 BIP, 11 Brls, 31.4 Brl%
Nick Kurtz - 65 PA, 31 BIP, 9 Brls, 29.0 Brl%
Aaron Judge - 67 PA, 38 BIP, 11 Brls, 28.9 Brl%
Jorge Soler - 45 PA, 25 BIP, 7 Brls, 28.0 Brl%
Michael Busch - 59 PA, 36 BIP, 9 Brls, 25.0 Brl%
Romy Gonzalez - 40 PA, 28 BIP, 7 Brls, 25.0 Brl%
Jo Adell - 69 PA, 45 BIP, 11 Brls, 24.4 Brl%
Juan Soto - 62 PA, 33 BIP, 8 Brls, 24.2 Brl%
Salvador Perez - 64 PA, 51 BIP, 12 Brls, 23.5 Brl%
Harrison Bader - 41 PA, 26 BIP, 6 Brls, 23.1 Brl%
Corey Seager - 71 PA, 0.52 xwOBA
Salvador Perez - 64 PA, 0.515 xwOBA
Aaron Judge - 67 PA, 0.485 xwOBA
Michael Busch - 59 PA, 0.463 xwOBA
Jazz Chisholm - 64 PA, 0.449 xwOBA
Nick Kurtz - 65 PA, 0.446 xwOBA
Wilyer Abreu - 46 PA, 0.444 xwOBA
Trent Grisham - 39 PA, 0.44 xwOBA
Romy Gonzalez - 40 PA, 0.437 xwOBA
Randy Arozarena - 69 PA, 0.434 xwOBA
Isiah Kiner-Falefa - 49 PA, 85 Swings, 90.6 Cont%
Luis Arraez - 70 PA, 116 Swings, 90.5 Cont%
Xavier Edwards - 69 PA, 119 Swings, 89.9 Cont%
Chandler Simpson - 56 PA, 89 Swings, 89.9 Cont%
Ernie Clement - 67 PA, 116 Swings, 89.7 Cont%
Bryson Stott - 44 PA, 65 Swings, 89.2 Cont%
Chase Meidroth - 61 PA, 92 Swings, 89.1 Cont%
Liam Hicks - 42 PA, 55 Swings, 89.1 Cont%
Nathan Lukes - 51 PA, 100 Swings, 89.0 Cont%
Alejandro Kirk - 55 PA, 107 Swings, 88.8 Cont%
Jose Ramirez - 5 Attempts (4 steals)
Julio Rodriguez - 5 Attempts (4 steals)
Fernando Tatis Jr. - 4 Attempts (3 steals)
Luis Robert - 3 Attempts (3 steals)
Jackson Chourio - 3 Attempts (1 steals)
Jon Berti - 3 Attempts (2 steals)
Colton Cowser - 3 Attempts (3 steals)
Lawrence Butler - 3 Attempts (2 steals)
Xander Bogaerts - 3 Attempts (3 steals)
Zach McKinstry - 3 Attempts (3 steals)
Gunnar Henderson - 3 Attempts (2 steals)
John Rave - 2 Attempts (1 steals)
Cal Raleigh - 2 Attempts (2 steals)
Masyn Winn - 2 Attempts (2 steals)
Kyle Higashioka - 2 Attempts (2 steals)
Noelvi Marte - 2 Attempts (1 steals)
Zach Neto - 2 Attempts (2 steals)
Tyler Tolbert - 2 Attempts (1 steals)
Victor Scott II - 2 Attempts (2 steals)
Angel Martinez - 2 Attempts (1 steals)
Oneil Cruz - 2 Attempts (2 steals)
Pete Crow-Armstrong - 2 Attempts (1 steals)
Bobby Witt Jr. - 2 Attempts (1 steals)
Cedric Mullins - 2 Attempts (2 steals)
Josh Lowe - 2 Attempts (0 steals)
Evan Carter - 2 Attempts (1 steals)
Addison Barger - 2 Attempts (1 steals)
Javier Baez - 2 Attempts (2 steals)
Ivan Herrera - 2 Attempts (2 steals)
Jack Suwinski - 2 Attempts (1 steals)
Jacob Young - 2 Attempts (1 steals)
George Springer - 2 Attempts (2 steals)
Geraldo Perdomo - 2 Attempts (2 steals)
Hye Seong Kim - 2 Attempts (2 steals)
Wyatt Langford - 2 Attempts (2 steals)
Elly De La Cruz - 2 Attempts (2 steals)
Ha-Seong Kim - 2 Attempts (2 steals)
Isaac Collins - 2 Attempts (2 steals)
Jake Mangum - 2 Attempts (2 steals)
Jordan Beck - 2 Attempts (1 steals)
Zach McKinstry - 11 Attempts (9 steals)
Chandler Simpson - 11 Attempts (8 steals)
Jose Ramirez - 10 Attempts (9 steals)
Julio Rodriguez - 8 Attempts (7 steals)
Fernando Tatis Jr. - 8 Attempts (7 steals)
Zach Neto - 8 Attempts (6 steals)
Tyler Freeman - 8 Attempts (6 steals)
Cedric Mullins - 7 Attempts (6 steals)
Jacob Young - 7 Attempts (5 steals)
Pete Crow-Armstrong - 7 Attempts (5 steals)
Trea Turner - 7 Attempts (6 steals)
Evan Carter - 7 Attempts (6 steals)
Dane Myers - 7 Attempts (6 steals)
Anthony Volpe - 65 PA, 16.9 K%, 18.9 Brl%
Austin Wells - 39 PA, 17.9 K%, 16.7 Brl%
Bobby Witt Jr. - 70 PA, 20.0 K%, 17.6 Brl%
Brett Baty - 42 PA, 19.0 K%, 17.2 Brl%
Carson Kelly - 43 PA, 9.3 K%, 18.2 Brl%
Ceddanne Rafaela - 58 PA, 10.3 K%, 14.0 Brl%
Jazz Chisholm - 64 PA, 17.2 K%, 22.2 Brl%
Ketel Marte - 50 PA, 14.0 K%, 14.3 Brl%
Noelvi Marte - 44 PA, 18.2 K%, 15.6 Brl%
Salvador Perez - 64 PA, 12.5 K%, 23.5 Brl%
Trevor Story - 65 PA, 16.9 K%, 14.0 Brl%
Will Smith - 46 PA, 13.0 K%, 16.1 Brl%
Kyle Stowers - 95 PA, +0.131 xwOBA
Jazz Chisholm - 104 PA, +0.124 xwOBA
Jo Adell - 109 PA, +0.118 xwOBA
Geraldo Perdomo - 122 PA, +0.118 xwOBA
Salvador Perez - 96 PA, +0.109 xwOBA
Michael Busch - 92 PA, +0.106 xwOBA
Corey Seager - 109 PA, +0.105 xwOBA
George Springer - 98 PA, +0.088 xwOBA
Ceddanne Rafaela - 93 PA, +0.087 xwOBA
Zach Neto - 100 PA, +0.079 xwOBA
Juan Soto - 101 PA, +14.8 Brl%
Jazz Chisholm - 104 PA, +13.0 Brl%
Kyle Stowers - 95 PA, +10.9 Brl%
Alec Burleson - 101 PA, +9.8 Brl%
Jo Adell - 109 PA, +9.5 Brl%
Willy Adames - 98 PA, +8.7 Brl%
Kyle Schwarber - 107 PA, +8.5 Brl%
Agustin Ramirez - 101 PA, +8.5 Brl%
Seiya Suzuki - 107 PA, +8.1 Brl%
Michael Busch - 92 PA, +7.9 Brl%
Tyler Soderstrom - 86 PA, +10.4 Cont%
Ceddanne Rafaela - 93 PA, +9.0 Cont%
Josh Bell - 85 PA, +7.9 Cont%
Josh Lowe - 88 PA, +7.9 Cont%
Jesus Sanchez - 93 PA, +7.4 Cont%
Cody Bellinger - 101 PA, +6.7 Cont%
Marcell Ozuna - 86 PA, +6.0 Cont%
Alejandro Kirk - 83 PA, +5.8 Cont%
Alec Burleson - 101 PA, +5.6 Cont%
Jacob Young - 87 PA, +5.4 Cont%
Ceddanne Rafaela - 93 PA, -13.7 K%
Elly De La Cruz - 103 PA, -11.7 K%
Josh Lowe - 88 PA, -11.4 K%
Trevor Story - 100 PA, -10.2 K%
Jesus Sanchez - 93 PA, -9.8 K%
C.J. Abrams - 103 PA, -9.2 K%
George Springer - 98 PA, -9.0 K%
Nick Gonzales - 95 PA, -8.4 K%
Zach McKinstry - 81 PA, -8.4 K%
Salvador Perez - 96 PA, -8.3 K%
Brice Turang: +3.47
Mookie Betts: +2.77
Pete Crow-Armstrong: +2.75
Luis Robert: +2.65
Andrew McCutchen: +2.45
Ben Rice: -2.52
Corbin Carroll: -2.45
Jonah Heim: -2.1
Ben Williamson: -2.08
Ozzie Albies: -2.08
J.P. Crawford - +5.0% Contact%, +5.9 mph exit velo, -3.8 Chase%
TJ Friedl - +3.7% Contact%, +6.6 mph exit velo, -7.6 Chase%
Otto Lopez - +5.3% Contact%, +5.7 mph exit velo, -8.3 Chase%
Alec Burleson - +4.6% Contact%, +4.5 mph exit velo, -20.0 Chase%
Jasson Dominguez - +8.0% Contact%, +5.6 mph exit velo, -6.5 Chase%
Ceddanne Rafaela - +8.7% Contact%, +4.7 mph exit velo, -7.8 Chase%
Tommy Pham - +11.7% Contact%, +7.1 mph exit velo, -11.9 Chase%
None!
James Wood - 49.3% Whiff%, 76.9% Weak%, 0.987 Cold Rating
Colson Montgomery - 49.2% Whiff%, 70.6% Weak%, 0.946 Cold Rating
Trevor Larnach - 33.3% Whiff%, 80.0% Weak%, 0.942 Cold Rating
Michael Toglia - 32.0% Whiff%, 72.2% Weak%, 0.891 Cold Rating
Andrew Benintendi - 29.8% Whiff%, 77.3% Weak%, 0.887 Cold Rating
Denzel Clarke - 33.9% Whiff%, 68.2% Weak%, 0.877 Cold Rating
Cam Smith - 36.0% Whiff%, 66.7% Weak%, 0.874 Cold Rating
Christian Yelich - 33.3% Whiff%, 68.4% Weak%, 0.873 Cold Rating
Freddie Freeman - 31.1% Whiff%, 68.4% Weak%, 0.84 Cold Rating
Rafael Devers - 29.9% Whiff%, 70.0% Weak%, 0.836 Cold Rating
Spencer Jones (NYY): 4/5, 4R, 2HR, 2RBI, 0SB, 40FPts
Junior Perez (OAK): 3/4, 2R, 1HR, 3RBI, 0SB, 31FPts
Trey Lipscomb (WSH): 3/4, 2R, 1HR, 2RBI, 0SB, 30FPts
Alan Trejo (TEX): 2/4, 3R, 1HR, 2RBI, 0SB, 27FPts
Billy Cook (PIT): 3/5, 2R, 1HR, 1RBI, 1SB, 27FPts
Sebastian Walcott (TEX): 2/4, 2R, 0HR, 2RBI, 1SB, 26FPts
Paul McIntosh (PHI): 3/4, 1R, 1HR, 1RBI, 0SB, 26FPts
Pascanel Ferreras (HOU): 3/5, 2R, 1HR, 2RBI, 0SB, 26FPts
Kevin Parada (NYM): 3/5, 2R, 0HR, 3RBI, 0SB, 26FPts
Denzer Guzman (LAA): 3/4, 1R, 1HR, 3RBI, 0SB, 26FPts
Miguel Ullola (HOU): 92 Pitches, 5IP, 0H, 0ER, 11K, 5BB, 34FPts
Connor Noland (CHC): 82 Pitches, 7IP, 5H, 0ER, 7K, 0BB, 30FPts
Carlos Carrasco (NYY): 76 Pitches, 7IP, 3H, 1ER, 7K, 0BB, 29FPts
Jackson Wolf (SD): 76 Pitches, 5IP, 4H, 1ER, 9K, 1BB, 28FPts
Blake Beers (OAK): 60 Pitches, 5IP, 1H, 0ER, 5K, 1BB, 24FPts
Cory Lewis (MIN): 74 Pitches, 5IP, 3H, 1ER, 6K, 2BB, 22FPts
Garrett Burhenn (DET): 62 Pitches, 5IP, 2H, 0ER, 4K, 1BB, 21FPts
Connelly Early (BOS): 73 Pitches, 5IP, 3H, 1ER, 6K, 0BB, 20FPts
Jack Mahoney - 694968 (COL): 73 Pitches, 5IP, 1H, 0ER, 3K, 0BB, 20FPts
Yu-Min Lin (ARI): 89 Pitches, 6IP, 7H, 3ER, 7K, 2BB, 20FPts
Spencer Jones (AAA - NYY) 287 PA 1.106 OPS
Carlos Cortes (AAA - OAK) 314 PA 1.017 OPS
Ryan Ward (AAA - LAD) 418 PA 1.017 OPS
Nick Solak (AAA - PIT) 265 PA 0.998 OPS
Luis Campusano (AAA - SD) 268 PA 0.997 OPS
Nathan Church (AAA - STL) 274 PA 0.992 OPS
Carlos Perez - 542208 (AAA - CHC) 266 PA 0.986 OPS
C.J. Kayfus (AAA - CLE) 340 PA 0.965 OPS
Tristin English (AAA - ARI) 274 PA 0.959 OPS
Rece Hinds (AAA - CIN) 274 PA 0.953 OPS
Jose Rojas (AAA - NYY) 320 PA 0.952 OPS
Brock Wilken (AA - MIL) 283 PA 0.942 OPS
Owen Caissie (AAA - CHC) 334 PA 0.93 OPS
JJ Wetherholt (AAA - STL) 299 PA 0.925 OPS
Cam Devanney (AAA - PIT) 296 PA 0.922 OPS
Chad Stevens (AAA - LAA) 331 PA 0.914 OPS
Blaine Crim (AAA - TEX) 344 PA 0.911 OPS
Samad Taylor (AAA - SEA) 399 PA 0.908 OPS
Corey Julks (AAA - CWS) 321 PA 0.905 OPS
Jonathon Long (AAA - CHC) 381 PA 0.904 OPS
Jonah Tong (AA - NYM) 84 IP 29.2% K-BB
Mitch Bratt (AA - TEX) 80 IP 26.8% K-BB
Troy Melton (AAA - DET) 75 IP 26.0% K-BB
Ty Johnson (AA - TB) 64 IP 23.6% K-BB
Jack Wenninger (AA - NYM) 91 IP 22.7% K-BB
Connelly Early (AA - BOS) 71 IP 22.5% K-BB
Sean Sullivan - 807743 (AA - COL) 61 IP 22.0% K-BB
Landon Harper (AA - nan) 69 IP 21.9% K-BB
Tekoah Roby (AAA - STL) 78 IP 21.5% K-BB
John Klein (AA - MIN) 71 IP 21.0% K-BB
Trey Supak (AA - TEX) 75 IP 20.9% K-BB
Allan Winans (AAA - NYY) 60 IP 20.8% K-BB
Michael McGreevy (AAA - STL) 75 IP 20.6% K-BB
Joander Suarez (AA - NYM) 71 IP 20.6% K-BB
Kohl Drake (AAA - TEX) 67 IP 20.5% K-BB
Brycen Mautz (AA - STL) 64 IP 20.1% K-BB
Logan Henderson (AAA - MIL) 72 IP 20.0% K-BB
Tyler Uberstine (AAA - BOS) 75 IP 19.5% K-BB
Brendan Beck (AAA - NYY) 77 IP 19.4% K-BB
Chen Zhong-Ao Zhuang (AA - OAK) 94 IP 19.3% K-BB
Jacob Lopez (14.0% Owned): Projected 5.4IP 2.33ER 5.02SO 1.68BB 14.61FPts
Eury Perez (45.5% Owned): Projected 5.13IP 2.06ER 4.55SO 1.53BB 14.23FPts
Bryce Elder (3.0% Owned): Projected 5.5IP 2.68ER 4.79SO 2.25BB 13.31FPts
Giancarlo Stanton - 27 PA, 1.388 OPS
Ryan Jeffers - 26 PA, 1.25 OPS
Caleb Durbin - 26 PA, 1.182 OPS
Cole Young - 29 PA, 1.15 OPS
Sean Murphy - 32 PA, 1.12 OPS
Andrew Vaughn - 27 PA, 1.1 OPS
Julio Rodriguez - 43 PA, 1.044 OPS
Angel Martinez - 39 PA, 1.037 OPS
Carlos Correa - 31 PA, 1.022 OPS
Jorge Polanco - 33 PA, 1.006 OPS
Chandler Simpson SS (27.0% Owned): Projected 0.86R 0.01HR 0.59RBI 0.44SO 0.63BB 0.6SB 10.75FPts
Drake Baldwin C (11.5% Owned): Projected 0.75R 0.24HR 0.89RBI 0.77SO 0.53BB 0.02SB 9.91FPts
Masyn Winn SS (42.0% Owned): Projected 0.83R 0.17HR 0.73RBI 0.6SO 0.27BB 0.11SB 9.86FPts
Nick Kurtz 1B (45.0% Owned): Projected 0.77R 0.25HR 0.81RBI 1.32SO 0.66BB 0.03SB 9.56FPts
Jordan Beck RF (10.5% Owned): Projected 0.7R 0.2HR 0.83RBI 1.18SO 0.21BB 0.12SB 9.36FPts
Tyler Freeman SS (10.5% Owned): Projected 0.82R 0.1HR 0.61RBI 0.54SO 0.27BB 0.17SB 9.04FPts
Jurickson Profar LF (44.0% Owned): Projected 0.81R 0.15HR 0.57RBI 0.81SO 0.57BB 0.06SB 8.95FPts
Xavier Edwards SS (41.0% Owned): Projected 0.68R 0.05HR 0.5RBI 0.55SO 0.44BB 0.24SB 8.89FPts
Alec Burleson RF (45.5% Owned): Projected 0.67R 0.16HR 0.8RBI 0.44SO 0.22BB 0.06SB 8.87FPts
Brandon Marsh LF (2.0% Owned): Projected 0.66R 0.12HR 0.72RBI 1.08SO 0.56BB 0.13SB 8.85FPts