Tag: MLB statistics

1910s MLB Team Rankings Countdown: 10 through 6

Welcome to the next countdown post in our series of 1910s MLB Team Rankings. As a reminder, the teams are ranked from #20 through #1 based on aggregate WAR162. For the 1910s (1910-1919), a total of 160 teams were eligible (16 teams x 10 seasons), so the top 20 teams are a fairly exclusive group. We’ll summarize each team, including portions of their team dashboard, and explain how they attained their ranking. So, without further ado, here are the teams ranked #10 through #6.

Here’s the interactive dashboard at Tableau Public: 1910s Top 20 MLB Teams Dashboard

The 1914 Athletics ran away with the AL pennant, topping the runner-up Red Sox by 8.5 games. Their run differential far surpassed all rivals as they continued a dominant run with one of their final great teams of this era. The team was especially dominant versus right-hand pitching, posting a 70-29 mark.

The Athletics offense embarrassed their AL rivals by scoring 134 more runs than the next team, and easily led the AL in BA, OBP, and OPS. The A’s weakness was a relatively ordinary pitching staff that placed 4th in ERA, 6th in WHIP, and 5th in strikeout-to-walk rate. The pitching staff was adequate in supporting a great offense, but it kept this squad from an even higher ranking.

Eddie Collins was the offensive leader, ably supported by Home Run Baker, a 1-2 punch that led this era of A’s teams to several pennants. Collins batted .344 with a .904 OPS, scored an NL-best 122 runs, and swiped 58 bases. Baker led the league with 9 homers, posted an .822 OPS, and drove in 85 runs. The A’s had additional positional depth courtesy of Jack Barry at shortstop, Wally Schang (.287 BA) at catcher, and Stuffy McInnis (.314 BA, 95 RBI) at first base. Charles Bender (“Chief”) logged a 17-3 mark with a 2.26 ERA, Rube Bressler went 10-4, primarily in relief, and Bob Shawkey won 15 games. Eddie Plank (38) and Herb Pennock (20), at opposite ends of the age spectrum, contributed 26 wins.

The 1913 edition of the Giants continued its dominance of the NL, waltzing to a 12.5 game margin over the Phillies. This would be the last great Giants team for some years, as a variety of NL clubs (Braves, Phillies, Robins) would top the NL over the next three seasons.

The Giants possessed a capable if not outstanding offense, ranking third in runs, second in doubles, and third in OPS. They did lead the NL in BA and stolen bases by solid margins. Pitching was the real strength of the team, with an ERA (2.42) far ahead of their NL rivals. They also easily topped the league in WHIP, hits per 9 innings, and strikeout-to-walk rate.

The Giants’ offense was characterized by contributions from a handful of solid role players, without any big stars. Shortstop Art Fletcher batted .297 with 71 RBI, catcher Jack Meyers was a .312 hitter, and 2ndc baseman Larry Doyle stole 38 bases while batting .280. Tillie Shafer batted .287 with 12 triples, and Fred Snodgrass batted .291 with 65 runs scored. The pitching staff was led by the veteran Christy Mathewson (25 wins, 2.06 ERA, NL-best 0.6 BB/9), Rube Marquard (23-10), and Jeff Tesreau (22-13, NL-best 7.1 hits per 9 innings).

The 1915 Tigers finished second in the AL despite their 100-win season, trailing the Red Sox by 2.5 games. They were a lucky team for much of the season, with a 34-16 mark in one-run games; unfortunately for the Tigers, the Red Sox also exceeded their projected win total by several games.

The Tigers were a high-scoring club, averaging 5 runs per game, far ahead of their AL rivals. They ranked first in BA, OBP, OPS, stolen bases, and doubles; it’s easy to understand why they scored so frequently. On the pitching side, they were merely average – fourth in ERA, fourth in WHIP, and fifth in strikeout-to-walk rate.

Ty Cobb was at the peak of his powers in the 1915 season, leading the AL in multiple categories – BA (.369), stolen bases (96), OPS (.973), and runs (144), to name a few. Cobb’s outfield mates Bobby Veach (.313 BA, 40 doubles) and Sam Crawford (19 triples, .299 BA) tied for the AL lead with 112 RBI apiece. Ossie Vitt (116 runs) was a solid contributor at third base, while light-hitting shortstop Donie Bush drew 118 walks. On the mound, Hooks Dauss (24-13) and Harry Coveleski (22-13) topped a rather average staff.

The 1915 Red Sox edge out the same Tigers team they beat in a tight 1915 pennant race, with their better pitching offsetting the Tigers’ prolific offense. Like the Tigers, the Red Sox exceeded their Pythagorean win projection (by 6 games); this was a 95-win team based on their metrics.

The Red Sox rank as an above-average offense for the 1915 season, certainly not at the Tigers’ level. They were 3rd in runs scored, 2nd in doubles, 2nd in BA, and 3rd in OBP and OPS. They also finished last in stolen bases, a far cry from the Cobb-led Tigers. On the mound, things were a bit stronger – 2nd in ERA, 2nd in WHIP, and 2nd in hits per 9 innings.

Center fielder Tris Speaker rates as the lone offensive standout for the 1915 version of the Sox, in addition to his superb defense. Speaker batted .322 with 108 runs scored, while his outfield partner, Duffy Lewis batted .291 with 76 RBI. Harry Hooper drew 89 walks, and Dick Hoblitzell batted .283. Five Red Sox pitchers topped the 4.0 WAR162 level, led by Rube Foster (19-8, 2.11 ERA). Smoky Joe Wood led the AL with a 1.49 ERA, Ernie Shore posted a 19-8 mark with a 1.64 ERA, and the 20-year-old Babe Ruth added 18 wins. Dutch Leonard led the AL with 6.4 hits per 9 innings on his way to a 15-7 record.

The 1912 Giants powered their way to 103 wins on the back of a prolific offense combined with very good pitching. The New Yorkers were in a dominant stretch that saw them win three consecutive pennants between 1911 and 1913.

The Giants boasted the NL’s top offense, scoring 5.3 runs per game, well ahead of the Cubs and Pirates. Their 319 steals were far ahead of all rivals, and they also paced the NL in BA, OBP, and OPS. On the mound, the Giants were also dominant, leading the NL in ERA, WHIP, and strikeout-to-walk rate, issuing the fewest bases on balls in the NL.

Once again, the Giants’ offense lacked star power, but thrived on the depth of their lineup. Larry Doyle produced with a .330 BA and 91 RBI, followed by catcher Jack Meyers, who led the NL with a .441 OBP built off a .358 BA. Buck Herzog stole 37 bases while playing a strong third base, and Art Fletcher hit .282 from his shortstop position. Christy Mathewson was again the top pitcher, with a 2.12 ERA and a league-best 1.0 walks per 9 innings. Rube Marquard went 26-11 in support of Mathewson, and Jeff Tesreau led the NL with a 1.96 ERA while posting a 17-7 record.

Summary

That’s it for this entry in our MLB Team Rankings for the 1910s decade! Stay tuned for the countdown from #5 to #1, arriving in a few days. As always, thanks for reading!

1910s MLB Team Rankings Countdown: 15 through 11

