What’s the Best That Could Happen in 60 Games?
While researching his latest article, Ben Lindbergh of Effectively Wild and The Ringer asked me and David Appelman if we had data for the most WAR accrued over any given 60-game stretch for a player since 2002 (Hint: It’s Barry Bonds). One question begets others, like who had the worst WAR over 60-games since 2002 (poor Ryan Doumit). The next thing we knew, we had literally millions rows of data, so we decided to make a leaderboard out of them so you can use the data we found.
Creating a quirky leaderboard for this equally quirky baseball season takes database resources and developer time. Your continued support and Membership allows us to afford those resources and create a leaderboard you won’t find anywhere else. If you haven’t already, please consider becoming a FanGraphs Member or donating to the site, so that we can continue to create awesome tools to answer your (and Ben’s) baseball questions.
The Basics
- We have 60-game rolling stats for batters.
- We have 12-game rolling stats for pitchers. By default we only show 12-game spans that have all been starts.
- The rolling stats are delineated by season, so each span of games occurs within the same season.
- This is an extension of the data engine behind our rolling graphs on the player pages, except pivoted into a leaderboard.
- Unfortunately, the length of the rolling stats are fixed to 60 or 12 games, and can’t be changed to other values.
- Since these are rolling stats, you can have spans that have fewer than 60 or 12 games. This typically happens at the beginning of the season or if a player didn’t play enough games over the course of the entire season.
- We include data from 1974 to 2019.

Data Views
- We have three different data “views”: Best Span, Worst Span, and All Spans.
- The Best Span option finds a player’s best 60- or, if you’re interested in pitchers, 12-game span for that particular stat.
- The Worst Span option does the opposite.
- When using one of these views, you have to use the drop down menu to change the stat. Simply clicking to sort won’t recalculate the player’s best or worst span; it will just sort with the current data set.
- Sometimes different time spans will have the same value for a given stat — if this happens, we report the most recent occurrence.
- The All Spans option has the underlying data for all of this. If you wanted to see all the other 60- or 12-game spans for a given player, this is the place to find that.
- We disabled data exports for All Spans, because the data set is too large for download.
Options
- If you click on either the start date or end date in a given row, it will take you to the player’s game logs for that time span.
- You can set the season time frame you want to look at by using either the single season selector or multiple season selector.
- By default we are filtering out any spans that do not have enough PA or IP to qualify for the batting title or ERA title.
- You can use the Custom Players button to create a custom set of players. This is especially useful to cut down the number of rows on the All Spans view.
- For pitchers, you can choose “Limit to Only SP” to limit the results to spans where the pitcher has only made starts. Any span that contains a relief appearance will be discarded.
If you notice any issues or have any suggestions, please let us know in the comments!
I build things here.

Wow, Adam Moore had his whole worst-60-game stretch in one season (-2.8 WAR in 2010).
What is shocking to me is that Ryan Doumit actually had a 98 wRC+ during that awful -2.8 WAR 60-game stretch in 2008. He must of had some brutal defensive numbers. For comparison, Chris Davis had a 60-game stretch in 2018 with a 33 wRC+ and that only brought his WAR to -2.1.
Doumit was hurt significantly when framing data was added to WAR. He’s one of the worst framers ever.
Actually, if I’m reading it right, the most WAR over 60 games since 2002 belongs to Jim Edmonds in 2004, not Bonds. Edmonds is tied with 2012 trout and 2012 Posey, but given that he is listed ahead of them I assume he is ahead once you go more than 1 decimal place.
Also, we all know George Brett was incendiary in 1980, but holy hell. 20 of the top 30 60-game stretches are from his 1980. (The other 10 are 2001 Bonds)
So it looks like the limits are:
– .469 BA by 1980 Brett
– 33 HR by 1996 McGwire and 2017 Stanton
– 47 SB by 1974 Lou Brock (2nd is 43 by 2016 Billy Hamilton)
– 1.585 OPS by 2001 Bonds
– 6.5 WAR by 1980 Brett
Looking at the worst list, looks to me like the worst 60-game stretch by a HOFer is 1978 Brock with -2.0 WAR followed not too far behind by 1983 Reggie who put up -1.9 WAR.
Check the stat you have selected in the “Worst Game as Determined by” dropdown. The all-time leaders should be 37 HR (Bonds), .473 BA (Brett), 66 SB (Henderson).
My bad – still learning how to use it. So the limits are:
– .473 by 1980 Brett
– 37 HR by 2001 Bonds
– 66 SB by 1983 Rickey
– 1.585 OPS by 2001 Bonds
– 6.5 WAR by 1980 Brett
Regular reminder of how absurd Ruth and Bonds’ numbers are: Ruth and Bonds both have 3 full season OPS figures that would be in the top 10 60-game runs.
Haha, oh, missed Ben Lindbergh’s reply
Calling it the limit might be misleading, considering Rickey Henderson kept up a greater pace on stolen bases in 1982, averaging 48 per 60 games for the whole season, or 52 per 60 of his actual 149 games played.
See my subsequent comment where I fixed it – Rickey had 66 SB in a 60-game stretch in 1983
Each player is only listed for their single best span. Bonds’s 2001 span, which is the only one he’s given credit for in that table, doesn’t qualify for a “since 2002” leaderboard, but I’m sure he had other hot streaks in the following three seasons that, while not up to 6.2 WAR, still beat Edmonds’ best run.
Mike Trout has had at least one 60-game stretch with 4.5 or more WAR in each of his full seasons (2012-2019). That would be a 12.2 WAR pace over 162 games.
Conversely, his “worst” stretch over 60 games was worth 1.8 WAR. So, even at his absolute worst, he’s essentially a 5.0-WAR player.
LOL, Trout had his worst 60-game stretch during a season where he was the unanimous AL MVP (2014)! And, his WAR during that 60-game stretch (July 1 – September 6), was still 12th best in the league.
Your 12 game rolling stats for pitchers is unfair to Wilbur Wood. The last half of 1971 for each 18 starts he made, the White Sox played 60 games or fewer, and the 18 starts were in 60 or fewer calendar days
If it’s any consolation, 1971 isn’t included in the data set!
But 1974 was, with 42 starts instead of 49. When I looked him up I just got diverted by the stats of the earlier year. Smaller effect, but still there.
And, for all younger folk who hadn’t heard of Wilbur Wood, he wasn’t just a workhorse knuckleballer. He was a LEFTY workhorse knuckleballer.
Serious “remember some guys” vibes from this tool. Who can forget Kris Medlen’s transcendent 2012, or Derrek Lee’s 2005 career year?
I know we’re becoming inured against high K totals in the modern game, but Doc Gooden closed out 1984 – his rookie season! at 19! – with a 12-game stretch where he posted a 34.5% K rate.
In the 10 years prior, no one had even reached 30%. 30 years later, through 2014, the only players to post a higher mark were a few guys named Pedro, Schilling, and Wood. Randy Johnson never did. Roger Clemens never did. Kershaw hadn’t (yet).
Even zooming out to look at a full season, Doc’s 1984 K+%+ of 212 is the 8th best since the mound was lowered, behind only Nolan Ryan (4x), Pedro (2x), and Johnson.
Stats are awesome.