2020:  A most interesting season

2020:  A most interesting season

This is being written as we wrap up the 2020 season database and the Diamond Mind Baseball (DMB) version 12 upgrade, and it’s hard to overstate the profound impact that this unusual season had on our work on both projects.

Four databases, three schedules, two goals

As you probably know by now, we chose to create four editions of the 2020 season database, two in DMB 11 format and two in DMB 12 format.  For each version, there’s a 60-game edition and a 162-game edition.

All four editions include three schedules.  There’s the original 162-game schedule that was published last winter before anyone knew the impact of the coronavirus pandemic.  There’s the original 60-game schedule that was announced before play began in July.  And the 60-game schedule that indicates when the games were actually played.

On the two original schedules, all games are set up for nine innings.  On the as-played 60-game schedule, the version 11 edition also has all games as nine inning affairs, but the version 12 edition has 7-inning games to match those in real life.

By the way, there was one double header in the first week of the season where both games were nine innings.  Only after that did the league decide to go with seven innings for double headers for the rest of the season.

We chose this approach to support two fundamentally different ways of playing. 

First, the 60-game editions include the actual 2020 stats and splits, rosters set up for opening day, and a full set of real-life transactions and game-by-game starting lineups so you can carry out a detailed replay of the 2020 campaign.

Second, the 162-game editions are intended mainly for use in draft leagues.  All player and team stats and splits have been prorated to 162 games so they resemble the full-season stats you’re accustomed to seeing.  The thresholds for playing time penalties have been prorated accordingly.  The rosters are set up with the most-used players activated.  And the real-life transactions and lineups have been removed.

By the way, any time stats are prorated like this, rounding can cause team totals to differ very slightly from certain norms.  For example, if you look at the games started report for a team, you’ll see that some positions might total 163 starts and some 161, instead of the usual 162 for all positions.

As an example, suppose a team had one player who made 57 starts and three other players who made one start each at a position.  In the 60-game edition, their starts total 60, as expected.  When prorated to 162 games, their starts work out to 154, 3, 3, and 3, for a total of 163.  There’s nothing wrong with the data … it’s just rounding. 

We held this truth to be self-evident, that …

… all big-league games are created equal, and shall consist of exactly nine innings, unless the two teams shall be tied after nine innings, in which case …

It was no trivial matter to update DMB to support seven-inning games.

We started by enhancing the DMB schedule editor, schedule templates, schedule import/export tools, schedule reports, and game results reports to handle seven-inning games.  Actually, if you feel the urge, you can create games of any length from five to nine innings.  And store them as schedule templates for future use.

In the schedule editing window, the scheduled game window, and the reports, we don’t display the innings for plain old nine-inning games.  No need to clutter up the screen or the page with lots of 9s when that game length has been a given for a century and a half. 

Before a game is played, you’ll see the number of innings if it’s something other than 9.  After a game is played, you’ll still see it for those games and also for games that went to extra innings.  The only time you’ll see a 9 is when the game was scheduled to be shorter but went into extra innings and then ended in the 9th.

We updated the scoreboard on the main game window and the various places where linescores appear (boxscores, scoresheets, and game logs) to display the right number of innings.

More importantly, we taught the computer manager to handle the shorter games.  You’ll see closers entering in the seventh, setup relievers and pinch hitters in the 5th and 6th, defensive replacements in the 6th and 7th, and other tactics being used earlier. 

The simplest way to think about it is to count innings from the back of the game instead of the front.  Moves that should be considered with three innings left are still considered with three innings left.  It’s just that the third-last inning is the fifth inning of a seven-inning game.

It’s not quite that simple, of course.  In a nine-inning game, you might use a setup reliever in the 8th because you want to or because the starter has thrown 107 pitches and it’s time to get him out of there anyway.  Going into the sixth inning of a seven-inning game, you might still have good reason to go to the pen, but it’s likely the starter has only thrown 80 pitches, so sticking with him is a viable option, too.

The seven-inning games also had an affect on how we rated players for the 2020 season database. 

Our Clutch and Jam ratings are determined based on performance in the late innings of close games.  The widely accepted definition of late innings is the seventh inning or later, but that doesn’t make sense in a seven-inning game.

So we updated our program that computes clutch stats to be more flexible about when it’s “late”.  At the time, we did a little checking and found that it’s unclear whether the major web sites that display late/close stats are going to stick with the old definition or update it for these shorter contests.

There’s a bit of a statistical impact, too, though it’s not a big deal.  If you replay the 2020 season using DMB 11, which does not support seven-inning games, you’ll see roughly 400 more innings played in your DMB season than in the real 2020 season.  That’s only about a 3% increase, but it will have a small effect on the amount of playing time each player gets.