Welcome to the next countdown post in our series of 1910s MLB Team Rankings. As a reminder, the teams are ranked from #20 through #1 based on aggregate WAR162. For the 1910s (1910-1919), a total of 160 teams were eligible (16 teams x 10 seasons), so the top 20 teams are a fairly exclusive group. We’ll summarize each team, including portions of their team dashboard, and explain how they attained their ranking. So, without further ado, here are the teams ranked #15 through #11.

Here’s the interactive dashboard at Tableau Public: 1910s Top 20 MLB Teams Dashboard

The 1910 Giants won 91 games but finished 13 games behind a powerhouse Cubs team. They had a strong offense and good pitching, but not enough of both to derail the Cubs. However, this was just the beginning for a franchise that would become dominant in the coming years.

The Giants led the NL in multiple offensive measures – runs, BA, OBP, and OPS, and ranked second in stolen bases. The pitching was also solid – second in ERA, third in WHIP, and first in strikeouts. Defense was a bit of an issue, as their 291 errors ranked near the bottom of the league, whereas the Cubs committed the fewest of any NL team.

Fred Snodgrass compiled the highest WAR among position players despite missing 31 games, batting .321 with an exceptional .440 OBP and 33 steals; Larry Doyle stole 39 bases and batted .285, while Al Bridwell posted a .374 OBP. Christy Mathewson was the ace on the mound, topping the NL in wins (27), complete games (27), and strikeout-to-walk rate (3.07). From there, it was a fairly steep drop to Louis Drucke (12-10, 2.47 ERA) and Hooks Wiltse (14-12, 2.72 ERA).

The 1919 Reds are the first Cincinnati team to appear in the rankings, having won the NL pennant and the World Series (the infamous Black Sox scandal series). While history views the White Sox as the superior team, the Reds rank just one spot behind the Chicago squad in these rankings after cruising to the NL title by a comfortable 9-game margin.

The Reds were a bit lucky with their 96 wins; the Pythagorean projection was for 92. Regardless, they were the best NL team with the best run differential. The team finished first in OBP and second in runs, BA, OPS, and stolen bases. On the pitching side, the Reds led the league in WHIP and complete games, and placed second in ERA. Offensively and on the mound, they were a balanced club without a lot of stars.

Heinie Groh and Edd Roush led the way offensively. Groh paced the NL with an .823 OPS, batting .310, while Roush led the league with a .321 BA. Morrie Rath covered a lot of ground defensively from his second base position while batting a solid .264. On the mound, the Reds boasted three starters with similar success rates. Hod Eller posted a 19-9 mark while Dutch Ruether went 19-6 with a 1.82 ERA. Slim Sallee chalked up the most wins on the staff with 21; it was a well-balanced staff with ample support beyond the top three.

The 1919 White Sox won the AL pennant by 3.5 games over the Indians, buoyed by a 30-19 mark in one-run games. They were certainly a very good team, but hardly the powerhouse squad history makes them out to be. As we previously noted, the 1919 Reds team they faced in the World Series is regarded as virtually identical from a WAR162 perspective.

The White Sox led the AL in runs, BA, and stolen bases, while placing second in OBP and OPS. They did have the best run differential in the league, the result of a solid offense, above-average pitching, and good defense. While their team ERA ranked fifth, they were second in WHIP and had the best strikeout-to-walk rate in the NL.

Joe Jackson (“Shoeless Joe”) and Eddie Collins were the standout position players, with Jackson batting .351 with 96 RBI and a .928 OPS. Collins stole 33 bases, best in the AL, and batted .319. Happy Felsch (34 doubles, .275 BA) and Buck Weaver (.296 BA, 89 runs) provided ample support. Eddie Cicotte had a sensational year, leading the league in wins (29), innings (306), complete games (30), and walks per 9 innings (1.4). Lefty Williams put together a 23-11 season, and Dickey Kerr went 13-7, primarily in relief.

The 1912 Pirates were a fine team that had the misfortune to compete against a loaded Giants team, relegating them to a distant second-place finish, 10 games back.

The Pirates’ .284 BA was second behind the Giants, and they ranked third in runs and OPS. They did hit the most triples in the NL, but were middle of the pack on many offensive measures. The pitching was a bright spot, where they tossed 18 shutouts (NL-best) and compiled a 2.85 ERA (2nd). The Pirates staff also struck out the most batters in the league. This combination of effective pitching and average to above-average offense was good enough to seal the team’s second-place finish.

An aging Honus Wagner (38) was still the offensive catalyst for Pittsburgh. Wagner batted .324, had an .891 OPS, stole 26 bases, and accumulated 101 RBI. Owen Wilson logged an incredible NL-best 36 triples along with 11 homers and a .300 BA, and 22-year-old Max Carey stole 45 bases while batting .302. The pitching was balanced in the absence of any major stars. Claude Hendrix assembled a 24-9 record with a 2.59 ERA, while veteran Howie Camnitz posted a 22-12 slate. Hank Robinson was effective, often out of the bullpen, and Marty O’Toole won 15 games, leading the NL with 6 shutouts.

The 1910 Cubs won the NL pennant by 13 games over the Giants; those roles would begin to reverse the following season. This club continued the Cubs’ stretch of excellence that saw four pennants in a five-season span, starting with the 1906 club.

The Cubs’ possessed a solid offense – 2nd in runs, 2nd in doubles, 2nd in triples, 2nd in BA, and 2nd in OPS. In most of these categories, they were looking up at the Giants, who were ascending as the top NL offense for the next several years. As usual, pitching is where the team really excelled, starting with a league-best 2.51 ERA and 25 shutouts. The staff also recorded the best WHIP, narrowly edging the Pirates, and allowed the fewest hits per 9 innings.

The Cubs rarely had a dominant hitter like some of their competitors in this period, but they had multiple contributors who often provided 3-6 WAR162 each season. For 1910, those players were outfielder Solly Hofman, who batted .325 with an .867 OPS, Joe Tinker, with a .288 BA and solid defense at shortstop, and 2nd baseman Johnny Evers, with 108 walks leading to a .413 OPS. Mordecai Brown again led the Cubs pitchers, posting a 25-14 record with a 1.86 ERA, and earning the unusual honor of leading the NL in both complete games and saves, as well as shutouts. King Cole led the NL with a 1.80 ERA to support his 20-4 record, and Orval Overall (12) and Harry McIntire (13) combined for 25 wins.

Summary

That’s it for this entry in our MLB Team Rankings for the 1910s decade! Stay tuned for the countdown from #10 to #6, arriving in a few days. As always, thanks for reading!

MLB Team Rankings Countdown: 1910s 20 through 16

Welcome to the first countdown post in our series of MLB team rankings by decade. As a reminder, the teams are ranked from #20 through #1 based on aggregate WAR162. For the 1910s (1910-1919), a total of 160 teams were eligible (16 teams x 10 seasons), so the top 20 teams are a fairly exclusive group. We’ll summarize each team, including portions of their team dashboard, and explain how they attained their ranking. So, without further ado, here are the teams ranked #20 through #16.

Here’s the interactive dashboard at Tableau Public: 1910s Top 20 MLB Teams Dashboard

