Who has the highest WAR in consecutive seasons?

MLB history, 1876–2024 · Baseball-Reference WAR joined to Lahman 13.0.0 · one-file report (charts, tables and the interactive explorer are all inside this page)

Headline answers

Which MLB player has had the highest WAR in consecutive seasons? Short answer: it depends on how you read the question and which era you allow. Walter Johnson is the answer to most versions of it, and Babe Ruth is the best hitter. A handful of 1880s pitchers beat everyone on a two-year basis. The details are below.

Data: Lahman 13.0.0 (seasons 1871-2024, via the R Lahman package) joined by playerID to Baseball-Reference WAR (daily files, downloaded 2026-10-03).

1. Best two-year stretch

2. Best 3- and 5-year stretches

3. Streaks above a threshold

ThresholdLongest streakNext
5+ WARHank Aaron, 17 seasons (1955-71)Cy Young 15, Tris Speaker 15, Wagner 14, Schmidt 14
6+ WARCy Young 15 (1891-1905) and Aaron 15 (1955-69)Mays 13 (1954-66), Gehrig 12
8+ WARWalter Johnson, 10 (1910-19)Ruth, Mays and Pujols 7 each

Only one player in history has 10 straight 8+ seasons. Four have 7 or more.

4. Both seasons elite

TL;DR for each split

Anything surprising

  1. Hank Aaron is nowhere near the top of the best-window lists (his best five years is 43.8) but wins the "most straight 5+ WAR seasons" list with 17. He is the longevity champion with a modest peak.
  2. Walter Johnson holds the record at every window length from 3 to 13 seasons. His 10-year 8+ streak is a record by three seasons.
  3. Seven 19th-century pitchers, plus Walter Johnson, outscore Ruth's best two years (Ruth is #8), and 11 of the top 15 two-year stretches are from before 1900. The era cutoff is the single biggest decision in this project.
  4. Service adjustment barely changes the top 10s. It does lift Ted Williams' best five years from 41.3 (#48) to 49.2 (#14) once 1943-45 are bridged (1941-48), and Bob Feller's from 35.9 to 39.5. The pace adjustment for 1918/19/81/94/95/2020 doesn't change who is in any top-10 list (it only reorders a few places at the 3- and 10-year lengths).
  5. Ohtani is the only modern two-way player on the elite lists, and by total WAR he is still far behind Ruth's two-way production (Ruth's 1919-21 is 34.4).
  6. Trout's 2012-16 (47.1) ranks #22 all-time for five years.

Charts

Best two-year stretches
Best two-year stretches
Best three- and five-year stretches
Best three- and five-year stretches
Longest streaks above 5, 6 and 8 WAR
Longest streaks above 5, 6 and 8 WAR
When both seasons are elite
When both seasons are elite
Does the era cutoff change who's best?
Does the era cutoff change who's best?
Best five-year stretch by position
Best five-year stretch by position
Best three-year stretch by decade
Best three-year stretch by decade
Peak vs. longevity
Peak vs. longevity
Age at the start of elite stretches
Age at the start of elite stretches
Franchises with elite three-year stretches
Franchises with elite three-year stretches
The crown: record WAR by window length
The crown: record WAR by window length

WAR Streak Explorer (interactive)

The extra feature I added. Search a player, drag the window length, see their best run, rank, and streak twins.

It is embedded in output/WAR_streaks_report.html, and also saved as its own offline file, output/parts/streak_explorer.html (about 260 KB, no server or internet needed). It holds all 864 players with 30+ career WAR.

Why I picked it: a ranking table answers one question, and the real issue here is that the answer changes with the window length. Making k a slider turns that into something you can feel. The streak twins also add "who did this look like?", which a leaderboard can't. I checked it against the R results: Johnson's five-year record is 69.1, Ruth's is 56.3, and Williams is 49.2 versus 41.3 when service is bridged.

Key tables

Click a heading to expand. The complete set (47 tables, including every split) is in WAR_streaks_tables.xlsx, next to this file.

