
LF · 2026
Thomas Saggese
- Age
- 24
- B/T
- R/R
- Height
- 5' 10"
- Weight
- 185 lb
- Number
- #25
- Born
- April 10, 2002 in Carlsbad, CA, USA
- MLB debut
- September 10, 2024
- Drafted
- 2020, round 5
- High school
- Carlsbad
- dbWAR
- .0 3 season(s)
- PA
- 82
- AVG
- .184
- OBP
- .244
- SLG
- .276
- wRC+
- 45 100 = avg
Thomas Saggese is a left fielder for the St. Louis Cardinals. In 2026 he hit 1 home run and knocked in 4 RBIs, notching 14 hits across 82 plate appearances in 28 games. His batting average was .184, 24.4% lower than the league average of .244. He reached base at a .244 clip and slugged .276, for an OPS of .520, 27.7% lower than the league mark of .719. He averaged 88.9 mph off the bat, hit 38.0% of balls in play at 95 mph or better and made contact on 67.0% of his swings. Adjusted for his ballpark and league, his 45 wRC+ puts his offence 55% below average. That comes to -0.4 dbWAR — -5.5 runs with the bat, -0.7 on the bases, -0.2 for the position he plays, against replacement level. It includes no fielding: defensive runs are proprietary and are not estimated here, so the figure credits playing a demanding position but not playing it well.
League context
Percentile among qualified batters, 2026.
How the WAR is built
Runs above replacement, 2026. These four terms sum to -3.7 runs, divided by runs-per-win to give WAR.
WAR by season
Platoon splits
How he hits left- and right-handed pitching.
| Split | PA | AB | H | HR | BB | SO | AVG | OBP | SLG | wOBA | K% |
|---|---|---|---|---|---|---|---|---|---|---|---|
| vs LHP | 28 | 24 | 5 | 1 | 4 | 9 | .208 | .321 | .417 | .330 | 32.1% |
| vs RHP | 54 | 52 | 9 | 0 | 2 | 17 | .173 | .204 | .212 | .189 | 31.5% |
Spray chart
Where every ball he put in play landed, 2026.
Loading 50 batted balls…
Hot and cold zones
Batting average by pitch location, 2026.
Situational hitting
How Thomas Saggese hits by base state, outs, score and late-game pressure — each read against his own season line.
| Situation | PA | AB | H | HR | RBI | BB | SO | AVG | OBP | SLG | wOBA |
|---|---|---|---|---|---|---|---|---|---|---|---|
| All situations | 82 | — | — | — | — | — | — | .184 | .244 | .276 | .237 |
| Bases empty | 47 | 44 | 10 | 1 | 2 | 3 | 15 | .227 | .277 | .341 | .275 |
| Runner on first · thin | 17 | 15 | 1 | 0 | 0 | 2 | 4 | .067 | .176 | .067 | .138 |
| Runners on | 35 | 32 | 4 | 0 | 2 | 3 | 11 | .125 | .200 | .188 | .186 |
| RISP · thin | 18 | 17 | 3 | 0 | 2 | 1 | 7 | .176 | .222 | .294 | .232 |
Runners on includes runners in scoring position, which is the convention every reference uses. Rows under 25 plate appearances are marked thin — at that size a rate moves several dozen points on one hit. Counted from play-by-play, 2026.
Batting
Standard and advanced, by season.
| Trend | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026 | 28 | 82 | 14 | 1 | 4 | 1 | 6 | 26 | .184 | .244 | .276 | .092 | .265 | 7.3% | 31.7% | .237 | -5.5 | 45 | -0.4 | |
| 2025 | 81 | 295 | 71 | 2 | 25 | 3 | 16 | 83 | .258 | .299 | .342 | .084 | .359 | 5.4% | 28.1% | .285 | -7.4 | 81 | 0.5 | |
| 2024 | 14 | 52 | 10 | 1 | 4 | 0 | 2 | 14 | .204 | .250 | .306 | .102 | .265 | 3.8% | 26.9% | .248 | -2.7 | 55 | -0.1 |
Head to head
Put Thomas Saggese beside up to three others.
wOBA uses linear weights measured from this season's own play-by-play rather than published constants, and wRC+ is park-adjusted against that same league. dbWAR is our own open implementation — not fWAR or bWAR — and the full derivation, including its simplifications, is on the methodology page.