The Indians finished the 1919 season in second place in the AL, 3.5 games behind the White Sox (the infamous Black Sox team). Each team outperformed its Pythagorean projections by 4 games, so there was no unlucky aspect to this Indians team; the White Sox were simply better.

The Indians’ 634 runs trailed only the White Sox, while their .278 BA ranked third in the AL. The team led the AL in doubles, OBP, and OPS, while placing closer to league average in home runs, triples, and steals. The team ERA ranked second, trailing only the Yankees, but they placed third or lower in most other pitching categories.

Tris Speaker topped a solid offensive core with his 6.0 WAR value, featuring a .395 OBP, .828 OPS, and 38 doubles. Steve O’Neill provided strong numbers from his catcher spot, batting .289 with 35 doubles, and Larry Gardner batted an even .300. Ray Chapman also hit .300, while Joe Harris was an effective backup, hitting .375 with a .962 OPS in his 228 plate appearances. Stan Coveleski was the mound star, posting a 24-12 mark across 286 innings, followed by Jim Bagby, wh won 17 games from the second spot in the rotation.

The 1918 Cubs won the NL by 10.5 games over the Giants, and their run differential was more than double that of any other club. Their win projection was 83 games, so they weren’t especially lucky, just far better than their rivals.

Offensively, the Cubs .265 BA was a distant second to the Reds, as were OPS and OBP. Similarly, their 159 steals trailed the Pirates; in short, the Cubs were good, but not great, with the bats. Pitching was a different story. Their 2.18 ERA was far ahead of the second-ranked Pirates, and their strikeout-to-walk ratio and walks per 9 innings topped the NL. The team also ranked second in WHIP for the 1918 season.

Charlie Hollocher led a productive yet little-known group of position players, batting .316 with an NL-best 161 hits. Fred Merkle batted .297, and 36-year-old Dode Paskert hit .286 to lead the offense. On the mound, Hippo Vaughn topped the NL in wins (22), ERA (1.74), shutouts (8), strikeouts (148), and WHIP (1.006). Lefty Tyler was a strong second starter, winning 19 with a 2.00 ERA, and Claude Hendrix went 20-7 as the third man in the rotation.

The 1917 Giants were the runaway NL champs, finishing 10 games out front of the Phillies. This would be their last pennant-winning team of the decade, as the Cubs and Reds rose to the top in 1918-1919. The 1917 team was also the fifth Giants team to place in the top 20 for the decade, a very impressive feat.

The Giants topped the NL with 635 runs, 39 homers, a .317 OBP, and 162 steals. They placed second in BA and OPS to the Reds. Their pitching staff recorded a 2.27 ERA, 7.7 hits per 9 innings, and 1.085 WHIP to top the league. This was a team with great offensive and defensive balance, despite the lack of prominent star players.

Art Fletcher and George Burns provided the positional spark for the Giants – Fletcher with a .260 BA and strong defense at shortstop, and Burns with 103 runs, 75 walks (both NL-best) and a .302 BA. Heinie Zimmerman led the league with 100 RBI and batted .297, and Benny Kauff batted .308. Ferdie Schupp was the ace, posting a 21-7 mark with a 1.95 ERA and an NL-best 6.7 hits per 9 innings. Pol Perritt went 17-7 with a 1.88 ERA, and Fred Anderson sported a league-best 1.44 ERA. Slim Sallee won 18 games, walking just 34 batters in 215 innings.

The A’s won 96 games to claim the AL pennant by 6.5 games over the Nationals. Most of their work was done on offense, as we’ll see in a moment.

The A’s led the league by an astounding 162 runs – more than 1 run per game. Unsurprisingly, they also led the AL in BA, OBP, and OPS, home runs, and doubles, while placing second in stolen bases. This team was a bit of an offensive juggernaut for the 1913 season. Pitching was a different story – 6th in ERA, 8th in complete games, third in WHIP and hits per 9 innings, and 8th in walks per 9 innings. This was a team that simply outscored the opponent on a regular basis.

Eddie Collins and Home Run Baker were the biggest offensive stars for the A’s. Collins batted .345 with an .894 OPS, stole 55 bases, and led the NL with 125 runs scored. Baker led the NL with 12 home runs and 117 RBI while batting .337. Stuffy McInnis (.324 BA, 90 RBI) and Jack Barry (.275 BA, 85 RBI) were also strong contributors to this dynamic offense. Eddie Plank and Charles Bender were the staff standouts, albeit with modest seasons by their standards. Plank authored an 18-10 mark with a 2.60 ERA, while Bender led the NL with 13 saves (saves were rare in this era) and a 21-10 record.

The White Sox ran away with the 1917 AL pennant, finishing 9 games ahead of the Red Sox. This team was largely comprised of the same players who would go down in infamy two seasons later as the Black Sox, after being accused of fixing the 1919 World Series.

The 1917 version of the White Sox led the AL in runs scored, with only the Tigers close behind. The Chicagoans also led the AL in triples, stolen bases, and OBP in a scrappy sort of offensive attack. Pitching was the real strength of the club, with AL-best marks in ERA (2.16), shutouts (22), and walks per 9 innings (2.6). The pitching staff also performed well on WHIP (2nd) and strikeout-to-walk ratio (2nd).

Three position players stood out for the 1917 White Sox – Joe Jackson, Eddie Collins, and Happy Felsch. Jackson had one of his lesser seasons, but still batted .301 with 82 RBI and an .805 OPS, while Collins posted a .389 OBP with 53 stolen bases. Felsch paired a .308 BA with 99 RBI and 26 steals. The pitching was led by veteran Eddie Cicotte, who had a career year with a 28-12 record, 1.53 ERA, and 0.912 WHIP, leading the NL in each category. Reb Russell won 15 games with a 1.95 ERA, while Red Faber (16 wins) and Dave Danforth (9 saves) also contributed.

Summary

That’s it for the first entry in our MLB Team Rankings for the 1910s decade! Stay tuned for the countdown from #15 to #11, arriving in a few days. As always, thanks for reading!

MLB Team Rankings Countdown: 1900s 5 through 1

Welcome to the next countdown post in our series of MLB team rankings by decade. As a reminder, the teams are ranked from #20 through #1 based on aggregate WAR162. For the 1900s (1901-1909), a total of 144 teams were eligible (16 teams x 9 seasons), so the top 20 teams are a fairly exclusive group. We’ll summarize each team, including portions of their team dashboard, and explain how they attained their ranking. So, without further ado, here are the teams ranked #5 through #1 in our MLB Team Rankings 1900s.

Here’s the interactive dashboard at Tableau Public: 1900s Top 20 MLB Teams Dashboard

The 1904 Giants made a mockery of the NL pennant race, finishing 13 games ahead of the Cubs on their way to the NL title. This was a club that dominated both batting and pitching metrics, setting the stage for an even higher-ranked team in 1905.

The Giants’ 106 wins were right in line with their Pythagorean projection; there is nothing fluky about their record. Their 744 runs were tops in the NL; they also topped the league in BA, doubles, home runs, OBP, and OPS. In short, this was a very good offensive team. To make matters worse for their rivals, the Giants also pitched very well – first in ERA, shutouts, WHIP, hits per 9 innings, and strikeout-to-walk ratio.