Best 2-year stretches (top 30 players)
#PlayerFromToWARSeason-by-season WARRolePosTeam
1Old Hoss Radbourn1883188433.814.3 / 19.4PitcherPPRO
2Walter Johnson191219133215.4 / 16.6PitcherPMIN
3Jim Devlin1876187731.718.3 / 13.4PitcherPLGR
4Tim Keefe1883188428.620.2 / 8.3PitcherPNYP
5Pud Galvin1883188428.29.8 / 18.4PitcherPBUF
6Tommy Bond1878187927.813.4 / 14.3PitcherPATL
7Guy Hecker1884188526.017.8 / 8.2PitcherPLOU
8Babe Ruth1923192425.514.1 / 11.3HitterOFNYY
9John Clarkson1889189025.016.2 / 8.9PitcherPATL
10Amos Rusie1893189424.911.2 / 13.7PitcherPSFG
11Silver King1888188924.616.0 / 8.5PitcherPSTL
12Cy Young1892189323.613.0 / 10.6PitcherPCLV
13Barry Bonds2001200223.611.9 / 11.7HitterOFSFG
14Bob Gibson1968196923.211.9 / 11.3PitcherPSTL
15Ed Morris1885188623.112.7 / 10.4PitcherPPIT
16Charlie Buffinton1888188923.112.0 / 11.1PitcherPPHI
17Jim McCormick1883188423.08.2 / 14.8PitcherPCBL
18Pete Alexander1915191623.010.9 / 12.1PitcherPPHI
19Kid Nichols1897189822.911.1 / 11.8PitcherPATL
20Carl Yastrzemski1967196822.912.4 / 10.5HitterOFBOS
21Mickey Welch1884188522.912.3 / 10.6PitcherPSFG
22Mickey Mantle1956195722.611.2 / 11.3HitterOFNYY
23Ed Walsh1911191222.59.7 / 12.8PitcherPCHW
24Christy Mathewson1908190922.411.8 / 10.6PitcherPSFG
25Rogers Hornsby1924192522.312.1 / 10.2Hitter2BSTL
26Willie Mays1964196522.211.0 / 11.2HitterOFSFG
27Bob Caruthers1886188722.211.6 / 10.7Two-way / mixedTwo-waySTL
28Jim Whitney1883188421.813.4 / 8.4Two-way / mixedTwo-wayATL
29Hal Newhouser1945194621.712.2 / 9.6PitcherPDET
30Charlie Ferguson1886188721.611.7 / 9.9Two-way / mixedPPHI
Best 3-year stretches (top 30)
#PlayerFromToWARSeason-by-season WARRolePosTeam
1Walter Johnson1912191445.115.4 / 16.6 / 13.1PitcherPMIN
2Old Hoss Radbourn1883188542.214.3 / 19.4 / 8.5PitcherPPRO
3Tommy Bond1877187939.211.5 / 13.4 / 14.3PitcherPATL
4Silver King1888189037.016.0 / 8.5 / 12.4PitcherPSTL
5John Clarkson1887188935.415.0 / 4.2 / 16.2PitcherPATL
6Tim Keefe1883188535.220.2 / 8.3 / 6.6PitcherPNYP
7Babe Ruth1919192134.410.0 / 11.8 / 12.6Two-way / mixedOFNYY
8Ed Walsh1910191234.311.8 / 9.7 / 12.8PitcherPCHW
9Jim McCormick1882188434.010.9 / 8.2 / 14.8PitcherPCBL
10Bob Gibson1968197033.211.9 / 11.3 / 10.1PitcherPSTL
11Willie Mays1963196532.910.6 / 11.0 / 11.2HitterOFSFG
12Pete Alexander1915191732.810.9 / 12.1 / 9.8PitcherPPHI
13Barry Bonds2001200332.811.9 / 11.7 / 9.2HitterOFSFG
14Bob Caruthers1885188732.310.0 / 11.6 / 10.7Two-way / mixedTwo-waySTL
15Cy Young1892189432.113.0 / 10.6 / 8.5PitcherPCLV
16Pud Galvin1882188432.13.9 / 9.8 / 18.4PitcherPBUF
17Amos Rusie1892189432.17.2 / 11.2 / 13.7PitcherPSFG
18Mickey Mantle1955195732.19.5 / 11.2 / 11.3HitterOFNYY
19Guy Hecker1884188631.917.8 / 8.2 / 5.9Two-way / mixedPLOU
20Ed Morris1884188631.68.5 / 12.7 / 10.4PitcherPPIT
21Christy Mathewson1908191031.511.8 / 10.6 / 9.1PitcherPSFG
22Kid Nichols1890189231.113.0 / 9.3 / 8.8PitcherPATL
23Ty Cobb1909191130.79.9 / 10.3 / 10.5HitterOFDET
24Rogers Hornsby1920192230.79.7 / 10.9 / 10.1Hitter2BSTL
25Jim Whitney1881188330.58.6 / 8.4 / 13.4Two-way / mixedTwo-wayATL
26Hal Newhouser1944194630.18.4 / 12.2 / 9.6PitcherPDET
27Joe McGinnity1902190430.08.8 / 11.9 / 9.3PitcherPSFG
28Honus Wagner1906190829.89.3 / 9.0 / 11.5HitterSSPIT
29Charlie Ferguson1885188729.88.1 / 11.7 / 9.9Two-way / mixedPPHI
30Lefty Grove1930193229.610.3 / 10.0 / 9.2PitcherPOAK
Best 5-year stretches (top 30)
#PlayerFromToWARSeason-by-season WARRolePosTeam
1Walter Johnson1912191669.115.4 / 16.6 / 13.1 / 12.8 / 11.2PitcherPMIN
2Babe Ruth1920192456.211.8 / 12.6 / 6.4 / 14.1 / 11.3HitterOFNYY
3John Clarkson188518895512.8 / 6.8 / 15.0 / 4.2 / 16.2PitcherPATL
4Old Hoss Radbourn1882188654.97.9 / 14.3 / 19.4 / 8.5 / 4.7Two-way / mixedPPRO
5Cy Young1892189654.313.0 / 10.6 / 8.5 / 11.6 / 10.5PitcherPCLV
6Willie Mays1962196652.310.5 / 10.6 / 11.0 / 11.2 / 9.0HitterOFSFG
7Tim Keefe1883188752.120.2 / 8.3 / 6.6 / 9.4 / 7.5PitcherPNYP
8Ed Walsh1908191251.810.7 / 6.8 / 11.8 / 9.7 / 12.8PitcherPCHW
9Jim McCormick1880188451.710.8 / 7.0 / 10.9 / 8.2 / 14.8PitcherPCBL
10Barry Bonds2000200451.17.7 / 11.9 / 11.7 / 9.2 / 10.6HitterOFSFG
11Kid Nichols1890189451.013.0 / 9.3 / 8.8 / 11.7 / 8.2PitcherPATL
12Tommy Bond1876188050.610.4 / 11.5 / 13.4 / 14.3 / 0.9PitcherPATL
13Rogers Hornsby1921192550.110.9 / 10.1 / 6.8 / 12.1 / 10.2Hitter2BSTL
14Honus Wagner1905190949.210.2 / 9.3 / 9.0 / 11.5 / 9.2HitterSSPIT
15Amos Rusie1890189449.08.2 / 8.7 / 7.2 / 11.2 / 13.7PitcherPSFG
16Christy Mathewson1907191148.68.8 / 11.8 / 10.6 / 9.1 / 8.2PitcherPSFG
17Pete Alexander1913191748.16.0 / 9.3 / 10.9 / 12.1 / 9.8PitcherPPHI
18Joe Morgan1972197647.89.3 / 9.3 / 8.6 / 11.0 / 9.6Hitter2BCIN
19Mickey Mantle1954195847.76.9 / 9.5 / 11.2 / 11.3 / 8.7HitterOFNYY
20Bob Caruthers1885188947.310.0 / 11.6 / 10.7 / 6.6 / 8.4Two-way / mixedTwo-waySTL
21Lou Gehrig1927193147.111.8 / 9.5 / 7.5 / 9.6 / 8.6Hitter1BNYY
22Mike Trout2012201647.110.5 / 8.9 / 7.7 / 9.5 / 10.4HitterOFANA
23Ty Cobb1909191346.59.9 / 10.3 / 10.5 / 8.8 / 7.0HitterOFDET
24Bob Gibson1968197246.011.9 / 11.3 / 10.1 / 5.0 / 7.8PitcherPSTL
25Silver King18871891455.3 / 16.0 / 8.5 / 12.4 / 2.8PitcherPSTL
26Tris Speaker1912191644.710.1 / 8.8 / 9.9 / 7.1 / 8.9HitterOFBOS
27Albert Pujols2005200944.68.4 / 8.5 / 8.7 / 9.2 / 9.7Hitter1BSTL
28Eddie Collins1909191344.49.7 / 9.8 / 6.7 / 8.8 / 9.4Hitter2BOAK
29Lefty Grove1929193344.37.4 / 10.3 / 10.0 / 9.2 / 7.3PitcherPOAK
30Stan Musial1948195243.911.3 / 9.1 / 7.2 / 8.8 / 7.5HitterOFSTL
Best 7-year stretches (top 30, bonus)
#PlayerFromToWARSeason-by-season WARRolePosTeam
1Walter Johnson1912191889.315.4 / 16.6 / 13.1 / 12.8 / 11.2 / 8.4 / 11.8PitcherPMIN
2John Clarkson1885189173.812.8 / 6.8 / 15.0 / 4.2 / 16.2 / 8.9 / 9.9PitcherPATL
3Babe Ruth1918192473.37.0 / 10.0 / 11.8 / 12.6 / 6.4 / 14.1 / 11.3Two-way / mixedOFNYY
4Willie Mays1960196670.59.5 / 8.7 / 10.5 / 10.6 / 11.0 / 11.2 / 9.0HitterOFSFG
5Cy Young1892189868.613.0 / 10.6 / 8.5 / 11.6 / 10.5 / 6.8 / 7.6PitcherPCLV
6Kid Nichols1892189867.48.8 / 11.7 / 8.2 / 9.5 / 6.2 / 11.1 / 11.8PitcherPATL
7Tim Keefe1882188866.45.2 / 20.2 / 8.3 / 6.6 / 9.4 / 7.5 / 9.1PitcherPNYP
8Rogers Hornsby1919192566.36.5 / 9.7 / 10.9 / 10.1 / 6.8 / 12.1 / 10.2Hitter2BSTL
9Honus Wagner1903190965.17.6 / 8.3 / 10.2 / 9.3 / 9.0 / 11.5 / 9.2HitterSSPIT
10Christy Mathewson1907191364.28.8 / 11.8 / 10.6 / 9.1 / 8.2 / 8.5 / 7.2PitcherPSFG
11Mickey Mantle1955196164.29.5 / 11.2 / 11.3 / 8.7 / 6.6 / 6.3 / 10.4HitterOFNYY
12Jim McCormick1879188564.19.8 / 10.8 / 7.0 / 10.9 / 8.2 / 14.8 / 2.6PitcherPCBL
13Mike Trout2012201863.810.5 / 8.9 / 7.7 / 9.5 / 10.4 / 6.9 / 9.9HitterOFANA
14Ed Walsh1906191263.84.4 / 7.6 / 10.7 / 6.8 / 11.8 / 9.7 / 12.8PitcherPCHW
15Barry Bonds1998200463.08.1 / 3.8 / 7.7 / 11.9 / 11.7 / 9.2 / 10.6HitterOFSFG
16Pete Alexander1914192062.99.3 / 10.9 / 12.1 / 9.8 / 0.6 / 7.5 / 12.7Two-way / mixedPCHC
17Lou Gehrig1927193362.411.8 / 9.5 / 7.5 / 9.6 / 8.6 / 8.2 / 7.1Hitter1BNYY
18Eddie Collins1909191562.49.7 / 9.8 / 6.7 / 8.8 / 9.4 / 8.9 / 9.1Hitter2BOAK
19Albert Pujols2003200961.78.6 / 8.5 / 8.4 / 8.5 / 8.7 / 9.2 / 9.7Hitter1BSTL
20Ty Cobb1909191561.69.9 / 10.3 / 10.5 / 8.8 / 7.0 / 5.5 / 9.5HitterOFDET
21Old Hoss Radbourn1881188760.93.9 / 7.9 / 14.3 / 19.4 / 8.5 / 4.7 / 2.2Two-way / mixedPPRO
22Joe Morgan1971197759.35.7 / 9.3 / 9.3 / 8.6 / 11.0 / 9.6 / 5.8Hitter2BCIN
23Hank Aaron1957196359.18.0 / 7.3 / 8.6 / 8.0 / 9.4 / 8.6 / 9.1HitterOFATL
24Tris Speaker1911191758.86.2 / 10.1 / 8.8 / 9.9 / 7.1 / 8.9 / 7.9HitterOFBOS
25Stan Musial1946195258.39.3 / 5.1 / 11.3 / 9.1 / 7.2 / 8.8 / 7.5HitterOFSTL
26Roger Clemens1986199258.18.8 / 9.4 / 7.1 / 5.7 / 10.4 / 7.9 / 8.7PitcherPBOS
27Alex Rodriguez1999200557.64.8 / 10.4 / 8.3 / 8.8 / 8.4 / 7.6 / 9.4HitterSSSEA
28Mike Schmidt1974198057.39.7 / 7.7 / 8.0 / 8.8 / 6.2 / 7.9 / 8.9Hitter3BPHI
29Lefty Grove1927193356.95.4 / 7.2 / 7.4 / 10.3 / 10.0 / 9.2 / 7.3PitcherPOAK
30Pedro Martinez1997200356.88.8 / 7.1 / 9.8 / 11.7 / 5.1 / 6.4 / 8.0PitcherPBOS
Best 10-year stretches (top 30, bonus)
#PlayerFromToWARSeason-by-season WARRolePosTeam
1Walter Johnson19101919120.311.0 / 9.0 / 15.4 / 16.6 / 13.1 / 12.8 / 11.2 / 8.4 / 11.8 / 11.0PitcherPMIN
2Babe Ruth19191928103.910.0 / 11.8 / 12.6 / 6.4 / 14.1 / 11.3 / 3.5 / 11.4 / 12.6 / 10.2Two-way / mixedOFNYY
3Kid Nichols1890189997.313.0 / 9.3 / 8.8 / 11.7 / 8.2 / 9.5 / 6.2 / 11.1 / 11.8 / 7.6PitcherPATL
4Willie Mays1957196696.98.3 / 10.2 / 7.8 / 9.5 / 8.7 / 10.5 / 10.6 / 11.0 / 11.2 / 9.0HitterOFSFG
5Cy Young1892190196.313.0 / 10.6 / 8.5 / 11.6 / 10.5 / 6.8 / 7.6 / 8.2 / 7.1 / 12.4PitcherPCLV
6Rogers Hornsby1920192993.89.7 / 10.9 / 10.1 / 6.8 / 12.1 / 10.2 / 4.4 / 10.2 / 8.9 / 10.6Hitter2BSTL
7Lou Gehrig1927193690.411.8 / 9.5 / 7.5 / 9.6 / 8.6 / 8.2 / 7.1 / 10.0 / 8.3 / 9.7Hitter1BNYY
8Barry Bonds1995200488.47.5 / 9.6 / 8.2 / 8.1 / 3.8 / 7.7 / 11.9 / 11.7 / 9.2 / 10.6HitterOFSFG
9Christy Mathewson1903191287.710.8 / 6.0 / 10.5 / 3.3 / 8.8 / 11.8 / 10.6 / 9.1 / 8.2 / 8.5PitcherPSFG
10Ty Cobb1909191887.09.9 / 10.3 / 10.5 / 8.8 / 7.0 / 5.5 / 9.5 / 8.0 / 11.0 / 6.4HitterOFDET
11Honus Wagner1900190986.46.8 / 7.2 / 7.3 / 7.6 / 8.3 / 10.2 / 9.3 / 9.0 / 11.5 / 9.2HitterSSPIT
12Mickey Mantle1952196183.36.3 / 5.8 / 6.9 / 9.5 / 11.2 / 11.3 / 8.7 / 6.6 / 6.3 / 10.4HitterOFNYY
13Pete Alexander1911192083.17.9 / 6.3 / 6.0 / 9.3 / 10.9 / 12.1 / 9.8 / 0.6 / 7.5 / 12.7Two-way / mixedPCHC
14Hank Aaron1958196782.27.3 / 8.6 / 8.0 / 9.4 / 8.6 / 9.1 / 6.8 / 7.9 / 7.8 / 8.5HitterOFATL
15John Clarkson1885189481.812.8 / 6.8 / 15.0 / 4.2 / 16.2 / 8.9 / 9.9 / 5.1 / 0.7 / 2.3PitcherPATL
16Albert Pujols2001201081.46.6 / 5.5 / 8.6 / 8.5 / 8.4 / 8.5 / 8.7 / 9.2 / 9.7 / 7.5Hitter1BSTL
17Alex Rodriguez1996200581.29.4 / 5.6 / 8.5 / 4.8 / 10.4 / 8.3 / 8.8 / 8.4 / 7.6 / 9.4HitterSSSEA
18Lefty Grove1928193779.57.2 / 7.4 / 10.3 / 10.0 / 9.2 / 7.3 / -0.6 / 8.8 / 10.6 / 9.2PitcherPBOS
19Mike Schmidt1974198379.29.7 / 7.7 / 8.0 / 8.8 / 6.2 / 7.9 / 8.9 / 7.7 / 7.4 / 6.9Hitter3BPHI
20Tris Speaker1912192179.010.1 / 8.8 / 9.9 / 7.1 / 8.9 / 7.9 / 5.8 / 5.4 / 8.7 / 6.6HitterOFBOS
21Stan Musial1946195578.69.3 / 5.1 / 11.3 / 9.1 / 7.2 / 8.8 / 7.5 / 7.6 / 6.5 / 6.2HitterOFSTL
22Tim Keefe1880188977.74.6 / 3.3 / 5.2 / 20.2 / 8.3 / 6.6 / 9.4 / 7.5 / 9.1 / 3.4PitcherPNYP
23Eddie Collins1909191877.59.7 / 9.8 / 6.7 / 8.8 / 9.4 / 8.9 / 9.1 / 7.0 / 5.0 / 3.0Hitter2BOAK
24Jim McCormick1878188776.22.0 / 9.8 / 10.8 / 7.0 / 10.9 / 8.2 / 14.8 / 2.6 / 7.2 / 2.8PitcherPCBL
25Tom Seaver1968197775.67.0 / 7.2 / 6.4 / 10.9 / 5.6 / 11.0 / 5.8 / 8.2 / 5.2 / 8.4PitcherPNYM
26Mike Trout2012202175.410.5 / 8.9 / 7.7 / 9.5 / 10.4 / 6.9 / 9.9 / 7.8 / 1.8 / 1.9HitterOFANA
27Nap Lajoie1901191075.18.3 / 5.0 / 7.9 / 8.5 / 3.0 / 10.0 / 7.6 / 7.9 / 6.5 / 10.3Hitter2BCLE
28Old Hoss Radbourn1881189074.83.9 / 7.9 / 14.3 / 19.4 / 8.5 / 4.7 / 2.2 / 1.5 / 4.6 / 7.8Two-way / mixedPPRO
29Bob Gibson1964197372.96.0 / 7.6 / 6.4 / 2.7 / 11.9 / 11.3 / 10.1 / 5.0 / 7.8 / 4.2PitcherPSTL
30Pedro Martinez1996200572.53.8 / 8.8 / 7.1 / 9.8 / 11.7 / 5.1 / 6.4 / 8.0 / 5.4 / 6.5PitcherPBOS
Longest streaks of 5+ WAR seasons (top 25)
#PlayerFromToSeasonsTotal WARRolePos
1Hank Aaron1955197117130.6HitterOF
2Cy Young1891190515137.3PitcherP
3Tris Speaker1909192315115.2HitterOF
4Honus Wagner1899191214112.9HitterSS
5Mike Schmidt1974198714103.5Hitter3B
6Willie Mays1954196613124.1HitterOF
7Ty Cobb1907191913105.3HitterOF
8Kid Nichols1890190112109.0PitcherP
9Lou Gehrig1926193712105.5Hitter1B
10Barry Bonds198719981296.4HitterOF
11Stan Musial194619571290.3HitterOF
12Mel Ott192919401283.0Hitter3B
13Mickey Mantle195219621189.2HitterOF
14Albert Pujols200120111186.6Hitter1B
15Tom Seaver196719771182.2PitcherP
16Eddie Mathews195319631179.0Hitter3B
17Walter Johnson1910191910120.3PitcherP
18Babe Ruth19161924992.2Two-way / mixedOF
19Rogers Hornsby19171925981.6Hitter2B
20Eddie Collins19091917974.5Hitter2B
21Pedro Martinez19972005968.8PitcherP
22Roberto Clemente19631971965.2HitterOF
23Mike Trout20122019871.7HitterOF
24Lefty Grove19261933863.5PitcherP
25Arky Vaughan19331940858.7HitterSS
Longest streaks of 6+ WAR seasons (top 25)
#PlayerFromToSeasonsTotal WARRolePos
1Cy Young1891190515137.3PitcherP
2Hank Aaron1955196915118.3HitterOF
3Willie Mays1954196613124.1HitterOF
4Lou Gehrig1926193712105.5Hitter1B
5Honus Wagner189919091192.4HitterSS
6Barry Bonds198819981190.6HitterOF
7Mike Schmidt197419841186.2Hitter3B
8Walter Johnson1910191910120.3PitcherP
9Kid Nichols189018991097.3PitcherP
10Babe Ruth19161924992.2Two-way / mixedOF
11Tris Speaker19091917972.8HitterOF
12Mike Trout20122019871.7HitterOF
13Mickey Mantle19541961871.1HitterOF
14Eddie Collins19091916869.4Hitter2B
15Albert Pujols20032010869.2Hitter1B
16Stan Musial19481955864.2HitterOF
17Rogers Hornsby19191925766.3Hitter2B
18Christy Mathewson19071913764.2PitcherP
19Ty Cobb19071913759.5HitterOF
20Wade Boggs19831989756.3Hitter3B
21Rickey Henderson19801986751.3HitterOF
22Jim McCormick18791884661.5PitcherP
23Tim Keefe18831888661.2PitcherP
24Ed Walsh19071912659.4PitcherP
25Amos Rusie18901895655.1PitcherP
Longest streaks of 8+ WAR seasons (top 25)
#PlayerFromToSeasonsTotal WARRolePos
1Walter Johnson1910191910120.3PitcherP
2Babe Ruth19261932771.7HitterOF
3Willie Mays19601966770.5HitterOF
4Albert Pujols20032009761.7Hitter1B
5Kid Nichols18901895660.4PitcherP
6Honus Wagner19041909657.5HitterSS
7Christy Mathewson19071912657.1PitcherP
8Cy Young18921896554.3PitcherP
9Joe Morgan19721976547.8Hitter2B
10Hank Aaron19591963543.8HitterOF
11Wade Boggs19851989542.2Hitter3B
12Tommy Bond18761879449.6PitcherP
13Barry Bonds20012004443.4HitterOF
14Pete Alexander19141917442.1PitcherP
15Mickey Mantle19551958440.8HitterOF
16Ty Cobb19091912439.6HitterOF
17Jim Whitney18811884438.9Two-way / mixedTwo-way
18Shohei Ohtani20212024437.6Two-way / mixedTwo-way
19Ted Williams19461949437.4HitterOF
20Randy Johnson19992002436.7PitcherP
21Eddie Collins19121915436.2Hitter2B
22Lou Gehrig19341937436.2Hitter1B
23Alex Rodriguez20002003435.9HitterSS
24Robin Roberts19511954435.8PitcherP
25Old Hoss Radbourn18831885342.2PitcherP
Both seasons elite: both >= 6 WAR (top 15)
#PlayerFromToWARSeason-by-season WARRolePosTeam
1Old Hoss Radbourn1883188433.814.3 / 19.4PitcherPPRO
2Walter Johnson191219133215.4 / 16.6PitcherPMIN
3Jim Devlin1876187731.718.3 / 13.4PitcherPLGR
4Tim Keefe1883188428.620.2 / 8.3PitcherPNYP
5Pud Galvin1883188428.29.8 / 18.4PitcherPBUF
6Tommy Bond1878187927.813.4 / 14.3PitcherPATL
7Guy Hecker1884188526.017.8 / 8.2PitcherPLOU
8Babe Ruth1923192425.514.1 / 11.3HitterOFNYY
9John Clarkson1889189025.016.2 / 8.9PitcherPATL
10Amos Rusie1893189424.911.2 / 13.7PitcherPSFG
11Silver King1888188924.616.0 / 8.5PitcherPSTL
12Cy Young1892189323.613.0 / 10.6PitcherPCLV
13Barry Bonds2001200223.611.9 / 11.7HitterOFSFG
14Bob Gibson1968196923.211.9 / 11.3PitcherPSTL
15Ed Morris1885188623.112.7 / 10.4PitcherPPIT
Both seasons elite: both >= 8 WAR (top 15)
#PlayerFromToWARSeason-by-season WARRolePosTeam
1Old Hoss Radbourn1883188433.814.3 / 19.4PitcherPPRO
2Walter Johnson191219133215.4 / 16.6PitcherPMIN
3Jim Devlin1876187731.718.3 / 13.4PitcherPLGR
4Tim Keefe1883188428.620.2 / 8.3PitcherPNYP
5Pud Galvin1883188428.29.8 / 18.4PitcherPBUF
6Tommy Bond1878187927.813.4 / 14.3PitcherPATL
7Guy Hecker1884188526.017.8 / 8.2PitcherPLOU
8Babe Ruth1923192425.514.1 / 11.3HitterOFNYY
9John Clarkson1889189025.016.2 / 8.9PitcherPATL
10Amos Rusie1893189424.911.2 / 13.7PitcherPSFG
11Silver King1888188924.616.0 / 8.5PitcherPSTL
12Cy Young1892189323.613.0 / 10.6PitcherPCLV
13Barry Bonds2001200223.611.9 / 11.7HitterOFSFG
14Bob Gibson1968196923.211.9 / 11.3PitcherPSTL
15Ed Morris1885188623.112.7 / 10.4PitcherPPIT
Both seasons elite: both >= 10 WAR (top 15)
#PlayerFromToWARSeason-by-season WARRolePosTeam
1Old Hoss Radbourn1883188433.814.3 / 19.4PitcherPPRO
2Walter Johnson191219133215.4 / 16.6PitcherPMIN
3Jim Devlin1876187731.718.3 / 13.4PitcherPLGR
4Tommy Bond1878187927.813.4 / 14.3PitcherPATL
5Babe Ruth1923192425.514.1 / 11.3HitterOFNYY
6Amos Rusie1893189424.911.2 / 13.7PitcherPSFG
7Cy Young1892189323.613.0 / 10.6PitcherPCLV
8Barry Bonds2001200223.611.9 / 11.7HitterOFSFG
9Bob Gibson1968196923.211.9 / 11.3PitcherPSTL
10Ed Morris1885188623.112.7 / 10.4PitcherPPIT
11Charlie Buffinton1888188923.112.0 / 11.1PitcherPPHI
12Pete Alexander1915191623.010.9 / 12.1PitcherPPHI
13Kid Nichols1897189822.911.1 / 11.8PitcherPATL
14Carl Yastrzemski1967196822.912.4 / 10.5HitterOFBOS
15Mickey Welch1884188522.912.3 / 10.6PitcherPSFG
Both seasons elite: both seasons top-5 in MLB (WAR) (top 15)
#PlayerFromToWARSeason-by-season WARRolePosTeam
1Old Hoss Radbourn1883188433.814.3 / 19.4PitcherPPRO
2Walter Johnson191219133215.4 / 16.6PitcherPMIN
3Jim Devlin1876187731.718.3 / 13.4PitcherPLGR
4Pud Galvin1883188428.29.8 / 18.4PitcherPBUF
5Tommy Bond1878187927.813.4 / 14.3PitcherPATL
6Babe Ruth1923192425.514.1 / 11.3HitterOFNYY
7Amos Rusie1893189424.911.2 / 13.7PitcherPSFG
8Cy Young1892189323.613.0 / 10.6PitcherPCLV
9Barry Bonds2001200223.611.9 / 11.7HitterOFSFG
10Bob Gibson1968196923.211.9 / 11.3PitcherPSTL
11Charlie Buffinton1888188923.112.0 / 11.1PitcherPPHI
12Pete Alexander1915191623.010.9 / 12.1PitcherPPHI
13Kid Nichols1897189822.911.1 / 11.8PitcherPATL
14Carl Yastrzemski1967196822.912.4 / 10.5HitterOFBOS
15Mickey Mantle1956195722.611.2 / 11.3HitterOFNYY
Both seasons elite: both seasons #1 in MLB (WAR) (top 15)
#PlayerFromToWARSeason-by-season WARRolePosTeam
1Walter Johnson191219133215.4 / 16.6PitcherPMIN
2Jim Devlin1876187731.718.3 / 13.4PitcherPLGR
3Tommy Bond1878187927.813.4 / 14.3PitcherPATL
4Babe Ruth1926192724.011.4 / 12.6HitterOFNYY
5Barry Bonds2001200223.611.9 / 11.7HitterOFSFG
6Bob Gibson1968196923.211.9 / 11.3PitcherPSTL
7Kid Nichols1897189822.911.1 / 11.8PitcherPATL
8Mickey Mantle1956195722.611.2 / 11.3HitterOFNYY
9Cy Young1901190222.512.4 / 10.1PitcherPBOS
10Christy Mathewson1908190922.411.8 / 10.6PitcherPSFG
11Rogers Hornsby1924192522.312.1 / 10.2Hitter2BSTL
12Willie Mays1964196522.211.0 / 11.2HitterOFSFG
13Pedro Martinez1999200021.59.8 / 11.7PitcherPBOS
14Ted Williams1941194220.810.4 / 10.4HitterOFBOS
15Joe Morgan1975197620.611.0 / 9.6Hitter2BCIN
Both seasons elite: highest FLOOR (weaker of the two seasons) (top 15)
#PlayerFromToWARSeason-by-season WARRolePosTeam
1Walter Johnson191219133215.4 / 16.6PitcherPMIN
2Old Hoss Radbourn1883188433.814.3 / 19.4PitcherPPRO
3Tommy Bond1878187927.813.4 / 14.3PitcherPATL
4Jim Devlin1876187731.718.3 / 13.4PitcherPLGR
5Babe Ruth1920192124.411.8 / 12.6HitterOFNYY
6Barry Bonds2001200223.611.9 / 11.7HitterOFSFG
7Bob Gibson1968196923.211.9 / 11.3PitcherPSTL
8Mickey Mantle1956195722.611.2 / 11.3HitterOFNYY
9Amos Rusie1893189424.911.2 / 13.7PitcherPSFG
10Kid Nichols1897189822.911.1 / 11.8PitcherPATL
11Charlie Buffinton1888188923.112.0 / 11.1PitcherPPHI
12Willie Mays1964196522.211.0 / 11.2HitterOFSFG
13Pete Alexander1915191623.010.9 / 12.1PitcherPPHI
14Bob Caruthers1886188722.211.6 / 10.7Two-way / mixedTwo-waySTL
15Cy Young1892189323.613.0 / 10.6PitcherPCLV
Era cutoff sensitivity (top 5 either side of each cutoff, 2- and 5-year)
YearsCutoffSide#PlayerFromToWAR
21901Pre-19011Old Hoss Radbourn1883188433.8
21901Pre-19012Jim Devlin1876187731.7
21901Pre-19013Tim Keefe1883188428.6
21901Pre-19014Pud Galvin1883188428.2
21901Pre-19015Tommy Bond1878187927.8
219011901+1Walter Johnson1912191332
219011901+2Babe Ruth1923192425.5
219011901+3Barry Bonds2001200223.6
219011901+4Bob Gibson1968196923.2
219011901+5Pete Alexander1915191623.0
21920Pre-19201Old Hoss Radbourn1883188433.8
21920Pre-19202Walter Johnson1912191332
21920Pre-19203Jim Devlin1876187731.7
21920Pre-19204Tim Keefe1883188428.6
21920Pre-19205Pud Galvin1883188428.2
219201920+1Babe Ruth1923192425.5
219201920+2Barry Bonds2001200223.6
219201920+3Bob Gibson1968196923.2
219201920+4Carl Yastrzemski1967196822.9
219201920+5Mickey Mantle1956195722.6
21947Pre-19471Old Hoss Radbourn1883188433.8
21947Pre-19472Walter Johnson1912191332
21947Pre-19473Jim Devlin1876187731.7
21947Pre-19474Tim Keefe1883188428.6
21947Pre-19475Pud Galvin1883188428.2
219471947+1Barry Bonds2001200223.6
219471947+2Bob Gibson1968196923.2
219471947+3Carl Yastrzemski1967196822.9
219471947+4Mickey Mantle1956195722.6
219471947+5Willie Mays1964196522.2
21969Pre-19691Old Hoss Radbourn1883188433.8
21969Pre-19692Walter Johnson1912191332
21969Pre-19693Jim Devlin1876187731.7
21969Pre-19694Tim Keefe1883188428.6
21969Pre-19695Pud Galvin1883188428.2
219691969+1Barry Bonds2001200223.6
219691969+2Pedro Martinez1999200021.5
219691969+3Bob Gibson1969197021.3
219691969+4Wilbur Wood1971197221.3
219691969+5Joe Morgan1975197620.6
51901Pre-19011John Clarkson1885188955
51901Pre-19012Old Hoss Radbourn1882188654.9
51901Pre-19013Cy Young1892189654.3
51901Pre-19014Tim Keefe1883188752.1
51901Pre-19015Jim McCormick1880188451.7
519011901+1Walter Johnson1912191669.1
519011901+2Babe Ruth1920192456.2
519011901+3Willie Mays1962196652.3
519011901+4Ed Walsh1908191251.8
519011901+5Barry Bonds2000200451.1
51920Pre-19201Walter Johnson1912191669.1
51920Pre-19202John Clarkson1885188955
51920Pre-19203Old Hoss Radbourn1882188654.9
51920Pre-19204Cy Young1892189654.3
51920Pre-19205Tim Keefe1883188752.1
519201920+1Babe Ruth1920192456.2
519201920+2Willie Mays1962196652.3
519201920+3Barry Bonds2000200451.1
519201920+4Rogers Hornsby1921192550.1
519201920+5Joe Morgan1972197647.8
51947Pre-19471Walter Johnson1912191669.1
51947Pre-19472Babe Ruth1920192456.2
51947Pre-19473John Clarkson1885188955
51947Pre-19474Old Hoss Radbourn1882188654.9
51947Pre-19475Cy Young1892189654.3
519471947+1Willie Mays1962196652.3
519471947+2Barry Bonds2000200451.1
519471947+3Joe Morgan1972197647.8
519471947+4Mickey Mantle1954195847.7
519471947+5Mike Trout2012201647.1
51969Pre-19691Walter Johnson1912191669.1
51969Pre-19692Babe Ruth1920192456.2
51969Pre-19693John Clarkson1885188955
51969Pre-19694Old Hoss Radbourn1882188654.9
51969Pre-19695Cy Young1892189654.3
519691969+1Barry Bonds2000200451.1
519691969+2Joe Morgan1972197647.8
519691969+3Mike Trout2012201647.1
519691969+4Albert Pujols2005200944.6
519691969+5Alex Rodriguez2000200443.5
Peak vs. longevity (top 80 careers)
PlayerDebutLastCareer WARBest 5-yrShare of career in best 5Type
Babe Ruth19141935182.656.20.3Longevity (<=35% of WAR in best 5 yrs)
Walter Johnson19071927168.369.10.4Balanced
Cy Young18901911163.654.30.3Longevity (<=35% of WAR in best 5 yrs)
Barry Bonds19862007162.851.10.3Longevity (<=35% of WAR in best 5 yrs)
Willie Mays19511973156.252.30.3Longevity (<=35% of WAR in best 5 yrs)
Ty Cobb19051928149.846.50.3Longevity (<=35% of WAR in best 5 yrs)
Hank Aaron19541976143.243.80.3Longevity (<=35% of WAR in best 5 yrs)
Roger Clemens19842007139.241.40.3Longevity (<=35% of WAR in best 5 yrs)
Tris Speaker19071928136.144.70.3Longevity (<=35% of WAR in best 5 yrs)
Honus Wagner18971917132.849.20.4Balanced
Stan Musial19411963128.543.90.3Longevity (<=35% of WAR in best 5 yrs)
Rogers Hornsby19151937127.450.10.4Balanced
Eddie Collins19061930123.744.40.4Balanced
Ted Williams19391960121.741.30.3Longevity (<=35% of WAR in best 5 yrs)
Pete Alexander19111930119.948.10.4Balanced
Kid Nichols18901906118.251.00.4Balanced
Alex Rodriguez19942016117.443.50.4Balanced
Lou Gehrig19231939113.547.10.4Balanced
Rickey Henderson19792003111.236.20.3Longevity (<=35% of WAR in best 5 yrs)
Mel Ott19261947110.737.90.3Longevity (<=35% of WAR in best 5 yrs)
Mickey Mantle19511968110.347.70.4Balanced
Tom Seaver19671986109.941.50.4Balanced
Nap Lajoie18961916108.742.30.4Balanced
Frank Robinson19561976107.235.20.3Longevity (<=35% of WAR in best 5 yrs)
Christy Mathewson19001916107.248.60.5Balanced
Mike Schmidt19721989106.940.50.4Balanced
Lefty Grove19251941106.844.30.4Balanced
Greg Maddux19862008106.640.60.4Balanced
Albert Pujols20012022101.244.60.4Balanced
Randy Johnson19882009101.142.10.4Balanced
Joe Morgan19631984100.647.80.5Balanced
Warren Spahn19421965100.235.20.3Balanced
Carl Yastrzemski1961198396.443.50.5Balanced
Eddie Mathews1952196896.036.60.4Balanced
Cal Ripken1981200195.935.50.4Balanced
Phil Niekro1964198795.940.30.4Balanced
Roberto Clemente1955197295.040.00.4Balanced
Bert Blyleven1970199294.535.90.4Balanced
Adrian Beltre1998201893.732.50.3Longevity (<=35% of WAR in best 5 yrs)
Al Kaline1953197492.832.70.3Balanced
Jimmie Foxx1925194592.741.10.4Balanced
Eddie Plank1901191791.535.40.4Balanced
Wade Boggs1982199991.442.20.5Balanced
Steve Carlton1965198890.230.90.3Longevity (<=35% of WAR in best 5 yrs)
Gaylord Perry1962198390.038.90.4Balanced
Bob Gibson1959197589.246.00.5Balanced
George Brett1973199388.638.50.4Balanced
Tim Keefe1880189386.952.10.6Peak-heavy (>=55% of WAR in best 5 yrs)
Robin Roberts1948196686.242.70.5Balanced
Mike Trout2011202485.947.10.6Balanced
Chipper Jones1993201285.331.30.4Balanced
Cap Anson1876189784.830.90.4Balanced
Charlie Gehringer1924194284.640.40.5Balanced
George Davis1890190984.327.40.3Longevity (<=35% of WAR in best 5 yrs)
Roger Connor1880189784.234.60.4Balanced
Fergie Jenkins1965198384.138.10.5Balanced
Pedro Martinez1992200983.942.40.5Balanced
Ken Griffey1989201083.837.80.5Balanced
John Clarkson1882189483.2550.7Peak-heavy (>=55% of WAR in best 5 yrs)
Mike Mussina1991200882.828.30.3Longevity (<=35% of WAR in best 5 yrs)
Nolan Ryan1966199381.327.50.3Longevity (<=35% of WAR in best 5 yrs)
Rod Carew1967198581.238.80.5Balanced
Tom Glavine1987200880.728.20.3Longevity (<=35% of WAR in best 5 yrs)
Justin Verlander2005202480.730.70.4Balanced
Jeff Bagwell1991200579.934.50.4Balanced
Pete Rose1963198679.631.40.4Balanced
Curt Schilling1988200779.535.60.5Balanced
Clayton Kershaw2008202479.338.30.5Balanced
Joe DiMaggio1936195178.938.60.5Balanced
Dan Brouthers1879190478.731.60.4Balanced
Brooks Robinson1955197778.333.30.4Balanced
Arky Vaughan1932194877.739.50.5Balanced
Zack Greinke2004202377.429.20.4Balanced
Robin Yount1974199377.435.70.5Balanced
Luke Appling1930195077.027.60.4Balanced
Ozzie Smith1978199676.932.30.4Balanced
Bobby Wallace1894191876.428.70.4Balanced
Jim McCormick1878188776.251.70.7Peak-heavy (>=55% of WAR in best 5 yrs)
Sam Crawford1899191775.926.10.3Longevity (<=35% of WAR in best 5 yrs)
Paul Molitor1978199875.725.40.3Longevity (<=35% of WAR in best 5 yrs)
The crown: record holders for every window length
SeasonsRecord holderFromToWAR
1Tim Keefe1883188320.2
2Old Hoss Radbourn1883188433.8
3Walter Johnson1912191445.1
4Walter Johnson1912191557.9
5Walter Johnson1912191669.1
6Walter Johnson1911191678.1
7Walter Johnson1912191889.3
8Walter Johnson19121919100.3
9Walter Johnson19101918109.3
10Walter Johnson19101919120.3
11Walter Johnson19091919124
12Walter Johnson19081919129.3
13Walter Johnson19101922133.9
14Babe Ruth19191932141.4
15Babe Ruth19171931148.6
16Babe Ruth19161931159
17Babe Ruth19161932167.4
18Babe Ruth19161933173.7
19Babe Ruth19161934178.6
20Babe Ruth19151934182.8
Sanity checks (all automated)
CheckResultPassed
one row per player-season105912 rows, 105912 distinctTRUE
WAR == WAR_bat + WAR_pit everywheremax |diff| = 1.78e-15TRUE
no missing WAR0 NAsTRUE
seasons within 1871-20241876-2024TRUE
only MLB leaguesAA,AL,FL,NL,PL,UATRUE
franchise match rate100.0% of player-seasons have a Lahman franchiseTRUE
all-time WAR is roughly zero-sum around replacement (sanity of scale)mean WAR per player-season = 0.88TRUE
Ruth: hitting WAR 162.1 (B-Ref position-player total) + pitching ~20.5 are both capturedbat 162.3 + pit 20.4 = 182.6TRUE
career totals within 8 WAR of B-Ref (16 icons)16 / 16 within toleranceTRUE
Ruth is the #1 HITTER for best 2-year stretch (1923-24)Babe Ruth 1923 1924TRUE
Ruth is #2 overall for best 5-year stretch (only Walter Johnson ahead)Walter Johnson, Babe RuthTRUE
Bonds is a top-3 post-1946 3-year stretch and top-10 overall 5-year stretchBob Gibson, Willie Mays, Barry Bonds | 10TRUE
Mays, Mantle, Gibson, Clemens, Maddux, Trout all rank top-60 for best 5-year WARBob Gibson 24; Greg Maddux 50; Mickey Mantle 19; Mike Trout 22; Roger Clemens 47; Willie Mays 6TRUE
Ruth 1918-1919 and Ohtani 2021-2023 are labelled Two-wayTwo-way Two-way Two-way Two-way Two-way Two-wayTRUE
Ohtani 2024 (DH only, no pitching) is a HitterHitterTRUE
shortened seasons flagged (1918, 1919, 1981, 1994, 1995, 2020)1918,1919,1981,1994,1995,2020TRUE
2020 pace factor ~ 162/602.7TRUE
Williams best 5-yr: service-adjusted bridges 1943-45 and beats strictservice-adjusted 1941-1948 49.2 | strict 1946-1950 41.3TRUE
Mays 1952 appears as a partial season (34 G) and 1953 is absent1 row 1952; 0 rows 1953TRUE
gap pairs are excluded from consecutive windowsTed Williams 1942 -> 1946TRUE
best 2-yr window equals sum of its two seasonsOld Hoss Radbourn 1883-1884 = 33.75TRUE
no window spans a missing year (strict mode)0 windows with skipped yearsTRUE

Method & caveats

Where the WAR comes from

Lahman has no WAR, so I used Baseball-Reference WAR ("bWAR") from their public daily files:

The download worked, so nothing was substituted. The raw files are saved in data/raw/, so re-runs don't change unless you delete them.

Definitions

Sanity checks

output/parts/sanity_checks_report.txt lists all 22 checks, and all pass. They cover:

Three of my first-draft checks failed and I changed them. I had expected Ruth to be a top-3 two-year player overall and Bonds a top-10 three-year player overall, which ignored the 1880s pitchers. I also had Ruth's career total at 162.1 when that is his hitting-only figure. I rewrote those checks to what the data should show, and explained that in the script comments.