Overall, the final preseason game was a disappointing and sloppy one for Pittsburgh. That’s not ideal in the preseason finale despite the 19-10 victory.
In this article, I examine game data from Pro Football Focus (PFF), providing key insights and takeaways.
Offense:
Excellent (90-Plus Grades):
Two players met this mark. WR Scotty Miller (91.8 grade, 11 snaps) led Pittsburgh on offense, as he did in all three preseason games. Miller caught all three targets for 82 yards, which led the team. Each was a 10-plus yard reception, highlighted by a double explosive 53 yarder just before halftime when he showed off his jets. Miller found openings in zone, and routinely displayed body control to catch passes thrown behind him. He played his way onto the roster in my opinion.
QB Skylar Thompson (90.5, 19) put forth another strong case to make an NFL roster. He went 11-of-13 for 152 yards, achieving a nice 141.0 QB rating. The explosive, timely 53-yard connection with Miller before halftime exemplified Thompson’s play, as did a 24-yard touchdown on a strong first drive. Thompson memorably threaded the ball to Miller on another. He earned a 90.8 passing grade.
Great (80-Plus Grades):
Also two, both running backs. Kenneth Gainwell (89.7, 5) had two rushes for seven yards on the stat sheet. He had an encouraging 24-yard rush, but it was brought back due to a holding penalty. No passing game targets or substantial pass-blocking opportunities presented themselves.
Trey Sermon (88.2, 12) posted four carries for 39 yards and a 9.8 average. Boosting that number was a sizable 30-yard run, getting to the edge with room to roam. Sermon forced a couple missed tackles; one on a catch with yards after catch (YAC) , and one on the ground. Surprisingly, though, PFF only credited him with one. Solid grades: 85.3 run, 77.6 receiving, and 76.7 pass block (one snap).
Good (70-Plus Grades):
Four players graded here. WR Lance McCutcheon (78.1, 37) caught three of four targets for 52 yards and a touchdown. The latter was Thompson’s aforementioned TD, with McCutcheon beating the defensive back on a stop-and-go route to get open. He found a spot in zone coverage for a chain-moving 14 yards on 2nd-and-12. 76.4 receiving, 63.4 run block (15 snaps).
RB Lew Nichols (76.2, 7) rushed twice for 14 yards (7.0 average), achieving gains of nine and five yards apiece. Involved as a receiver too, he grabbed three passes and a matching 7 yards per catch. It could’ve been an even better night if not for an overthrow, where he was wide open for a big gain. Nichols had 79.1 receiving and 72.1 run grades, and forced a missed tackle.
WR Ke’Shawn Williams (75.2, 17) caught two of his three targets, for 31 yards. A good 16-yard catch on 3rd-and-3 with YAC was awesome to see. His run blocking excelled, with one outstanding rep in particular. PFF gave credit, giving Williams the best 80.7 run block grade on the entire team.
TE Darnell Washington (70.4, 13) continued strong blocking, noting a couple run blocks in particular from the TV tape. 76.3 run block grade (second on team), 70.2 pass blocking (one rep). 52.3 receiving grade, with no targets, so PFF disliked something about his routes apparently.
Bad (Below 50 Grades):
Seven men landed down here. TE Kevin Foelsch (49.9, 12) did have a respectable 73.2 pass block grade (three snaps), but a 53.1 receiving (four routes) and 51.9 run block (five reps) were stale in comparison. He didn’t stand out in a loaded position room.
C Zach Frazier (49.6, 17) unfortunately was called for holding on the first offensive play, right after a special teams penalty initiated Pittsburgh’s sloppy play. I did note Frazier having a pancake pass-block shortly after. His pass blocking was his best grade (78.4, second on team). He had a lower 55.7 run blocking grade. I want to watch the all-22 on that.
T Steven Jones (48.6, 27) was dinged most as a run blocker (38.1), the worst grade of Pittsburgh offensive lineman (nine reps). 18 pass block snaps were seemingly better, with a 59.6 grade, but he allowed two pressures (both QB hits). Each was most on the team.
RB Jaylen Warren (42.7, 8) got his first preseason action, but was disappointing. He finished with two rushes for three yards. One over-the-middle short catch with YAC would have been a nice play, but he fumbled after being hit. 61.6 run, 26.3 receiving, and 25.3 pass block (one snap). I am a bit concerned after our Alex Kozora’s “underwhelming” camp reports, and this outing.
G Andrus Peat (42.3, 19) was another poorly-graded run blocker (39.8) on five snaps. I noted one poor block in particular on the TV tape. 56.0 pass block grade (14 reps). The veteran is certainly on the back nine of his career, as opposed to his first-round draft status that excited some when Pittsburgh added him.
WR Robert Woods (42.1, 21) fits this bill similarly, a veteran that failed to find success. In this game, he was the worst-graded run blocker at 31.0 overall. He committed a holding penalty, which negated a long run. Woods posted a 53.2 receiving grade, with no targets. This doesn’t bode well for his roster chances at a position, even one with poor depth.
The worst grade on offense was QB Mason Rudolph (41.1, 17). Unfortunately, Rudolph had two straight games with an interception to end the preseason. His pick came on a bad throw where he didn’t see the zone defender, who made the easy play for a turnover. Rudolph lacked highlights as well, going 6-of-8 for 36 yards, no touchdowns, and an abysmal 43.8 QB rating.
Defense:
Excellent (90-Plus Grades):
The best-graded defender (and highest-graded overall) was rookie DL Yahya Black (91.9, 18), deservingly so. At the forefront of his production were his two sacks. He won those reps from the nose tackle position, which was nice to see given his size. The second sack led to a forced fumble. He had a nice takeover early in the second half. Also was solid against the run, where two of his team-leading four stops came, including a tackle for loss. 79.9 run defense and 90.4 pass rush each led the team. Wow.
Great (80-Plus Grades):
Three here. DL Esezi Otomewo (83.9, 18) graded best as a run defender (74.4), including an assisted one-yard tackle. All three of his solo tackles went for stops, and enjoyed his tracking a short catch well, which is a desired trait of Steelers defensive lineman. 53.4 pass rush though, with no pressures.
LB Payton Wilson (83.2, 12) did best in coverage (78.2), with that grade leading the team. He was adept as a tackler, too (73.2). Wilson chased down a 28-yard run admirably, had a nice hit to jar a pass incomplete, and had a one-yard assisted run tackle. 65.8 run defense and 59.9 pass rush (one opportunity).
Rookie EDGE Jack Sawyer (81.4, 32) littered my notes with positives. The Ohio State product recorded three total pressures, two hurries, and a third down QB hit that went for a stop. Sawyer also had a run tackle for a loss of two yards. He made multiple plays on third down and in the red zone. The rookie notched three tackles, two for run-defense stops. That was his best individual grade (74.0), along with a solid 73.3 tackling grade and a 71.2 pass rush.
Good (70-Plus Grades):
Six players. EDGE Eku Leota (76.3, 25) led the team in with four total pressures (all hurries), for a 73.9 pass rush grade. Not far behind was a 73.2 run defense grade. Both his tackles were defensive stops. Leota was one of the many guilty parties that missed a tackle though, missing a third down sack. I also noted a missed catch tackle opportunity.
CB James Pierre (74.5, 25) was graded namely for an easy red-zone interception, a poor decision by the QB. He earned a 75.3 coverage grade. I noted another good coverage rep, and his lone tackle was a clean-up, pushing an 18-yard scramble out of bounds. 70.2 tackling and 62.6 run defense grades.
DL Domenique Davis (73.5, 13) had two tackles, both stops. I noted one moving the chains though, so his 73.4 run defense grade might be a bit high. 69.5 tackling grade, but his 55.2 pass rush grade that included no pressures was a flaw of the performance.
CB D’Shawn Jamison (72.2, 27) quietly graded well across the board: 77.3 tackling, 73.5 run defense, 69.0 pass rush, and 64.9 coverage. Had a pressure on three pass rushes, two tackles that were both stops, and didn’t allow a catch. Noted a plus run defense rep late that led to a stop.
DL Kyler Baugh (71.1, 9) was the only other Steeler with a sack, which came in the fourth quarter. 70.6 pass rush, with that being his lone pressure (three opportunities). His 62.5 run defense was less desirable, including a poor rep on a quarterback scramble.
EDGE Julius Welschof (70.8, 22) had one pressure (a hurry) on 13 pass rushes, which came on the Baugh sack. I liked his performance even more, considering his forced fumble that led to a turnover. I also noted a couple positive run defense reps including an assisted tackle (stop) and a solid coverage rep. The young edge earned the following grades: 69.2 run defense, 69.2 tackling, 61.9 pass rush, 60.0 coverage.
Bad (Below 50 Grades):
Five defenders. CB Joey Porter Jr. (49.8, 9) played for the first time this preseason. He had a poor missed tackle (23.1 tackle grade), albeit from a penalty play. Didn’t have many other notes from watching the game, but PFF didn’t love his run defense (60.0, four snaps) or coverage (48.9, five reps) either.
DL Keeanu Benton (47.1, 9) also missed a tackle, a bad one leading to a 28-yard run. Given an abysmal 19.6 tackle grade, with a nothing-burger on the stats sheet. 44.9 run defense was of course affected by that, but Benton lacked impact overall. Pass rush was certainly his best facet, notching two pass-rush wins, though he was not credited with any pressures.
LB Cole Holcomb (45.6, 23), you guessed it, also was in the missed tackle club. He unfortunately whiffed on a potential tackle-for-loss early. That trend continued; he recorded no tackles all game and a 29.7 grade. He was also guilty of a defensive hold. Overall, Holcomb definitely took a step back after a great second game. He earned a 59.0 run defense (11 snaps), 59.0 pass rush (one snap, zero pressure), and 43.6 coverage.
LB Patrick Queen (34.7, 9) was also disappointing in his first action of 2025. Queen whiffed his tackle attempt on a short catch, and finished with no tackles (22.3 grade). 53.5 run defense, and 44.9 coverage grades aren’t ideal from your green dot player against backups.
Worst on defense and overall was DL Logan Lee (30.3, 25). He did provide a smidge of pass rush (55.9), with one hurry on 12 snaps. Run defense (30.1) and tackling (23.0) were poor. Lee was in on a couple assisted run tackles for short gains, but had two notably bad reps of run defense, including allowing a big scramble.
Special Teams (NOTE – Some names missing, low snaps/average grade):
Excellent (90-Plus Grades):
NONE.
Great (80-Plus Grades):
Carson Bruener (80.9, 16) led this group, with another multi-tackle showing on special teams. He played five of six units, and has shown both quality and quantity. He has assembled a nice resume in attempts of sticking around the roster or practice squad.
Good (70-Plus Grades):
Two here. Isaiahh Loudermilk (72.4, 10) had a tackle on kick coverage, and also played on the field goal kick unit.
K Ben Sauls (72.3, 8) scored most of Pittsburgh’s points, making four field goals including a pretty 50-yarder, along with one at 49 that were by far his longest of the game. Capped off a nice short drive just before halftime with one from 38 as well.
Bad (Below 50 Grades):
Six players. Kyler McMichael (47.1, 7) had a missed tackle on kick coverage, and recorded no tackles. He also played on field goal block.
Daryl Porter Jr. (46.5, 5) only played kick coverage, making a solo tackle, but also missing one as well.
JJ Galbreath (44.9, 14) played on four teams: kick return, punt return, punt coverage, and field goal kick. Didn’t make my notes, so I’m unsure why the grade was so low.
Roman Wilson (44.9, 10), another man who missed a tackle, played on three teams (both kick units, punt coverage).
Lew Nichols (40.9, 9) had a holding penalty on the opening kickoff, igniting the tough game in terms of penalties. Played three units: both punt units and kick return.
The lowest graded special teamer was newly signed long snapper Jake McQuaide (34.7). I was watching many other things, but a bad narrative following the injury to starter Christian Kuntz. Fingers crossed for a swift recovery.
Steelers Preseason Week Three Snaps And Total Preseason Snaps:
PLAYER POS PS WK 3 OFF SNAPS PS WK 3 DEF SNAPS PS WK 3 ST SNAPS PS TOT OFF SNAPS PS TOT DEF SNAPS PS TOT ST SNAPS PS TOT SNAPS
Lance McCutcheon WR 37 7 82 19 101
Max Scharping C 32 5 138 13 151
Ryan McCollum C 32 32 32
Steven Jones T 27 5 112 13 125
JJ Galbreath TE 24 14 106 33 139
Dylan Cook T 24 5 105 13 118
Robert Woods WR 21 69 69
Roman Wilson WR 19 10 52 16 68
Skylar Thompson QB 19 106 106
Andrus Peat G 19 73 73
Ke’Shawn Williams WR 17 4 59 24 83
Broderick Jones T 17 42 42
Mason McCormick G 17 42 42
Spencer Anderson G 17 42 42
Troy Fautanu T 17 42 42
Zach Frazier C 17 42 42
Mason Rudolph QB 17 41 41
Max Hurleman WR 15 5 73 15 88
Doug Nester G 13 5 119 13 132
Darnell Washington TE 13 36 36
Logan Woodside QB 13 33 33
Julian Pearl T 13 13 13
Pat Freiermuth TE 13 13 13
Trey Sermon RB 12 9 38 38 76
Kevin Foelsch TE 12 29 12 41
Kaleb Johnson RB 11 3 66 6 72
Scotty Miller WR 11 2 37 2 39
Connor Heyward TE 9 62 62
Jaylen Warren RB 8 8 8
Lew Nichols RB 7 9 26 21 47
Evan Hull RB 6 5 28 14 42
Brandon Johnson WR 5 1 53 27 80
Kenneth Gainwell RB 5 14 14
Sebastian Castro S 45 11 105 50 155
DeMarvin Leal ED 38 10 104 21 125
Daryl Porter Jr. CB 35 5 87 15 102
Carson Bruener LB 32 16 69 64 133
Jack Sawyer ED 32 8 100 41 141
Quindell Johnson S 32 4 92 20 112
Mark Robinson LB 32 4 69 14 83
D’Shawn Jamison CB 27 6 64 41 105
Eku Leota ED 25 9 87 31 118
Logan Lee DI 25 7 48 30 78
James Pierre CB 25 107 107
Brandin Echols CB 25 90 90
Miles Killebrew S 25 65 65
Malik Harrison LB 24 2 80 8 88
Cole Holcomb LB 23 2 82 7 89
Julius Welschof ED 22 5 85 32 117
Isaiah Loudermilk DI 21 10 62 18 80
Mikey Victor CB 18 6 36 6 42
Yahya Black DI 18 2 54 8 62
Chuck Clark S 18 89 89
Esezi Otomewo DI 18 44 44
Kam Alexander CB 18 18 18
Daniel Ekuale DI 16 47 3 50
Derrick Harmon DI 15 70 70
Kenny Willekes ED 15 15 15
Kyler McMichael CB 14 7 63 22 85
Domenique Davis DI 13 2 31 6 37
Payton Wilson LB 12 43 43
Keeanu Benton DI 9 31 31
Kyler Baugh DI 9 24 24
Darius Slay CB 9 9 9
DeShon Elliott S 9 9 9
Jalen Ramsey CB 9 9 9
Joey Porter Jr. CB 9 9 9
Patrick Queen LB 9 9 9
Ben Sauls K 8 22 22
Jake McQuaide LS 7 7 7
Cameron Johnston P 4 14 14
Corliss Waitman P 3 10 10
Ben Skowronek WR 2 4 2 6
Chris Boswell K 2 5 5
Devin Harper LB 42 24 66
Aiden Williams G 54 54
Beanie Bishop Jr. CB 45 9 54
Roc Taylor WR 41 8 49
Gareth Warren T 48 48
Breiden Fehoko DI 26 10 36
Juan Thornhill S 31 31
Camron McCutcheon CB 14 11 25
Christian Kuntz LS 9 9
Nick Herbig ED 3 3
Preseason Snap Leaders Through All Three Preseason Games
OFF – Max Scharping
DEF – James Pierre
ST – Carson Bruener
TOT – Sebastian Castro
Recommended for you