There were no big-name stars at bat for the Giants, but simply a collection of above-average players. Bill Dahlen contributed an NL-best 80 RBI as well as 47 steals from his shortstop position, followed by his 3rd base neighbor Art Devlin (.281 BA, .371 OBP). Dan McGann posted a .741 OPS and 42 stolen bases, while Sam Mertes batted .276 with a team-best 28 doubles. Roger Bresnahan had a team-high .791 OPS from his catcher spot. The pitching was driven by two stars – Joe McGinnity posted a 35-8 mark across an NL-best 408 innings with 9 shutouts and a 1.61 ERA, and Christy Mathewson went 33-12 with 212 strikeouts to top the NL. Luther Taylor added 21 wins as the third starter.

The 1906 Naps had a deceptive 89-64 record and finished third in the AL behind the White Sox and Highlanders. The team’s poor record in one-run games contributed to the Naps falling nine wins short of their Pythagorean projection. They were a far better team than their record shows.

The Naps .279 BA easily led the AL; they also ranked first in runs, doubles, OBP, and OPS. This was a very good offensive club in a low-scoring season. They also led the AL in ERA by a small margin over the White Sox, and placed in the top three for WHIP and hits per 9 innings. With such a dominant offense buoyed by solid pitching, it’s no surprise their win projection was far ahead of their final record.

The offense was driven by three standouts – Nap Lajoie, Terry Turner, and Elmer Flick, with solid backup from a handful of others. Lajoie batted .355 with an .857 OPS, and led the AL with 214 hits and 48 doubles. Turner batted a strong .291 from his shortstop position while providing excellent defense. Flick batted .311 with an .813 OPS, and led the AL in both steals (39) and triples (22). The pitching staff had four hurlers who logged over 250 innings. Addie Joss led a trio of 20-game winners, posting a 21-9 mark and 1.72 ERA, followed by Otto Hess (20-17, 1.83 ERA) and Bob Rhoads (22-10, 1.80 ERA).

The 1905 Giants check in two spots higher than the 1904 edition, despite having one less win to their credit. They won the pennant by a substantial nine games over the Pirates and were clearly the team to beat for the 1904-1905 period.

Once again, the Giants featured the best offense in the NL, scoring 42 more runs than their closest rival, and leading the league in stolen bases, BA, OBP, and OPS. While the pitching wasn’t as dominant, the Giants still ranked second in ERA, and first in walks, strikeouts, and strikeout-to-walk ratio. This combination of excellent offense and strong pitching made them a formidable team, with 211 wins over two seasons.

Mike Donlin topped the WAR rankings for position players, leading the NL with 124 runs scored, a .356 BA, .908 OPS, and 16 triples. Bill Dahlen drove in 81 runs from his shortstop position, Dan McGann batted .299, and Art Devlin led the NL with 59 stolen bases. Roger Bresnahan again provided strong offense as a catcher, batting .302 for the season. Christy Mathewson had one of the best seasons of his fabled career, winning 31 games with a 1.28 ERA, 206 strikeouts, and 8 shutouts, all tops in the NL. Joe McGinnity slipped a bit from his exceptional 1904 campaign, but still recorded 21 wins, Red Ames won 22, and Hooks Wiltse authored a 15-6 season.

The 1906 Cubs put together an incredible 116-36 record, aided by an unusually strong 28-13 record in one-run games. The Giants were a distant 20 games back in second place, yielding the top NL power spot to the Cubs for the next few seasons.

The Cubs’ offensive exploits started supporting their always exceptional pitching staff in 1906. The team easily topped the NL in runs scored, also finishing first in BA and OPS, and second in stolen bases. The pitching absolutely dominated the NL in 1906, winding up with an astounding 1.75 ERA, nearly half a run better than their closest rival. The Cubs were also first in WHIP, hits allowed, and strikeouts.

Frank Chance and Harry Steinfeldt had exceptional campaigns in 1906, batting .319 and .327, respectively. Chance scored 103 runs and swiped 57 bases (both NL-bests) and recorded an .849 OPS. Steinfeldt led the NL in RBI (83) and hits (176) on his way to an .825 OPS. Johnny Kling provided plentiful offense from the catcher spot, batting .312, and Joe Tinker and Johnny Evers provided their usual strong up-the-middle defense to go with a combined 79 steals. On the mound, Mordecai Brown was the star, posting a 26-6 mark with an NL-best 1.04 ERA and 0.934 WHIP. Jack Pfeister added 20 wins with a sterling 0.941 WHIP, and Ed Reulbach won 19 games.

The 1902 Pirates lay claim to being the top team of the 1901-1909 period. They finished a ridiculous 27.5 games ahead of Brooklyn, and scored 142 runs more than any other team – an extra run per game of offense.

In addition to the runs scored category, the Pirates ranked first in BA, OBP, OPS, doubles, and triples, and second in stolen bases. Clearly, this was an exceptional offensive team that stood apart in 1902. The pitching staff was also strong, leading the NL in WHIP, strikeouts, and walks, and finishing second in ERA.

Honus Wagner was the leading position player, ably supported by Tommy Leach, Ginger Beaumont, and Fred Clarke. Wagner led the NL in multiple categories – runs (105), RBI (91), stolen bases (42), and OPS (.857). Leach led the NL with 22 triples and 6 homers, and Beaumont batted .357 to top the league. Fred Clarke was close behind Wagner with an .850 OPS and .316 BA. The pitching was led by Jack Chesbro (28-6, 8 shutouts) and Deacon Phillippe (20-9, 2.05 ERA, NL-best 4.69 strikeout-to-walk ratio). Jesse Tannehill also won 20 games, and Sam Leever (15-7) and Ed Doheny (16-4) made strong contributions at the bottom of the rotation.

Summary

That’s it for this entry in our MLB Team Rankings for the 1900s decade! Here’s a quick summary of which franchises dominated the decade:

We’ll start visiting the 1910s next week. As always, thanks for reading!

MLB Team Rankings Countdown: 1900s 10 through 6

Welcome to the next countdown post in our series of MLB team rankings by decade. As a reminder, the teams are ranked from #20 through #1 based on aggregate WAR162. For the 1900s (1901-1909), a total of 144 teams were eligible (16 teams x 9 seasons), so the top 20 teams are a fairly exclusive group. We’ll summarize each team, including portions of their team dashboard, and explain how they attained their ranking. So, without further ado, here are the teams ranked #10 through #6 in our MLB Team Rankings 1900s.

Here’s the interactive dashboard at Tableau Public: 1900s Top 20 MLB Teams Dashboard

The 1909 Cubs finished second in the NL despite a gaudy 104-49 record, trailing the Pirates by 6.5 games. Pythagorean values projected the Cubs as 3.5 games better than Pittsburgh, but luck favored the Pirates.

The Cubs were respectable offensively, ranking 2nd in runs and doubles, but more middle of the pack on other key measures like OBP, OPS, and BA. As usual for this era of Cubs teams, it was pitching that kept them at or near the top of the NL. Their ERA once again topped the NL, as did their WHIP (1.035), hits per 9 innings (7.0), and strikeout-to-walk ratio (1.87).