Of course, if you replay the 2020 season with DMB 12, there will be almost no difference in playing time between the real season and your DMB season.

Once is not enough

It is no longer true that a pitcher can be replaced after facing only one batter or ending an inning by picking off a runner, nabbing a base stealer, or getting an out on the bases in some other way.

DMB 12 gives you the option to require a pitcher to face three batters (or retire the side) before being removed.  You can continue to set up your leagues to use the traditional one-batter minimum, of course.  But if you choose to use the new rule, be aware of a subtle case that we didn’t know about when the new rule was first announced.

Suppose you bring in a reliever with two outs in an inning and he retires his first batter for the third out.  You can replace him before the next inning starts.  But if you choose to bring him back out, you’ll have to leave him in for two more batters.  The three-batter minimum is back in effect if you forgo your opportunity to lift him between innings.

I wanna go home

Extra innings had a new look this year.  Each half inning began with a runner on second base.  The rule specifies that this automatic runner is the player one spot behind the inning’s leadoff hitter in the batting order.  But if that lineup slot is occupied by the pitcher, the slot is skipped and the next-previous batter takes second.

If you replay the 2020 season using DMB 11, these automatic runners will not be used.  As a result, there won’t be as many runs scored in extra innings in your DMB games as there were in real life. 

But if you use DMB 12 for your season replay, these runners will be placed, and there will be no significant difference in scoring between the real season and DMB.

By the way, if you’re used to a certain ratio of earned runs to total runs, you’ll need to recalibrate for 2020.  All runs scored by these automatic runners are unearned, and as you can imagine, quite a few more runs are scored when innings begin with a runner in scoring position.

You get a DH, you get a DH, you get a DH

This was the first season in which the Designated Hitter was used in both leagues. 

For a normal season during the DH era, we would create manager profiles consisting of four saved lineups:  one for each combination of left/right and DH/non-DH.  For our 2020 season database, we’re providing two saved lineups per team, one each for left- and right-handed opposing pitchers in DH games.

There’s no place like home

Another aspect of the 2020 season that had many effects was the large number of games played somewhere other than the home team’s park.

Because Canada closed its border with the US during the pandemic, Toronto was forced to find a new home.  They eventually settled on Sahlen Field in Buffalo, which became one of two new parks for 2020.  The other was Globe Life Field, which replaced Globe Life Park in Texas, finally clearing up the age-old debate about whether a field is better than a park.

DMB 12 users will find new park images for these debut parks and updated images for Oracle Park and Marlins Park, both of which pulled in sections of their outfield fences by a few feet.

That was the easy part.  The real work began when it came time to calculate park factors for 2020.

The first challenge was the large number of games moved to alternate venues.  Suddenly there was a disconnect between which team is officially the home team for a game (and bats second) and which team was actually hosting the game in their stadium.

Baltimore played 34 games at home and 26 on the road, even though they were officially the home team for the expected 30 games out of 60.  Seattle, on the other hand, had only 24 games in Safeco Park and 36 in other stadiums.  Only 8 teams played exactly 30 games in their home parks.

Our existing methods and tools already handled some aspects of unbalanced schedules and alternate sites, but additional work was needed to fully accommodate the 2020 reality.

In addition, the mere fact that the season was so short introduced another element.  Some of the raw park factors for 2020 were very, very extreme because of the small sample sizes.  Most visible were raw triples factors that ranged from zero to well over 700.

We’ve never considered a 162-game season to be a large enough sample for park factors, so we’ve always blended current year park data with data from recent seasons to get a more accurate picture and smooth out the factors.  That was even more essential with the much shorter 2020 schedule.

When less is not more

Another well-established baseball number -- the 162-game season -- fell victim to the pandemic this year.  The 60-game schedule didn’t just mean that fewer games were played and that each of those games carried more weight in deciding who qualified for the postseason.  It also meant that our data-driven methods for rating players had a lot less data to work with.

We noted earlier that we had to update our definition of “late innings” to account for seven-inning games when compiling data for our Clutch and Jam ratings.  But that was only half the challenge.  Even with the 5th and 6th innings included as “late” in seven-inning games, not a single hitter had enough late/close plate appearances to earn a top clutch rating by our old standards. 

We therefore took some time to carefully assess how much we could lower that playing-time threshold to appropriately identify clutch hitters in 2020.  Simply prorating the normal full-season standard to 60 games would have brought it so low that we’d be giving out these ratings based on random fluctuations in performance over tiny samples. 

We believe we arrived at a very sound solution for both batters and pitchers.  You won’t see quite as many top Clutch and Jam ratings as in a full season, but there’s still a good number of deserving recipients.

For several other types of ratings, we had to supplement our data-driven methods for many players because they simply didn’t have enough opportunity to demonstrate their abilities in such a short season. 

