On May 16th, the Phillies stood at 24-16, having put up a surprising .600 winning percentage against the first quarter of their schedule, which consisted mostly of teams that were not expected to be very good.
However they were facing a stretch of 42 games against some of the best teams of the National League, as well as the Yankees. The hope at the time was that if they could manage to stay around .500 through this tough stretch, they would still be in contention at the end of it, and in good shape leading up to the All-Star break, and eventually the trade deadline.
As we know, while they’ve had ups and downs through this period, they did in fact manage a 21-21 record. Admittedly there was some luck involved. While they outscored their opponents by more than 1 run per game on average in the first 40 games, they were outscored by nearly a run per game in these last 42. Pythagorean projections can be fluky over short stretches, but it’s worth noting that they outperformed their projection by almost wins.
More telling perhaps is that they were a remarkable 11-4 and one-run games over that stretch. Especially so given that success in one-run games is usually associated with good bullpens, which is one thing the Phils’ pen has not been lately (granted, some of those were comfortable leads that the bullpen turned into close wins).
So some of their recent success is probably not sustainable, but the bottom line is that those wins are in the bank, and all the Phillies need to worry about now is continuing to play well against what should be a relatively easy part of their schedule.
They continue to hold the 5th best record in the NL, and would be facing the Cubs in the Wildcard game if the season ended today.
Overall they’ve had an average offense so far, ranking 8th in scoring runs, and 7th in overall hitting (wRC+). The table below now also includes the Fangraphs Baserunning Runs measure, which ranks them as one of the best teams in the league in running the bases. They haven’t stolen much, but they’ve been extremely efficient at taking extra bases on fly balls/passed balls/etc. while making very few outs while doing so.
Their run prevention has also been average overall (8th in runs allowed), with very good pitching hampered by poor fielding:
This table now includes FIP in the pitching stats, and two advanced fielding metrics: Defensive Runs Saved (DRS) from baseball reference, and Ultimate Zone Rating (UZR) from fangraphs.
Not surprisingly, the Phillies are dead last in both:
Runs vs. Average
The graph below shows Runs above average for each team in the NL, by each aspect of the game, as measured at Fangraphs.
So the Phillies for example have been well above average in starting pitching (+35), and slightly above average in both their bullpen (+3, despite a terrible June), and running the bases (+7). Their batting has almost exactly at the average overall so far for the season to date (-1).
The only major aspect that they’ve been below average in is fielding (-21).
The net total is that as a team they’ve been 21 runs better than average:
Compared to last year
*ISO, short for Isolated power, is the difference between batting average and slugging percentage, and essentially measures the average extra bases per at bat (1 for a double, 2 for a triple, 3 for a HR).
The Phillies are back in the lead in pitches per PA (4.07), and they continue leading the league in walking (10.3% of the time), but have the second highest strikeout rate (25.4%).
They are still at or near the bottom both in making contact (73.8% of their swings, 15th), and in the quality of contact (15th in hard hit rate, 14th in line drive rate).
Progress over time
The graphs below show how some key stats have progressed. On the left is the weekly performance (with a dotted line showing the NL average for each one), and on the right is the cumulative season-to-date number. Batting Average and BB% together drive a team’s On Base Percentage, and Batting Average and ISO combine to form Slugging Percentage.
After two of their strongest weeks of the season, Phils hitters struggled in the Yankees series. They recovered somewhat against Washington to salvage a respectable though still below average week.
Batting — Individual
Below are the Phillies ranked by OPS, along with how they compare to the MLB average OPS at their position. To the right are their OPS over the last 30, 14, and 7 days.
Odubel Herrera is cold again, though he did have a couple of key hits vs. Washington. Nick Williams has also cooled off lately, though still nothing like his fellow right fielder. Andrew Knapp has been hot for a month now (though only 40 PAs), and has risen from a .441 OPS to catch up to Jorge Alfaro (low bar as that may be).
Below is how each Phillie hitter’s OPS and wOBA have progressed over time.
These graphs are very busy — start with the names to see how they currently rank, and then follow each line to the left to see how they got there.
There is a stat called Runs Created, which has gone through various iterations, starting with Bill James in the 1980s, which takes all of a hitter’s stats and estimates how many runs they should translate to. Fangraphs calculates a version of that called weighted Runs Created (wRC) which is a counting stat version of wOBA.
The table below shows wRC by each Phillie, by week (the first is more like a week and a half). It quantifies the ups and downs we’ve seen: the hot starts by Hoskins, Hernandez, and Herrera, the occasional good week from Franco, and the strong hitting from Santana since May 1st.
Hoskins with another good week, and Santana has been steady as a rock since the start of May:
(Note that the 3/26 “week” was actually 11 days long, from Opening Day on 3/29 through 4/8)
Phillies pitching leads the NL in WAR (per fangraphs). They also lead in WAR for starting pitching in particular.
Phillies starters are only 6th in ERA, but that’s largely because errors and fielding percentage are inadequate measures of fielding, and so “earned” vs. “unearned” runs is a very flawed distinction. Based on FIP*, Phillies starters rank 2nd in the NL.
*FIP (Fielding-independing pitching) is based only on the stats that are considered to be most controllable by pitchers: strikeouts, walks, and home runs. xFIP takes that one step further by also assuming that home runs are only controllable by a pitcher to the extent to which they allow fly balls to be hit, and adjusts their HRs to the league-average rate of HRs per Fly Balls.
Pitching - Individual
Below is a high-level break down of each starter’s games:
QS is the typical definition (6+ IP, 3 or less ER)
“bad” is any start with more ER than innings pitched, and
“other” is all the rest.
Zach Eflin was a big reason the Phillies have been able to largely weather the month of June, winning all five of his starts in the month, with a stellar 1.76 ERA, allowing 1, 2, 1, 2, and 0 runs. Three of those five wins stopped losing streaks, and a fourth came after a single loss.
And below are each pitcher’s games, with the Game Score for each one on the right (highlighted green if in the 60-79 range, dark green if 80+):
On Base Streaks
With his 42nd consecutive game, Shin-Soo Choo has surpassed Odubel’s Herrera for the season’s longest on-base streak:
Odubel’s streak actually started with four games at the end of 2017, and he still has the longest streak of the last two years, at least for now:
Extra Base Streak
Andrew Knapp’s walk-off home run on Sunday was the Phillies’ first and only extra base hit of that game. That extended their extra base streak hit to 78 straight games, the longest streak by any team in MLB this season. It’s the longest by the Phillies since they an XBH in 97 straight games in 2008-09. The franchise record is 129 straight games in 1929-30.
Phillies hitters (fangraphs)
Phillies pitchers (fangraphs)
Team hitting stats (fangraphs)
Team pitching stats (fangraphs)
Team stats (baseball-reference)