
Subscribers get the full AI matchup breakdown here — the read on today’s spot, the pitches to attack, and the weather and park context.
Upgrade to unlock →
| Split | ERA | WHIP | K% | HR | HR/9 | AVG | SLG | ISO | OPS |
|---|---|---|---|---|---|---|---|---|---|
| vs LHB | -.-- | 1.73 | 17.4% | 6 | 2.81 | .316 | .582 | 0.266 | .962 |
| vs RHB | -.-- | 1.25 | 19.0% | 1 | 0.50 | .217 | .362 | 0.145 | .678 |
| Home | 6.08 | 1.39 | 13.9% | 3 | 1.16 | .258 | .427 | 0.169 | .764 |
| Away | 5.65 | 1.67 | 24.3% | 4 | 2.55 | .288 | .559 | 0.271 | .930 |
Day, night, and June lines appear once a starter has 3+ starts in that split, with the start count (GS) shown. Smaller samples are left off so a one or two start streak does not read as a trend.
| Date | Batter | Stand | Type | EV | Angle | Dist | Bat Spd | Pitch Velo | Result |
|---|---|---|---|---|---|---|---|---|---|
| 6/3 | Pfaadt, Brandon | L | 4-Seam FB | 105.5 | 9.0 | 166 | 71.0 | 93.3 | single |
| 6/3 | Pfaadt, Brandon | L | Curveball | 89.2 | 0.0 | 46 | 71.1 | 83.5 | single |
| 6/3 | Pfaadt, Brandon | L | Curveball | 105.1 | 20.0 | 309 | 72.0 | 83.2 | double |
| 6/3 | Pfaadt, Brandon | L | 4-Seam FB | 91.1 | -25.0 | 7 | 64.4 | 94.5 | field out |
| 6/3 | Pfaadt, Brandon | R | 4-Seam FB | 82.7 | 63.0 | 154 | 73.7 | 94.0 | field out |
| 5/29 | Pfaadt, Brandon | R | Sinker | 112.3 | 12.0 | 239 | 82.3 | 93.6 | double |
| 5/29 | Pfaadt, Brandon | R | Sinker | 92.7 | -17.0 | 6 | 70.1 | 92.9 | force out |
| 5/29 | Pfaadt, Brandon | L | 4-Seam FB | 98.5 | -2.0 | 45 | 64.4 | 93.3 | single |
| 5/29 | Pfaadt, Brandon | L | Changeup | 102.9 | 28.0 | 403 | 79.3 | 87.5 | home run |
| 5/29 | Pfaadt, Brandon | R | Sinker | 94.6 | 5.0 | 103 | 73.8 | 93.0 | field out |
| Date | IP | ER | HR | K |
|---|---|---|---|---|
| 5/20 (2026) | 1.0 | 0 | 0 | 0 |
| 9/17 (2025) | 9.0 | 0 | 0 | 7 |
| 7/3 (2025) | 6.0 | 4 | 0 | 8 |
| 5/13 (2025) | 4.0 | 4 | 1 | 3 |
| 9/24 (2024) | 2.2 | 4 | 2 | 4 |
| 8/3 (2023) | 7.0 | 1 | 1 | 7 |
| 5/14 (2023) | 5.0 | 1 | 1 | 5 |
| Date | Pitcher | Type | IP | ER |
|---|---|---|---|---|
| 6/29 | Eduardo RodriguezARI | LHP | 7.0 | 1 |
| 6/28 | Chris SaleATL | LHP | 6.0 | 1 |
| 6/27 | Bryce ElderATL | RHP | 4.0 | 5 |
| 6/26 | Reynaldo LópezATL | RHP | 3.0 | 1 |
| 6/25 | Jeffrey SpringsOAK | LHP | 5.1 | 3 |
| 6/24 | Gage JumpOAK | LHP | 5.0 | 0 |
| 6/23 | Aaron CivaleOAK | RHP | 4.0 | 2 |
| 6/21 | Ryan GustoMIA | RHP | 4.1 | 1 |
| 6/20 | Max MeyerMIA | RHP | 5.0 | 2 |
| 6/19 | Lake BacharMIA | RHP | 1.1 | 1 |
| 6/17 | JR RitchieATL | RHP | 5.0 | 5 |
| 6/17 | Grant HolmesATL | RHP | 2.0 | 3 |
| 6/16 | Grant HolmesATL | RHP | 2.0 | 3 |
| 6/14 | Ryan RolisonCHC | LHP | 1.1 | 0 |
| 6/13 | Ben BrownCHC | RHP | 5.0 | 1 |
| 6/12 | Javier AssadCHC | RHP | 6.0 | 0 |
| 6/10 | Foster GriffinWSH | LHP | 6.0 | 1 |
| 6/9 | Andrew AlvarezWSH | LHP | 4.0 | 2 |
| 6/8 | Richard LoveladyWSH | LHP | 1.0 | 0 |
| 6/7 | Jameson TaillonCHC | RHP | 1.0 | 1 |
| 6/6 | Ben BrownCHC | RHP | 5.1 | 0 |
| 6/5 | Edward CabreraCHC | RHP | 3.2 | 8 |
| 6/4 | Coleman CrowMIL | RHP | 2.1 | 6 |
| 6/3 | Robert GasserMIL | LHP | 5.0 | 1 |
| 6/2 | Kyle HarrisonMIL | LHP | 5.2 | 1 |
| 6/1 | Shane DrohanMIL | LHP | 4.0 | 2 |
| 5/31 | Tanner GordonCOL | RHP | 3.0 | 4 |
Opposing starters who faced SF over the last 30 days, newest first. The stat column follows the Earned Runs / Home Runs / Strikeouts tabs up top, so it shows how SF's lineup has handled run prevention lately.