Once again, the Cubs had no big offensive stars to compare to the likes of Honus Wagner, Ty Cobb, or Nap Lajoie. Instead, they had four players post WAR162 figures north of 4.0 as a balanced offensive team. Six players stole between 20 and 29 bases, including the top four WAR performers shown above. Evers topped the team in OBP (.369) and OPS (.705), aided by 73 walks. Joe Tinker batted .256 with his usual strong defense at shortstop, and Solly Hofman batted .285 to top the Cubs. On the pitching side, Mordecai Brown (27-9, 1.31 ERA) and Orval Overall (20-11, 1.42 ERA, NL-best 205 strikeouts) led the way. Ed Reulbach contributed 19 wins, while Jack Pfiester posted a 17-6 record.

The 1901 Pirates earn the #9 ranking in our top 20 MLB Team Rankings 1900s countdown, winning the NL pennant by a comfortable 7.5 games over the Phillies.

The Pirates were a good (if not dominant) offensive squad, ranking second in BA, stolen bases, and runs, and first in OBP and OPS. Pitching was their real strength versus the rest of the NL, with a 2.58 ERA that far outstripped the Phillies 2.87. The Pirates staff posted the best strikeout-to-walk ratio in the NL, largely due to their NL-best low walk rate.

Honus Wagner was the Pirates’ best position player, stealing 49 bases and driving in 126 runs, both tops in the NL, while batting .353 with a .911 OPS. Fred Clarke was once again the top batter after Wagner, posting a .324 BA and .856 OPS, while Ginger Beaumont batted .332 from his outfield spot. Claude Ritchey (.296 BA) and Lefty Davis (.313 BA, 11 triples) both made significant contributions to the Pirates season.

The 1908 version of the Giants lost the NL pennant by a heartbreaking single game to the Cubs, tying the Pirates for second in a tight race. The Giants had the best win projection (101) of the trio, but fell just shy of claiming the pennant.

Offense was a strength for the team, as they topped the NL in runs, BA, OBP, and OPS. On the pitching side, the team ERA of 2.14 was a close third behind the Phillies (2.10) and Pirates (2.12). They also placed second in shutouts and strikeouts, and led the league in issuing the fewest walks. The team’s strikeout-to-walk ratio was easily the best in the NL for 1908.

The team had no offensive stars approaching the level of Honus Wagner, but received solid contributions from several regulars. Mike Donlin batted .334 with an .816 OPS, followed by catcher Roger Bresnahan (.283 BA, NL-best 83 walks for a .401 OBP) and shortstop Al Bridwell (.285 BA). Art Devlin also provided support from his third base position. On the mound, Christy Mathewson was the story – a 37-11 record, 1.43 ERA, 11 shutouts, 259 strikeouts, and 390 innings pitched, all topping the NL. Hooks Wiltse was a capable number two starter, posting 23 wins and a 2.24 ERA, with Doc Crandall and Red Ames offering solid numbers to complete the rotation.

