The following article is part of a series concerning the 2025 Classic Baseball Era Committee ballot, covering long-retired players, managers, executives, and umpires whose candidacies will be voted upon on December 8. For an introduction to the ballot, see here, and for an introduction to JAWS, see here. Several profiles in this series are adapted from work previously published at SI.com, Baseball Prospectus, and Futility Infielder. All WAR figures refer to the Baseball-Reference version unless otherwise indicated.
2025 Classic Baseball Candidate: Tommy John
Pitcher
Career WAR
Peak WAR
S-JAWS
Tommy John
61.6
33.4
47.5
Avg. HOF SP
73.0
40.7
56.9
W-L
SO
ERA
ERA+
288-231
2,245
3.34
111
SOURCE: Baseball-Reference
Tommy John spent 26 seasons pitching in the majors from 1963–74 and then 1976–89, more than any player besides Nolan Ryan, but his level of fame stems as much from the year that cleaves that span as it does from his work on the mound. As the recipient of the most famous sports medicine procedure of all time, the elbow ligament replacement surgery performed by Dr. Frank Jobe in late 1974 that now bears his name, John endured an arduous year-long rehab process before returning to pitch as well as ever, a recovery that gave hope to generations of injured pitchers whose careers might otherwise have ended. Tommy John surgery has somewhat obscured the pitcher’s on-field accomplishments, however.
A sinkerballer who relied upon his command and control to limit hard contact, John didn’t overpower hitters; after his surgery, when the usage of radar guns became more widespread, his sinker — which he threw 85-90% of the time — was generally clocked in the 85-87 mph range. He paired the sinker with a curveball, or rather several curves, as he could adjust the break based upon the speed at which he threw the pitch. He was the epitome of the “crafty lefty,” so good at his vocation that he arrived on the major league scene at age 20 and made his final appearance three days after his 46th birthday. He made four All-Star teams and was a key starter on five clubs that reached the postseason and three that won pennants, though he wound up on the losing end of the World Series each time.
Thomas Edward John Jr. was born on May 22, 1943 in Terre Haute, Indiana. He cut his teeth playing sandlot ball and more organized games at Spencer F. Ball Park, a three-block square with about 10 baseball diamonds used for everything from pickup games to those of two rival high schools, Garfield and Gerstmeyer, the latter of which he attended.
At Gerstmeyer, John excelled in basketball as well as baseball, so much so that the rangy, 6-foot-3 teenager was recruited by legendary Kentucky coach Adolph Rupp, and had over 50 basketball scholarship offers but just one for baseball (few colleges gave those out in those days). When Rupp paid a visit to their household, the senior John told the coach that his son was probably going to bypass college to pursue professional baseball. As the pitcher recalled in 2015:
Rupp said, “Well, we have a pretty good baseball team down in Kentucky, and your son might even be able to make our team.” My dad never liked Rupp, but that really made him mad. He told Coach Rupp, “Don’t let the door hit you in the ass on the way out.” Rupp was furious. His assistant came in and tried to smooth things over, but it didn’t matter.
On the mound, John lacked a top-notch fastball but had a major league-caliber curveball that he learned from former Phillies minor leaguer Arley Andrews, a friend of his father. He pitched to a 28-2 record in high school, and while the Cleveland Indians scout who signed him, John Schulte, expressed concern about his inability to overpower hitters, he signed him nonetheless two weeks after John graduated from Gerstmeyer in 1961 — four years before the introduction of the amateur draft. Read the rest of this entry »
Most of the time, you can count on early November to take a break from following baseball news. The World Series has just ended, but free agency hasn’t started in earnest. International free agents generally get posted closer to the mid-December deadline. Big trades are more of a December/January thing. But the Angels don’t operate that way. First they traded forJorge Soler. Then they signedKyle Hendricks. Now they’ve signed the first multi-year free agency deal of the offseason, linking up with Travis d’Arnaud on a two-year, $12 million contract.
At first blush, this feels like so much shuffling of deck chairs. The Angels have a lot of needs, to put it bluntly. Catcher was one of their best positions last year. They need more starters, more relievers, more outfield depth, more infield depth, and more top-of-the-order bats. Incumbent Logan O’Hoppe was one of only three hitters on the team to eclipse the 2-WAR mark. Why not sign a second baseman, or another starting pitcher, or pretty much anyone else?
I think there’s more here than meets the eye, though. We’re not talking about a blockbuster signing, and quite frankly, we’re not talking about a playoff team. A good season for the Angels in 2025 would mean flirting with .500 and developing a few new everyday players. Maybe Jo Adell will take a step forward and Mike Trout will play a full season at his normal standard of excellence. Maybe Zach Neto will continue on his current trajectory towards borderline All-Star production (once he’s back from shoulder surgery, of course) and Reid Detmers will rediscover his wipeout slider. Read the rest of this entry »
On Wednesday, I wrote about one of my favorite topics: The impact of sabermetrics on the practice and analysis of baseball. Specifically, in this case: How MVP voters behave in the post-Fire Joe Morgan era. And for those of you who got to the end of that 2,000-word post and did not feel sated, there’s good news! This was not the question I actually set out to answer when I started kicking the topic around.
Welcome to Part 2.
The very name of the MVP award invites voters to consider the value of a certain player’s contributions. For nearly 100 years, that was a tricky proposition. How do you weigh differences in position, in playing style, park factors, hitting versus pitching versus fielding versus baserunning? It’s enough to boggle the mind. Read the rest of this entry »
The hot stove is currently set to simmer, as teams have completed their annual roster housekeeping, but any big moves are still on the horizon. That means it’s the perfect time to see how all 30 teams stack up. The rankings below present each team as they are currently constructed, based on our playing time estimates. This should give us a pretty good idea of which teams would be ready to compete if the season started today, and which ones still have work to do to get their 2025 roster in order.
This year, we revamped our power rankings using a modified Elo rating system. If you’re familiar with chess rankings or FiveThirtyEight’s defunct sports section, you’ll know that Elo is an elegant solution that measures teams’ relative strength and is very reactive to recent performance. For these offseason rankings, I’ve pulled the Depth Charts projections and calculated an implied Elo ranking for each team. Our projections are entirely powered by the 2025 Steamer projections right now; the 2025 ZiPS projections will be added later on in the offseason. The delta column in the full rankings below shows the change in ranking from the final regular season run of the power rankings. Read the rest of this entry »
Mark Loretta was a solid hitter over 15 big league seasons, and he was especially good in 2003 and 2004. Over that two-year span, the right-handed-hitting second baseman slashed .325/.382/.469 with 75 doubles, 29 home runs, and a 129 wRC+ with the San Diego Padres. Contact was one of his strong suits. The Northwestern University product had a 7.9% strikeout rate to go with an 8.2% walk rate in 2003-04, numbers largely in line with his 9.2% and 8.5% career marks.
His overall production was comparably modest. Loretta consistently put up high batting averages – they ranged between .280 and .335 during his 11 full seasons — but he went deep just 76 times and finished with a 100 wRC+. Those numbers came over seven-plus seasons with the Milwaukee Brewers, three with the Padres, two-plus with the Houston Astros, and one each with the Boston Red Sox and Los Angeles Dodgers. Your prototypical “professional hitter,” Loretta debuted in 1995 and played his last game in 2009.
Now a special assistant with San Diego, Loretta sat down to talk hitting when the Padres played at Fenway Park in late June.
———
David Laurila: Looking back, what style of hitter were you, and did that change over the course of your career?
Mark Loretta: “That’s a good question. I would say that I was developed and came up as [someone who hit] inside the ball, hit the ball up the middle, hit it the other way, hit it where it’s pitched. I was very contact-oriented. I didn’t really sit on pitches or sell out for fastballs, I mainly liked to see the ball get deep.
“About halfway through my career I made a concerted effort to learn to pull the ball better, and more often. I think that’s when my career sort of took off. I was able to get to keep that contact-hitter, hit-it-where-it’s-pitched approach, but also handle the ball inside much better.
“My power — more doubles, more home runs — came when I pulled the ball. For a lot of my career, pitchers would pound me in, pound me in, because I hit the ball well the other way. I made a couple of adjustments with my swing and started looking a little bit more in when I was in hitter’s counts. I would lay off the ball middle-away when it was 2-0 or 3-1.”
Next Thursday night, we’re going to find out who won the biggest individual honors in baseball: the Most Valuable Player awards for both the American and National Leagues, as determined by the august and esteemed voters of the Baseball Writers’ Association of America. (Cue trumpet fanfare.)
MVP awards memorialize great individual performances and bestow immense historical significance upon the players who earn them. This is the kind of thing Hall of Fame cases are built on. So you’d think the entire baseball-watching public would be glued to MLB Network or refreshing the BBWAA website on Thursday evening. But… maybe not. Aaron Judge and Shohei Ohtani are almost certain to win, and I guess it’s worth checking social media after dinner just to make sure.
There’s surprisingly little drama over awards these days; postseason betting odds on the MVP races were a little hard to come by, as most bookies have taken the issue off the board. But consider this as a measure of public sentiment: In early October, BetMGM had Judge as a 1-to-50 favorite in the AL, and Ohtani as a 1-to-100 favorite in the NL. Despite a spirited contrarian push by the pro-Fancisco Lindor camp late in the season, it’s all over but the shouting. Read the rest of this entry »
Description
The Chicago White Sox are looking for a full-stack engineer to join their Baseball Systems team. This role involves designing, developing, and maintaining custom web applications that support various aspects of our operations, including scouting, player development, biomechanics and front office decision-making. This position requires a strong focus on creating user-friendly interfaces for our custom web applications. A strong interest in baseball is a plus, but a passion for problem-solving is essential.
Key Responsibilities
Develop and maintain custom web applications
Collaborate with cross-functional teams to implement new features.
Communicate with stakeholders about technical issues and new developments.
Identify and implement process improvements.
Qualifications and Experience
Bachelor’s degree in computer science, engineering degree or commensurate experience
2+ years of professional experience as a full stack developer
Excellent verbal and written communication skills, with the ability to work effectively with multiple departments and stakeholders.
Demonstrated expertise in front-end design, with a strong eye for creating intuitive and visually appealing user interfaces.
Experience with at least one frontend framework like Vue, Svelte, React, Angular, etc
Experience with at least one backend language like Node, Python, C#, Ruby, etc
Proficient in relational database design, experienced with MySQL and PostgreSQL, and skilled in writing direct SQL queries.
Nice to Have
UI/UX design experience or fundamentals
Experience with data visualization
Experience with mobile-first design principles, ensuring applications are optimized for performance and usability on mobile devices.
Experience with DevOps tools (Git, CI/CD), containerization and orchestration tools.
Understanding of cloud infrastructure management.
Experience in a sports data environment, preferably baseball.
Things to Note
Preferred you live in Chicago but remote is an option for the right candidate.
Since you will be maintaining the custom applications used by a baseball team, you might need to work non-traditional hours to ensure tools are operational.
APPLICATION DEADLINE NOVEMBER 22, 2024
Chicago White Sox is an Equal Opportunity employer committed to a diverse workforce. We do not discriminate based on race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, disability, or any other status or characteristic protected by applicable federal, state, or local law.
Description
The Chicago White Sox are looking for a Data Engineer to join their Baseball Systems team. This role is crucial for maintaining data integrity and ensuring optimal database performance for all users. Responsibilities include importing data from external sources, integrating diverse data sets, and collaborating with the R&D department to help put the data to practical use both on the field, with coaches, and in the front office. The Data Engineer will work closely with multiple departments, gathering feedback and making recommendations for improvements. A key aspect of this role will be leveraging cloud-based systems to enhance data accessibility, scalability, and performance. Ensuring the database performs efficiently in a cloud environment is essential for the success of the White Sox Baseball Operations. A strong interest in baseball is a plus, but a passion for problem-solving is essential.
Key Responsibilities
Build and improve data pipelines for efficient data flow, ensuring databases are fast and reliable.
Ensure data quality and reduce errors.
Design and optimize database structures, ensuring they are scalable and efficient both on prem and in the cloud.
Implement best practices for cloud data management
Design and maintain cloud systems
Qualifications and Experience
Bachelor’s degree in computer science, engineering degree or commensurate experience
2+ years of professional experience with cloud platforms, data ingestion and data management
Experience in building and maintaining scalable data pipelines with the ability to integrate data from various sources using ETL tools and practices.
Excellent verbal and written communication skills, with the ability to work effectively with multiple departments and stakeholders.
Strong skills in designing and optimizing database schemas, ensuring high performance and reliability.
Proficiency with Python, SQL and cloud computing platforms (AWS, Azure, GCP)
Nice to Have
Knowledge of additional languages like C#, Node.js, R and others is a plus.
Experience with DevOps tools (Git, CI/CD), containerization and orchestration tools.
Experience with workflow management tools (Airflow, Prefect, Luigi, etc.)
Understanding of cloud infrastructure management.
Experience in a sports data environment, preferably baseball.
Things to Note
Preferred you live in Chicago but remote is an option for the right candidate.
Since you will be maintaining the data pipeline, you might need to work non-traditional hours to ensure data availability.
APPLICATION DEADLINE NOVEMBER 22, 2024
Chicago White Sox is an Equal Opportunity employer committed to a diverse workforce. We do not discriminate based on race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, disability, or any other status or characteristic protected by applicable federal, state, or local law.
“Juan Soto hates swinging.” That’s a takeaway you’re sure to hear if you follow baseball this winter. His free agency is the biggest story of the next few months, and his offensive approach drives fans to distraction. Walks aren’t all that fun, and Soto feasts on them. How could you not bring it up when your team is pursuing him for a record-breaking deal?
From a certain standpoint, it’s true that Soto hates swinging. Of the 101 batters who saw at least 1,500 pitches with zero or one strikes this past season, Soto ranked 99th in swing rate on those pitches. When he isn’t defending the plate with two strikes, he spends a ton of time with the bat on his shoulder.
That’s not a specific enough way of looking at it, though. For an example, let’s chop the strike zone up into pieces. Soto saw 675 pitches that weren’t in the strike zone or even near it – what Baseball Savant defines as the chase and waste zones. He swung at 6.5% of those, 42nd out of the 44 batters who saw 500 or more such pitches. He was almost never fooled into swinging at awful pitches, in other words.
Next consider the edges of the zone – pitches that are either barely strikes or barely balls. There aren’t a lot of good options on these pitches. Hitters don’t generally crush the ball when it’s located on the corners, unless they’re sitting on either a pitch or a location. Sure, if you’re looking high and away, you might tag it, but more likely you’ll swing and miss or make weak contact. Soto swung at 31.3% of these pitches, the second-lowest rate in baseball.
Those pitches in the chase and waste zones? You shouldn’t swing at them. There, Soto’s patience is an obvious asset. The ones on the borderline? It’s less obvious. There are great hitters who take an expansive approach to borderline pitches, like Bobby Witt Jr. and Yordan Alvarez. There are awful hitters who do it too, as you’d expect. Swinging too much at offerings we call “pitcher’s pitches” is pretty clearly not going to pan out every time.
Ben Lindbergh, Meg Rowley, and FanGraphs’ Eric Longenhagen banter about how to abbreviate Twins executive Derek Falvey’s new dual role as president of both baseball and business operations, then (5:23) discuss Japanese phenom Roki Sasaki from a scouting perspective, touching on how good he could be, how a team could ease him into MLB, what tweaks he could make to his repertoire, the bonus pool system that could help determine where he signs, and more. After that (50:16), Ben and Meg talk to NPB journalist Jim Allen about Sasaki’s posting from a Japan-based perspective, exploring why Sasaki was posted now, how Japanese fans feel about his departure, and what the implications could be for NPB. Finally (1:21:01), Ben does a bonus Stat Blast about baseball overrepresentation in crossword puzzles.
Well, it’s that time of the year again. When the last gasps of summer weather finally die and everybody starts selling pumpkin spice everything, that’s when I make the magical elves living in the oak in my backyard start cranking out the E.L.fWAR cookies. Szymborski shtick, Szymborski shtick, pop culture reference, and now, let’s run down what the ZiPS projections are, how they work, and what they mean. After all, you’re going to be seeing 30 ZiPS team articles over the next two months.
ZiPS is a computer projection system I initially developed in 2002–04. It officially went live for the public in 2005, after it had reached a level of non-craptitude I was content with. The origin of ZiPS is similar to Tom Tango’s Marcel the Monkey, coming from discussions I had in the late 1990s with Chris Dial, one of my best friends (our first interaction involved Chris calling me an expletive!) and a fellow stat nerd. ZiPS quickly evolved from its original iteration as a reasonably simple projection system, and now does a lot more and uses a lot more data than I ever envisioned it would 20 years ago. At its core, however, it’s still doing two primary tasks: estimating what the baseline expectation for a player is at the moment I hit the button, and then estimating where that player may be going using large cohorts of relatively similar players.
So why is ZiPS named ZiPS? At the time, Voros McCracken’s theories on the interaction of pitching, defense, and balls in play were fairly new, and since I wanted to integrate some of his findings, I decided the name of my system would rhyme with DIPS (defense-independent pitching statistics), with his blessing. I didn’t like SIPS, so I went with the next letter in my last name, Z. I originally named my work ZiPs as a nod to CHiPs, one of my favorite shows to watch as a kid. I mis-typed ZiPs as ZiPS when I released the projections publicly, and since my now-colleague Jay Jaffe had already reported on ZiPS for his Futility Infielder blog, I chose to just go with it. I never expected that all of this would be useful to anyone but me; if I had, I would have surely named it in less bizarre fashion.
ZiPS uses multiyear statistics, with more recent seasons weighted more heavily; in the beginning, all the statistics received the same yearly weighting, but eventually, this became more varied based on additional research. And research is a big part of ZiPS. Every year, I run hundreds of studies on various aspects of the system to determine their predictive value and better calibrate the player baselines. What started with the data available in 2002 has expanded considerably. Basic hit, velocity, and pitch data began playing a larger role starting in 2013, while data derived from Statcast has been included in recent years as I’ve gotten a handle on its predictive value and the impact of those numbers on existing models. I believe in cautious, conservative design, so data are only included once I have confidence in their improved accuracy, meaning there are always builds of ZiPS that are still a couple of years away. Additional internal ZiPS tools like zBABIP, zHR, zBB, and zSO are used to better establish baseline expectations for players. These stats work similarly to the various flavors of “x” stats, with the z standing for something I’d wager you’ve already guessed.
How does ZiPS project future production? First, using both recent playing data with adjustments for zStats, and other factors such as park, league, and quality of competition, ZiPS establishes a baseline estimate for every player being projected. To get an idea of where the player is going, the system compares that baseline to the baselines of all other players in its database, also calculated from the best data available for the player in the context of their time. The current ZiPS database consists of about 145,000 baselines for pitchers and about 180,000 for hitters. For hitters, outside of knowing the position played, this is offense only; how good a player is defensively doesn’t yield information on how a player will age at the plate.
Using a whole lot of stats, information on shape, and player characteristics, ZiPS then finds a large cohort that is most similar to the player. I use Mahalanobis distance extensively for this. A few years ago, Brandon G. Nguyen did a wonderful job broadly demonstrating how I do this while he was a computer science/math student at Texas A&M, though the variables used aren’t identical.
As an example, here are the top 50 near-age offensive comparisons for World Series MVP Freddie Freeman right now. The total cohort is much larger than this, but 50 ought to be enough to give you an idea:
Top 50 ZiPS Offensive Player Comps for Freddie Freeman
Ideally, ZiPS would prefer players to be the same age and play the same position, but since we have about 180,000 baselines, not 180 billion, ZiPS frequently has to settle for players at nearly the same age and position. The exact mix here was determined by extensive testing. The large group of similar players is then used to calculate an ensemble model on the fly for a player’s future career prospects, both good and bad.
One of the tenets of projections that I follow is that no matter what the ZiPS projection says, that’s what the projection is. Even if inserting my opinion would improve a specific projection, I’m philosophically opposed to doing so. ZiPS is most useful when people know that it’s purely data-based, not some unknown mix of data and my opinion. Over the years, I like to think I’ve taken a clever approach to turning more things into data — for example, ZiPS’ use of basic injury information — but some things just aren’t in the model. ZiPS doesn’t know if a pitcher wasn’t allowed to throw his slider coming back from injury, or if a left fielder suffered a family tragedy in July. Those sorts of things are outside a projection system’s purview, even though they can affect on-field performance.
It’s also important to remember that the bottom-line projection is, in layman’s terms, only a midpoint. You don’t expect every player to hit that midpoint; 10% of players are “supposed” to fail to meet their 10th-percentile projection and 10% of players are supposed to pass their 90th-percentile forecast. This point can create a surprising amount of confusion. ZiPS gave .300 batting average projections to two players in 2024: Luis Arraez and Ronald Acuña Jr. But that’s not the same thing as ZiPS thinking there would only be two .300 hitters. On average, ZiPS thought there would be 22 hitters with at least 100 plate appearances to eclipse .300, not two. In the end, there were 15 (ZiPS guessed high on the BA environment for the second straight year).
Another crucial thing to bear in mind is that the basic ZiPS projections are not playing-time predictors; by design, ZiPS has no idea who will actually play in the majors in 2025. Considering this, ZiPS makes its projections only for how players would perform in full-time major league roles. Having ZiPS tell me how someone would hit as a full-time player in the big leagues is a far more interesting use of a projection system than if it were to tell me how that same person would perform as a part-time player or a minor leaguer. For the depth charts that go live in every article, I use the FanGraphs Depth Charts to determine the playing time for individual players. Since we’re talking about team construction, I can’t leave ZiPS to its own devices for an application like this. It’s the same reason I use modified depth charts for team projections in-season. There’s a probabilistic element in the ZiPS depth charts: Sometimes Joe Schmo will play a full season, sometimes he’ll miss playing time and Buck Schmuck will have to step in. But the basic concept is very straightforward.
What’s new in 2025? Outside of the myriad calibration updates, a lot of the additions were invisible to the public — quality of life things that allow me to batch run the projections faster and with more flexibility on the inputs. One consequence of this is that I will, for the first time ever, be able to do a preseason update that reflects spring training performance. It doesn’t mean a ton, but it means a little bit, and it’s something that Dan Rosenheck of The Economistdemonstrated about a decade ago. Now that I can do a whole batch run of ZiPS on two computers in less than 36 hours, I can turn these around and get them up on FanGraphs within a reasonable amount of time, making it a feasible task. A tiny improvement is better than none!
The other change is that, starting with any projections that run in spring training, relievers will have save projections in ZiPS. One thing I’ve spent time doing is constructing a machine learning approach to saves, which focuses on previous roles, contract information, time spent with the team, and other pitchers available on the roster. This has been on my to do list for a while and I’m happy that I was able to get to it. It’s just impractical to do with these offseason team rundowns because the rosters will be in flux for the next four months.
Have any questions, suggestions, or concerns about ZiPS? I’ll try to reply to as many as I can reasonably address in the comments below. If the projections have been valuable to you now or in the past, I would also urge you to consider becoming a FanGraphs Member, should you have the ability to do so. It’s with your continued and much appreciated support that I have been able to keep so much of this work available to the public for so many years for free. Improving and maintaining ZiPS is a time-intensive endeavor and reader support allows me the flexibility to put an obscene number of hours into its development. It’s hard to believe I’ve been developing ZiPS for nearly half my life now! Hopefully, the projections and the things we’ve learned about baseball have provided you with a return on your investment, or at least a small measure of entertainment, whether it’s from being delighted or enraged.