Tue 7/08 | Wed 7/09 | Thu 7/10 |
---|---|---|
Starting @KCR 7:40 PM EDT | @KCR 7:40 PM EDT | --- |
Positions
SP
2026 Earned Positions
SP
All Leagues
Average $6.24
Median $6.00
Ottoneu Classic (4x4)
Average $5.76
Median $6.00
All Leagues
Average $3.50
Median $3.00
Ottoneu Classic (4x4)
Average $3.60
Median $3.00
Roster%
98.47%
Change
7Day
1.23%
30Day
0.92%
2025 OPL Round 3
OPL Roster%
11.00%
OPL Average Salary
$5.18

July 2, 2025 11:15 PM : Keller (3-10) earned the win against the Cardinals on Wednesday, allowing five hits and one walk while striking out seven batters in seven scoreless innings.
Analysis: Keller got off to a shaky start after letting the first three batters he faced on base, but he was able to escape the first frame unscathed. He was lights out after giving up two more baserunners in the third, retiring the last 11 batters he faced before the bullpen came in to complete the shutout and extend the Pittsburgh pitching staff's scoreless streak to 31 innings, per ESPN. Keller has won each of his last two outings after failing to record a win across his previous 15 starts, and he now has a 3.64 ERA and 1.19 WHIP across 106.1 innings this season. He's slated to start against the Royals on the road next week.
MLB Stats
Pitching
Year | Team | G | GS | IP | K | HR9 | ERA | WHIP |
---|---|---|---|---|---|---|---|---|
2019 | PIT | 11 | 11 | 48.0 | 65 | 1.12500 | 7.12500 | 1.83333 |
2020 | PIT | 5 | 5 | 21.2 | 16 | 1.66154 | 2.90769 | 1.24615 |
2021 | PIT | 23 | 23 | 100.2 | 92 | 0.89404 | 6.16887 | 1.78808 |
2022 | PIT | 31 | 29 | 159.0 | 138 | 0.79245 | 3.90566 | 1.39623 |
2023 | PIT | 32 | 32 | 194.1 | 210 | 1.15780 | 4.21441 | 1.24528 |
2024 | PIT | 31 | 31 | 178.0 | 166 | 1.16292 | 4.24719 | 1.30337 |
2025 | PIT | 18 | 18 | 106.1 | 84 | 0.59248 | 3.63950 | 1.19436 |
MILB Stats
Pitching
Year | Team | G | GS | IP | K | HR9 | ERA | WHIP |
---|---|---|---|---|---|---|---|---|
2014 | PIT (R) | 9 | 8 | 27.1 | 29 | 0.00000 | 1.97561 | 1.17073 |
2015 | PIT (R) | 6 | 6 | 19.2 | 25 | 0.45763 | 5.49152 | 2.08475 |
2016 | PIT (A) | 23 | 23 | 124.1 | 131 | 0.28954 | 2.46113 | 0.91689 |
2016 | PIT (A+) | 1 | 1 | 6.0 | 7 | 0.00000 | 0.00000 | 1.00000 |
2017 | PIT (A-) | 2 | 2 | 4.0 | 7 | 0.00000 | 0.00000 | 0.75000 |
2017 | PIT (A+) | 15 | 15 | 77.1 | 64 | 0.58190 | 3.14224 | 0.99569 |
2017 | PIT (AA) | 6 | 6 | 34.2 | 45 | 0.51923 | 3.11538 | 1.03846 |
2018 | PIT (A+) | 1 | 1 | 4.0 | 2 | 0.00000 | 2.25000 | 2.00000 |
2018 | PIT (AA) | 14 | 14 | 86.0 | 76 | 0.73256 | 2.72093 | 1.11628 |
2018 | PIT (AAA) | 10 | 10 | 52.1 | 57 | 0.51592 | 4.81529 | 1.54777 |
2019 | PIT (AAA) | 19 | 19 | 103.2 | 123 | 0.78135 | 3.55949 | 1.24437 |
2021 | PIT (AAA) | 8 | 6 | 28.0 | 39 | 0.64286 | 3.21429 | 1.42857 |
Recent Games
Last 10 MLB Games
Date | Team | Opponent | GS | Win | Save | Hold | IP | TBF | R | ER | H | K | BB | HBP | HR |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Jul 2, 2025 | PIT | STL | 1 | 1 | 0 | 0 | 7.0 | 28 | 0 | 0 | 5 | 7 | 1 | 1 | 0 |
Jun 27, 2025 | PIT | NYM | 1 | 1 | 0 | 0 | 5.1 | 22 | 1 | 1 | 5 | 4 | 1 | 0 | 1 |
Jun 21, 2025 | PIT | TEX | 1 | 0 | 0 | 0 | 5.2 | 22 | 3 | 2 | 3 | 5 | 2 | 0 | 0 |
Jun 15, 2025 | PIT | @CHC | 1 | 0 | 0 | 0 | 6.0 | 23 | 2 | 2 | 3 | 3 | 2 | 0 | 0 |
Jun 10, 2025 | PIT | MIA | 1 | 0 | 0 | 0 | 6.0 | 26 | 3 | 3 | 8 | 4 | 0 | 0 | 1 |
Jun 5, 2025 | PIT | HOU | 1 | 0 | 0 | 0 | 6.1 | 28 | 6 | 6 | 8 | 5 | 1 | 0 | 1 |
May 30, 2025 | PIT | @SDP | 1 | 0 | 0 | 0 | 6.0 | 23 | 3 | 3 | 3 | 1 | 2 | 0 | 0 |
May 24, 2025 | PIT | MIL | 1 | 0 | 0 | 0 | 6.0 | 23 | 1 | 1 | 7 | 7 | 0 | 0 | 0 |
May 19, 2025 | PIT | CIN | 1 | 0 | 0 | 0 | 6.0 | 24 | 2 | 1 | 6 | 5 | 1 | 0 | 0 |
May 13, 2025 | PIT | @NYM | 1 | 0 | 0 | 0 | 7.0 | 27 | 2 | 2 | 5 | 8 | 1 | 0 | 1 |
Totals | 10 | 2 | 0 | 0 | 61.1 | 246 | 23 | 21 | 53 | 49 | 11 | 1 | 4 |
Avg Salary & Roster%
Last 30 days
2026 Position Eligibility Progress
To gain eligibility, a player must have 5 GS or 10 G at a position in the majors, or 20 G at a position in the minors.
Transaction History
Date | Transaction Type | Team | Salary |
---|---|---|---|
March 26, 2017 5:48 PM | add | Can't CUTCH This! | $4 |
May 23, 2017 5:11 PM | move | Sky Full of Elephants (from Can't CUTCH This!) | $4 |
October 7, 2017 1:52 AM | increase | Sky Full of Elephants | $5 |
August 29, 2018 7:20 AM | move | Can't CUTCH This! (from Sky Full of Elephants) | $5 |
October 12, 2018 12:59 PM | increase | Can't CUTCH This! | $6 |
July 14, 2019 7:07 AM | move | Jack Klugman's Second Best Lung (from Can't CUTCH This!) | $6 |
October 4, 2019 5:00 PM | increase | Jack Klugman's Second Best Lung | $8 |
August 21, 2020 1:45 AM | move | Smoak and Mirrors (from Jack Klugman's Second Best Lung) | $8 |
September 30, 2020 7:34 PM | increase | Smoak and Mirrors | $10 |
February 28, 2021 8:13 PM | cut | Smoak and Mirrors | $0 |
March 21, 2021 6:36 PM | add | The Rime of Jamie Moyer | $4 |
August 1, 2021 6:45 PM | cut | The Rime of Jamie Moyer | $2 |
August 2, 2021 6:46 PM | add | Yoshi Teddy Bear | $4 |
October 9, 2021 4:43 AM | increase | Yoshi Teddy Bear | $6 |
February 12, 2022 5:04 PM | cut | Yoshi Teddy Bear | $0 |
March 27, 2022 7:32 PM | add | Can't CUTCH This! | $1 |
April 30, 2022 5:36 PM | cut | Can't CUTCH This! | $1 |
May 7, 2022 2:23 AM | add | Smoak and Mirrors | $3 |
October 14, 2022 1:54 AM | increase | Smoak and Mirrors | $5 |
October 12, 2023 11:07 AM | increase | Smoak and Mirrors | $7 |
October 10, 2024 12:14 AM | increase | Smoak and Mirrors | $9 |