The 1909 Athletics are one of three teams from that season ranking between sixth and 10th, joining the Cubs and Pirates of the National League. The Athletics finished 3.5 games behind the Tigers (#15 ranking) despite having a much better win projection (102-51). Their middling record in one-run games (29-28) versus the Tigers’ 26-15 was pivotal in denying the pennant to the Philadelphia squad.

The A’s led the AL in triples and home runs while placing second in runs and doubles, both behind the Tigers. The real strength of the Athletics was their pitching staff, which posted an AL-best 1.93 ERA, 27 shutouts, and 728 strikeouts. They also allowed the fewest hits per 9 innings (7.0) and were second in strikeout-to-walk ratio.

Second baseman Eddie Collins was the clear offensive leader for the A’s, batting .347 with an .866 OPS and 63 stolen bases. His infield teammate, Home Run Baker led the AL with 19 triples while batting .305 as the second batting star for the A’s. Danny Murphy (.281 BA, 14 triples) and Harry Davis (.268, 75 RBI) also provided support. The pitching staff was led by a trio of standouts – Charles “Chief” Bender compiled an 18-8 record with a 1.66 ERA, veteran Eddie Plank went 19-10 with a 1.76 ER, and Harry Krause led the AL with a 1.39 ERA while picking up 18 wins. Cy Morgan and Jack Coombs were also effective for a deep staff where all five starters tossed more than 200 innings.

The 1909 Pirates fended off the Cubs (#10 in the rankings) to win the NL pennant. The team’s core stars were all beyond 30 – Honus Wagner (35), Fred Clarke (36), and pitcher Vic Willis (33), but they each put together big seasons to lead the team yet again.

The Pirates’ 110 wins were five games over their run-based projection, largely fueled by a 34-13 record in one-run games. Nonetheless, they led the NL runs scored by a wide margin and finished first in doubles, triples, BA, and OPS. On the pitching side, they ranked second in ERA and shutouts, trailing only the Cubs.

Honus Wagner was once again the star for the Pirates, leading the NL in doubles (39), RBI (100), BA (.339), and OPS (.909), among other categories. Fred Clarke led the NL with 80 walks while posting a .384 OBP, and Dots Miller batted .279 with 87 RBI. Catcher George Gibson (.265 BA) and outfielder Tommy Leach (NL-best 126 runs scored) were also major contributors. Howie Camnitz (25-6, 1.62 ERA) and Vic Willis (22-11, 2.24 ERA) led the mound crew, receiving ample support from Babe Adams (1.11 ERA) and Nick Maddox (13 wins).

Summary

That’s it for this entry in our MLB Team Rankings for the 1900s decade! Stay tuned for the countdown from #5 to #1, arriving in a few days. As always, thanks for reading!

MLB Team Rankings Countdown: 1900s 15 through 11

MLB Team Rankings Countdown: 1900s 15 through 11

Welcome to the next countdown post in our series of MLB team rankings by decade. As a reminder, the teams are ranked from #20 through #1 based on aggregate WAR162. For the 1900s (1901-1909), a total of 144 teams were eligible (16 teams x 9 seasons), so the top 20 teams are a fairly exclusive group. We’ll summarize each team, including portions of their team dashboard, and explain how they attained their ranking. So, without further ado, here are the teams ranked #15 through #11.

Here’s the interactive dashboard at Tableau Public: 1900s Top 20 MLB Teams Dashboard

The 1909 Tigers became the first Detroit team to make the rankings, after fighting their way to the top of the AL standings behind stars like Ty Cobb and Sam Crawford.

The Tigers’ 98-54 record put them 3.5 games ahead of the Athletics, although the Philadelphia club had considerably worse luck in close games, while the Tigers had a strong record in one-run contests. The Tigers led the AL in runs scored in a generally low-scoring season and also topped the AL in doubles and stolen bases. Pitching was above average, though not at the top of the league; their 2.26 ERA was 3rd best in the AL.

Ty Cobb was by far the most productive player, batting .377 with 76 steals, 115 runs scored, and a .947 OPS, all topping the league. Donie Bush led the AL with 88 walks and 115 runs scored, and Sam Crawford batted .314. George Moriarty checks in with a .309 BA to round out the top offensive producers. On the pitching side, George Mullin led the AL with 29 wins, followed by Ed Willett (21) and Ed Summers (19). Ed Killian posted a sterling 1.71 ERA to lead the team in that category.

The 1905 White Sox team finished 2nd in the AL, just two games back of the Athletics. Their Pythagorean projection had them at 97 wins, so they were a bit unlucky, despite a strong record in one-run games.

The White Sox 614 runs ranked 2nd in the AL, while their .237 BA was below the league average. The team tended toward the middle on most offensive measures, although their 194 stolen bases ranked second. Pitching was a different story, where they posted a league-best 1.99 ERA and 1.05 WHIP.

George Davis was easily the most productive player, posting above-average defense at shortstop while batting a solid .278 with 31 steals. Jiggs Donahue batted .287 with 32 stolen bases, and Fielder Jones scored 91 runs with 12 triples. The Sox had four pitchers with similar WAR figures, led by Doc White, who won 17 games and posted a 1.76 ERA. Nick Altrock won 23 with a fine 1.88 ERA, and Frank Smith posted a 19-13 record. Frank Owen led the team with 334 innings, picking up 21 wins.

The 1905 Cubs check in at #13, based on their 92-61 season, good for 3rd place in the National League. Based on their runs scored and allowed, the team should have exceeded 100 wins, but luck was not on their side. That would change in 1906, when they ran away with the NL pennant.

The Cubs were a rather ordinary offensive squad, placing fifth in runs, doubles, and triples (tied for fifth). They did have a lot of speed on the basepaths – their 267 steals ranked second in the NL. The team’s success was driven primarily by a strong pitching staff that led the NL in ERA and hits allowed, and by some solid defense.

The offense was led by Frank Chance, who sported an NL-best .450 OBP due to his propensity for drawing walks and being hit by pitches. Jimmy Slagle was also very effective at drawing walks (97), while Billy Maloney chipped in with 59 stolen bases and a .260 BA. The pitching staff featured a trio of 18-game winners in Ed Reulbach, Jake Weimer, and Mordecai Brown. Reulbach wound up with a standout 1.42 ERA and 0.96 WHIP to lead the trio.

The 1903 Americans ran away with the AL pennant, finishing 14.5 games ahead of the Athletics. The batters and pitchers were both well above league average in most measures for the season

The Americans topped the AL in multiple offensive categories, including runs (708), BA (.272), home runs (48), and OPS (.705). Meanwhile, the pitching staff topped the league in ERA (2.57) and shutouts (20). This was a well-rounded team that received major contributions from several batters and a few pitchers.

Shortstop Freddy Parent had a fine season with a .304 BA, 17 triples, and 80 RBI. His veteran 3rd base teammate Jimmy Collins posted a .296 BA with 17 triples of his own, and Patsy Dougherty led the AL in runs (107) and hits (195). Outfielder Buck Freeman led the AL in both home runs (13) and RBI (104) while posting an .823 OPS. The ageless Cy Young won 28 games in his age 36 season, leading the AL in wins, complete games (34), and shutouts (7), while tossing 341 innings. Bill Dinneen provided ample support with 21 wins, and Tom Hughes added 20 as the third pitcher in a formidable trio.

The 1907 Cubs were part of a remarkable run for the North Side Chicago team, coming in two spots ahead of the 1905 edition, and well behind the 1906 squad. This team overachieved a bit, as their Pythagorean win projection was 102 wins. In any case, they dominated the NL, finishing 17 games ahead of the runner-up Pirates.

The Cubs’ offense was at or near the top in several categories – doubles, BA, and sacrifices. They also ranked second in stolen bases, but it was their pitching staff that set them apart in the NL. They easily led the NL with a 1.73 ERA, 32 shutouts, and 6.9 hits per 9 innings. This combination of a solid offense and an outstanding pitching staff was a winning formula for each of their top-20 teams.

The Cubs never had a dominant hitter like some of their competitors in this period, but they had multiple contributors who provided 3-5 WAR162 each season. For 1907, those players were second baseman Johnny Evers (46 steals and strong defense), Frank Chance (.395 OBP, 35 SB), Harry Steinfeldt (.266 BA), and catcher Johnny Kling (.284 BA). The pitching staff was first-rate, with five hurlers winning 14 or more games. Orval Overall posted 23 wins (with 8 shutouts), followed by Mordecai Brown with 20, Carl Lundgren with 18, Ed Reulbach with 17, and Jack Pfiester with 14. Pfiester led the NL with a 1.15 ERA, just ahead of Lundgren at 1.17.

Summary

That’s it for this entry in our MLB Team Rankings for the 1900s decade! Stay tuned for the countdown from #10 to #6, arriving in a few days. As always, thanks for reading!

MLB Team Rankings Countdown: 1900s 20 through 16

MLB Team Rankings Countdown: 1900s 20 through 16

Welcome to the first countdown post in our series of MLB team rankings by decade. As a reminder, the teams are ranked from #20 through #1 based on aggregate WAR162. For the 1900s (1901-1909), a total of 144 teams were eligible (16 teams x 9 seasons), so the top 20 teams are a fairly exclusive group. We’ll summarize each team, including portions of their team dashboard, and explain how they attained their ranking. So, without further ado, here are the teams ranked #20 through #16.

Here’s the interactive dashboard at Tableau Public: 1900s Top 20 MLB Teams Dashboard

The Napoleons would eventually become the Naps, then the Indians, and most recently, the Guardians. In 1904, they were named after their star player, Napoleon Lajoie, a Hall of Fame second baseman. Here’s a glance at some of their team numbers:

With a record of 86-65, the Naps managed just a 4th place finish in the American League. The team had an unusually unlucky season – their Pythagorean expected record (based on runs scored vs. allowed) was 95-56, a whopping nine-game difference. Cleveland led the AL in batting average and OPS, and finished 2nd in ERA.

Nap Lajoie led the AL in multiple categories, with a .376 BA, .959 OPS, 102 RBI, and 49 doubles. He received strong support from Elmer Flick (.306 BA, 38 SB) and Bill Bradley (.300 BA). Bill Bernhard won 23 games, and Addie Joss led the AL with a 1.59 ERA within a balanced pitching rotation.

The 1903 edition of the Pirates is one of multiple seasons in the top 20 MLB Team Rankings for the 1900s decade. This version of the team finished first in the NL, but was not quite as good as their record based on runs scored and allowed.

The Pirates’ .286 average was good for 2nd in the NL, as was their .734 OPS, both just behind the Reds. They also placed 2nd in ERA while leading the NL with 16 shutouts.

Honus Wagner was the clear leader in WAR162 on the basis of his league-best .355 BA and 19 triples. His .931 OPS was also near the top of the NL. Wagner received ample support from Fred Clarke (NL-best .946 OPS, .351 BA), Claude Ritchey, Ginger Beaumont (.341 BA), and Tommy Leach. Sam Leever (25-7, NL-best 2.06 ERA) and Deacon Phillippe (25-9, 2.43 ERA, NL-best 1.03 WHIP) dominated on the mound for the NL champs.

The Americans were the predecessor to the Red Sox, finishing 2nd in the AL with a 79-57 record, 3 games worse than their predicted Pythagorean mark of 82-54. This earns them the #18 slot in our 1900s MLB Team Rankings.

The team was just slightly better than league average in most offensive categories, although they did have higher rankings in triples (2nd) and home runs (1st). Pitching carried the team, as they placed 2nd in ERA and 1st in strikeouts, largely thanks to the legendary Cy Young.

Four offensive players carried the load for the Americans, with WAR162 values > 5; no other batters topped 2 WAR for the season. Third baseman Jimmy Collins led the way in WAR (7.9) with a .332 BA, Freddy Parent batted .306 from his shortstop position, Buck Freeman batted .339 with a .920 OPS, and Chick Stahl hit for a .303 average. On the mound, it was Cy Young with some help from Ted Lewis (16 wins) and George Winter (16 wins, 2.80 ERA). Young posted a 33-10 mark with a league-best 1.62 ERA and 0.97 WHIP across 371 innings.

The White Sox claimed first place in the 1901 AL pennant race, 4 games ahead of the Americans, although their WAR totals were nearly identical.

The Chicago squad led the AL in runs scored, stolen bases, and ERA, while ranking in the middle of the pack in BA, HR, and OPS. They also drew a high number of walks; between the walks and stolen bases, the team was able to generate 6 runs per game.

The White Sox had no single offensive standout, but enjoyed productive seasons from several batters, including Billy Hoy, who drew a league-best 86 walks at age 39. Hoy also led the team with an .807 OPS figure. Fielder Jones batted .311 with 38 steals and 84 walks, Fred Hartman hit .309 with 31 steals and 13 triples, and Sam Mertes had 17 triples and 46 stolen bases. Herm McFarland contributed with 75 walks and 33 steals and a .767 OPS. Three pitchers stood out for the Chicagoans, led by Clark Griffith, who compiled a 24-7 record and 2.67 ERA. Jimmy Callahan posted a 15-8 mark, with a 2.42 ERA, and Roy Patterson won 20 games and led the team with 30 complete games and 312 innings on the mound.

The Athletics placed multiple squads in the top 20 for the 1900s decade, with the 1905 edition placing 16th. The A’s bested the White Sox by 2 games for the AL pennant, although the Chicago team had the better Pythagorean win expectation of the two teams.

In a season where pitching dominated, the Athletics’ .255 BA (2nd) and .648 OPS (1st) were at the top, as was their 256 doubles, 45 more than any other competitor. The team’s 2.19 ERA was second-best for the season, and their 895 strikeouts were far ahead of the 652 posted by the Boston Americans.

The Athletics boasted a balanced lineup, with 7 batters earning WAR162 values of 2 or better, including 3 batters who topped 5 WAR apiece. Harry Davis topped the AL with 8 homers, 47 doubles, and 83 RBI to lead the way. Danny Murphy batted .277 from his second base position, and Topsy Hartsel earned a league-best 121 walks and .409 OBP. The pitchers were led by a pair of left-handers; Rube Waddell posted a 27-10 record with an AL-best 1.48 ERA and 287 strikeouts. Eddie Plank earned 24 wins with a 2.26 ERA and 210 strikeouts of his own. Beyond the big two, Andy Coakley picked up 18 wins with a fine 1.84 ERA.

Summary

That’s it for the first entry in our MLB Team Rankings for the 1900s decade! Stay tuned for the countdown from #15 to #11, arriving in a few days. As always, thanks for reading!

Top 20 MLB Teams by Decade – Data Prep

Over the next few months, I’ll be doing a countdown of the top MLB teams (based on WAR162) for each decade from the 1900s through the 2010s. Each team will have a dashboard in Tableau Public, making it easy and fun to navigate through the top 20 teams from each decade. The dashboard design is about to commence, and should be ready to launch around mid-February. Until then, let’s take a tour through the data sources and processes that will ultimately feed each dashboard.

The Data (3 rich sources to work with)

One of my goals is for the dashboards to provide an array of interesting and insightful data – overall team ratings (using WAR162), team and player level stats data (runs scored, hits, batting average, etc.), and game level data that can be used to show patterns within a season. We need multiple data sources that can eventually be joined in Tableau, but each one needs to be processed individually prior to that stage. Here’s a quick overview of each source:

  • The JEFFBAGWELL data from Neil Paine was used extensively in my 2025 book release, The Visual Book of WAR. The book looked primarily at the WAR162 metric at both the individual and team levels, and the same data will be used to select and rank the top 20 teams for each decade. The dashboards will require both team-level summary data plus individual player numbers to provide further context.
  • My next source is season-level data at both the player and team levels, which will be used to provide additional context for the dashboards by displaying traditional baseball statistics such as runs, hits, batting average, OPS, ERA, and more. This data has traditionally come from the Lahman baseball database, now managed by SABR, the Society for American Baseball Research.
  • My third source is Retrosheet gamelogs data, which allows for tracking game-to-game patterns across a season. With this data, the dashboards will be able to show distribution and frequency data for each team, providing further insight into the ups and downs experienced throughout the season.

Fortunately, there are some easy ways to merge these sources (seasons are always the same), and some others that require a bit of work (team codes often differ across the sources). We now move to the next stage, where I use Exploratory to process, refine, update, and manage the data before it gets pushed to Tableau.

Processing the Data (thanks Exploratory!)

Given the differences inherent across the three sources, I have chosen to process each one separately and allow Tableau to join the respective output files. Exploratory makes this process rather straightforward; I simply import each source and then perform the necessary modifications and aggregations needed for Tableau.

Let’s view some examples, beginning with the JEFFBAGWELL (WAR162) source. I previously created a number of steps and calculations last year as I was writing the book. We’ll pick up the data from that point and create some new steps. Let’s first combine the season and team codes into a new field (this will make it easy to filter the various sources:

Creating the Team Season field

We now have a Team Season field to work with – this is immediately used to help us get to the top 20 teams for each decade:

Filtering for the Top 20 teams per decade

All the teams we want to analyze (20 per decade) are now included in our results; the others have been left behind (but not lost) in our data flow. The beauty of this approach lies in its ability to capture all decades; before sending to Tableau we can simply add one more filter that limits the data to a single decade (the 1920s, for example).

Now let’s move on to the season-level stats data from the Lahman database. Exploratory enables direct connections to multiple databases; my season-level data is stored in a MySQL database, so we’ll create some simple code to pull in the key data fields:

Home » MLB statistics » Page 2
Pulling season-level data for the Top 20 teams by decade

Notice the similar logic we just saw with the WAR data – I have created a Top_20_team field that can be used to easily merge the two data sets once we get to Tableau. This data is now in Exploratory, but we soon hit a little speed bump; team codes are not always the same across the two sources. I discovered this when I was falling short of 20 teams per decade, and used Exploratory to make some updates:

Updating team id codes

We now have updated team IDs to match the other data sources.

My third source proved a bit challenging – I created flags to identify each top 20 team, which seemed like an easy solution. Unfortunately, my solution fell apart when two Top 20 teams played one another (say the 1901 Red Sox vs. the 1901 White Sox). This caused some wonky outcomes at the game level, where one team would lose some game results based on how my code was written. Long story short (after some hair-pulling), I managed to separate the data into two files – one for home games and another for visitor games. Now, I can merge the two data files in Tableau. Problem solved!

Aside from that issue, I used Exploratory to run a lot of calculations, some of which are likely to appear in the final dashboard. For example, calculating runs scored in a game:

Creating a runs field for Top 20 teams

Here we are determining whether the Top 20 team was hosting a game (home game), and then using the home_score value. Otherwise, if it isn’t a home game, we use the vis_score value to count the runs scored by our top 20 team. We use this type of calculation for many different measures (doubles, triples, walks, etc.), with similar calculations for the opposing team values. The goal is to provide detailed game-level data for use in Tableau.

Finally, back to the home team/visiting team approach I touched on a moment ago. In order to capture every game for each team, it was necessary to split the games based on whether a team played at home (home team) or on the road (visiting team). To solve this, I first created a pair of fields to identify home games for a Top 20 team:

Identifying a Top 20 home game
Identifying a Top 20 home team

I can now capture all home games for each Top 20 team, which can be filtered and pushed to Tableau. The same process was repeated for away games, where the Top 20 team was the visiting team.

There’s a lot more I could cover here in terms of calculations and filters, but I hope you get the general idea. Everything is now ready to create files for Tableau.

The Data Output Files (simple .csv for Tableau ingestion)

Assuming we’ve done everything correctly to this point, exporting the data to .csv files is the easiest part of the process. The key is to make sure we export the data from the appropriate step in Exploratory, where all the field updates, formulas, and filters have been applied. For our team-level WAR file, we apply a decade filter, seen in the bottom right:

Team WAR summary output

To export the file to a .csv format is quite simple. Click on the export file icon and choose the appropriate output:

Exporting data from Exploratory

We follow a similar process for each of our remaining outputs, resulting in four distinct files for Tableau. With each of those files created, we’re ready to shift our focus to Tableau.

Merging the Data in Tableau (my old friend)

I spent many years in corporate America using Tableau, and became quite proficient, especially in creating highly interactive dashboards. So I am excited to use it again for this project, and pleased to see some new options in the Tableau Public version.

The first step is to start with the data sources; in this case, the four .csv files we exported from Exploratory. We can use the Data Source tab in Tableau to pull in the data and map out how the four files relate to one another. Here’s what things look like after I set up a data connection and dragged in the files:

Tableau Data Source window

I elected to use the WAR162 Team Summary file as my base table, and then join the other tables to it. Essentially, that takes us from a small base table with highly summarized information that connects to tables with much greater detail. Before we move on, note that the two Retro Gamelogs files show as a single file, as they have been combined using Tableau’s union capability (since all fields are identical, we can simply combine them). Now we can take a look at the relationships connecting each table:

WAR162 Team Summary to RetroGamelogs relationship

Our first relationship connects the base table with gamelogs data, and is based on teamID and yearID (season). Simply put, we can see every game-level record for each of the 20 teams in our 1900s decade, just by joining those two fields.

WAR162 Teams to Summary Stats relationship

Next up is our join to the Top 20 Summary Stats table, which contains player-level stats for every season among our Top 20 teams. This includes most of the basic statistics fans are familiar with – runs, hits, doubles, home runs, and so on. Joining on teamID and yearID (season) provides access to all of these numbers.

WAR 162 Team to Players Relationship

The final join is between the WAR team and WAR players data. This will allow for showing the top WAR162 performers for each of our Top 20 teams. The dashboards will now be able to reveal exactly why a team is ranked – perhaps there were two or three WAR standouts, or maybe a team has a balanced roster with many above average contributors.

We’ve Got a Lot of Data to Sort Through!

As you may have gathered through these steps, there is now a lot of available data to potentially use. Some of it won’t be impactful, and can be easily left out of the dashboard design, but there will certainly be a competition between the remaining elements. Some of these challenges can be accommodated by building dynamic options where users can filter dashboard views, but we’ll still require a base framework for the design. It won’t be easy – take a look at just a small subset of the data elements:

A handful of data fields…
Followed by more data…
And still more data…
And even more data…

You probably get the idea by now – there’s data everywhere, some of it meaningless, some of it trivial, and a good chunk of it important or essential. The job of a dashboard designer is to discard the first two categories and refine the important or essential data to create a compelling output for users to navigate. The dashboard needs to combine functionality with aesthetics (the world is full of truly ugly dashboards!) that invite users to interact and discover new insights.

What’s Next?

My next post will introduce the dashboard design and walk through how to effectively use it, followed by the rollout of my decade-level countdowns from #20 to #1. I hope you’ll join me on this journey, and thanks for reading!

Data, Data, and More Data

My first week of 2026 has been spent largely on updating game and event data from the massive Retrosheet data sets. Even limiting the number of data elements to a small subset of the event data yields a considerable amount of information to analyze. Here’s what’s new (for my databases) this week:

  • 2023-2025 season event data
  • 1950-1953 season event data
  • 1910-1949 season event data

What do we find in this data? For my subset, these are the bits of data I can use:

  • game id (a unique combination based on date and the home team
  • visiting team
  • inning (in which an event occurred)
  • batting team
  • the number of outs, balls, and strikes at the time of an event
  • the score at the time of the event
  • batter & pitcher information (left-handed, right-handed, etc.)
  • event type (single, double, home run, etc.)

Plus a wealth of additional information to be mined, analyzed, and visualized.

While Retrosheet is missing events for a small percentage of games between 1910 and 1970, the data is otherwise remarkably comprehensive. Now that I have it stored locally, you should start seeing some interesting analyses on this site for 2026. That’s it for now, and thanks for reading!

Closing Out 2025 – With New Data!

Over the last few years, I have been a bit inconsistent with updating my baseball databases, for a variety of reasons. To produce more content in 2026 I need to keep these sources up to date, starting with data from the great retrosheet.org site. I found (to my dismay) that not only had I not updated the 2024 game log data last year, but was missing 2023 as well! The problem is now solved, as I was able to add not only 2023 & 2024 records, but also the 2025 data, and to run the multiple code updates (in MySQL, if you’re wondering) I created years ago.

So what is Retrosheet game log data? It’s a thorough summary of every Major League Baseball (MLB) game played in a season – typically 2,430 games in the current era. The data covers everything from the game date to the umpires and players at each position. In short, it’s a very rich data set for building a variety of analyses and visualizations. Let’s take a look at some of the data attributes, starting with extensive game summary information, including dates, home and away teams, and more. Note that I have also created a handful of calculated data fields to aid in analyzing the data, but the rest is all available from Retrosheet.

Game summary attributes

Here are more attributes, as we now begin to see some game details – the number of errors, home runs, walks (BB), and double plays (GIDP), for both the home and visiting teams.

Visitor and home team game detail

Some more team details are next, followed by information on the umpires for each game:

More home team detail plus umpire data

And more…now with detail on the winning and losing pitchers, and the start of the batting order for the visiting team:

Visitor batting order attributes

Additional batting order detail…

Visitor and home batting order attributes

And finally, some fields created by me to aid in analyzing the data:

Some additional calculated fields

Obviously, there are numerous opportunities to conduct interesting and fun analyses with this robust data set, which now encompasses data from all seasons between 1921 and 2025. Next up is to pull in seasons from the other end of MLB history, specifically the 1901 through 1920 campaigns. After that comes the fun part of analyzing and visualizing the information.

See you soon, and thanks for reading!