Skip to main content

Baseball fans are eagerly awaiting the start of the Major League Baseball season, which has been indefinitely delayed due to the coronavirus pandemic. That includes the millions of fans who play fantasy baseball, competing against friends and strangers alike each year.

I’m in a fantasy baseball league with friends from my travel baseball team. We each created our own team made up of major league players and we’ll track how the players perform this year to see whose team wins. I expected my friends to select their players based on the rankings at the website that hosts our fantasy league. But to gain an edge, I set out to rank players on my own, with some advice from two professionals: Nando Di Fino, The Athletic’s managing fantasy sports editor, and Ron Shandler, a member of the Fantasy Sports Writers Association Hall of Fame. I hope this story will show how challenging and fun fantasy baseball can be.

I’m in a Rotisserie league, which means teams win points based on their final rankings in 10 categories. Five categories measure performance by pitchers: strikeouts, wins, saves, earned run average and walks plus hits per innings pitched. The other five measure performance by hitters: home runs, stolen bases, runs batted in, runs and batting average.

My goal was to rate every player based on his overall performance in those 10 categories. First, I created a spreadsheet listing every active MLB player and downloaded projections from on how each one will perform this year in each category. Since all 10 are measured using different scales, I used a statistical technique called z-scores to put them on one scale. For example, 50 runs are not as valuable to my fantasy team as 50 home runs, because 50 runs is below average, while 50 home runs is above average. Z-scores help me value that difference

After looking at my spreadsheet, I discussed it with Di Fino. I told him that I’d ranked Alex Bregman a lot lower than what my gut told me he was worth. Nando suggested I look at what made Bregman good to see what my rankings might be missing. I found what was wrong: Bregman has an extremely good ratio of walks to strikeouts. In 2019, in fact, he was a whopping 43% better than the next highest player by that measure!

So I decided to redo my spreadsheet and add that category (walks per strikeout) to my calculations for hitters. For pitchers, I used the opposite: how many strikeouts they got for each walk they issued.

Another change I tried was to account for each player’s individual position when ranking them. My first spreadsheet only had two categories: hitters and pitchers. This led my rankings to undervalue catchers, who are notoriously poor offensively as compared to all other hitters—even if some of them are quite good compared to other catchers. I tried to fix this by finding z-scores relative to each player’s individual position.

After wrapping up my second spreadsheet, I talked to Shandler. He liked my idea of including walks per strikeouts in my rankings, but he said it didn’t make sense to compare players by their individual position because this rewarded players with rare stats for a position that wouldn’t much help a fantasy team as a whole. For example, the full-time first baseman projected to steal the most bases this year is Christian Walker, with just eight, which is below average for players overall. My rankings overvalued Walker because his eight steals gave him a high z-score, but eight steals aren’t going to make much of an impact in the standings.

Instead, I scrapped that idea and just did a simplified version of my second spreadsheet. That’s the spreadsheet I ended up using in my draft. I think the team I drafted based on my spreadsheet is pretty good, but I won’t know for sure until the season starts. In the meantime, though, there is plenty of time for you to find a league and draft your own team, and there are plenty of great websites that host fantasy baseball to go to, such as ESPN, Yahoo and CBS Sports.