This isn’t new.  When rating players with limited playing time in any season, we don’t just rely on the data for that season.  If a player’s numbers are above average for base running, but they only had two running opportunities in the season, we don’t consider that to be enough evidence to justify a good rating.  We would also consider other information about the player -- data from prior seasons, minor-league stats, position, age, injury history, and so on.

So the process of rating guys who didn’t play much was not new to us.  What was new was the larger number of players with small amounts of playing time.

Was a sunny day, not a cloud was in the sky

Most baseball seasons, in this hemisphere anyway, are played in a mix of early spring weather (cool, wet, an outside chance of snow), late spring and early summer weather (very nice!), peak summer weather (hot and muggy), and early fall weather (also very nice).

Not so this year.  All the games were played between late July and late September.  So the average temperatures, temperature variations, rain frequencies, and wind patterns in our park ratings are a little different this year.

Fashionably late to the party

Another oddity of the 2020 season was the appearance of four players in the postseason who did not play at all in the regular season.  We chose to include these players so you could use them in DMB postseason games.  In fact, you can use them in regular season games if you want.

In each case, their stat lines are all zeroes because we didn’t want to clutter up the real-life batting, pitching, and other reports with projected stats or something else.  This way, the team and league totals in DMB’s reports reflect what actually happened in the real season.

But we did take the time to rate these players as accurately as possible given what we know about them.  In other words, don’t take their all-zero stat lines as a sign they’re unrated.  They do have realistic batting and pitching event tables and all the other ratings they need to participate in DMB games.

Three of them -- C David Frietas of Milwaukee, RF Alex Kirilloff of Minnesota, and P Shane McClanahan of Tampa Bay -- were rated as they were in our 2020 Projection Database.  The fourth, P Ryan Weathers of San Diego, was rated as a replacement-level pitcher.

For openers

We spent a lot of time studying the usage patterns of relievers who were used occasionally as starting pitchers.  This is an evolving strategy in modern baseball, so we feel the definition of an “opener” is still in flux.

For example, a team could have a bullpen day where five or six relievers are expected to pitch an inning or two each.  Or a team could piggy-back two starting pitchers, each throwing three or four innings if they don’t get knocked out sooner.  Or a reliever could pitch the first inning or two and then hand the ball to a starter for the rest of the game.

Add these new approaches to other things that have been part of baseball for ages -- the swing man, an occasional emergency start by a reliever when the starter comes up lame during warmups, the gradual build-up of innings from a reliever who is being stretched out to become a starter -- and it can be hard to tell when someone is deserving of a starting pitcher rating.

In DMB 11, our approach to “openers” was to leave them without Start Durability ratings and treat them all as having the default durability of an unrated starter.  This would allow them to toss 30-40 pitches in a modern era before starting to tire.

In DMB 12, we decided it would be better to treat these outings as relief appearances for fatigue purposes.  Relievers who start games will be able to throw the same number of pitches as a starter as if they were brought in as a reliever in that game.  The number is based on their Relief Durability rating and how much they had been used in recent days.  As a result, a long reliever with an Excellent relief rating would be able to throw 55+ pitches before tiring, while another pitcher with a Fair rating would be much more limited.

20/20 vision

During our work on the 2020 season database and the DMB 12 upgrade, we often wondered how much of what we’ve seen in 2020 might never be seen again.  It’s always hard to predict the future, and perhaps especially tough right now, but here are a few thoughts about ways in which 2020 might be a one-off and ways it might shed light on what is to come.

Can we expect to see seven-inning games for double-headers in a normal year?  Probably not, but if concerns about pace of play continue to be a driving force in the game, maybe.

What about the automatic runners in extra innings?  That seems more likely to us, but who knows?

In 2019, baseball announced that there would be limits on using position players as pitchers for the 2020 season and beyond. 

The new rule stated that position players would not be allowed to pitch unless one team is ahead by six or more runs or the game goes into extra innings.  This required a formal definition of a two-way player who would be exempt from these restrictions, but we believe it might take some time for the authorities to settle on a workable set of rules around these designations. 

Those restrictions were not enforced in 2020, but we added support for them to DMB 12 in case they do go into effect in the near future.  If you choose to activate this rule for your league, any player with a role of Batter can only be used under these restrictions.  Any player whose role is Pitcher or Dual can pitch at any time.

For DMB 12, we also expanded the manager profiles to permit longer lists of pitchers and players in various roles.  Among other things, DMB is now set up to handle six- or seven-man rotations in the event that big-league teams go that way.  Or if you want to try that in your DMB leagues.

Will the Designated Hitter rule continue to be used for both leagues?  Hard to say.  Fortunately, DMB has been able to handle that since it debuted in 1987, so we’re ready for this either way.