Analytics · Baseball · Formula Discovery

Cracking the Appearance Fatigue Formula

A fifteen-year-old community question: the original derivation, the formula, real validation data, and the proof-of-concept that pushed it to its limit.

Background

When appearance fatigue was first introduced back in 2005, there was a developer chat with some Q&A on the topic. One of the answers was:

If the pitcher keeps his pitch count low and his projected pitch count isn’t near the actual pitch count, he won’t show signs of game usage fatigue until he exceeds 70% of his team games. However, if his pitch counts are higher (but still under the actual pitch count), he will fatigue because the formula is based on two components (game usage and pitch counts).

This hinted at there being more to the formula than just the % of appearances relative to team games, and anecdotal evidence should’ve clued us all into this much earlier as there seemed to be some inconsistency in that some players would show signs of appearance fatigue around 60% of team games and others were pushing 80% without showing any signs of slowing down. That said, our understanding of appearance fatigue until now has essentially been what is linked in the FAQ above:

The third way pitchers can fatigue is through their total number of appearances. The limits here are less clear, but it appears to kick in at 2/3 of the team’s total games played. In other words, if your team has played 60 total games and you have a reliever who had pitched in 40 of them, he is going to be more fatigued than his total pitch count would suggest.

I can’t even count the number of threads or times the question has come up in a league forum where the answer is essentially, “it’s roughly 70%, you can get up to 110-117 games out of your pitchers at 100%, but it’s hard to do and the exact workings are unknown.”

The discovery

Then, as luck would have it, I was doing a test on + plays and literally pitching the worst pitcher I could for the most innings possible (‘04 Denny Stark, who through game 90 had thrown 510 innings before I got the answer I was looking for there) and started experimenting with something else. However, separate from both experiments, I noticed something with my other pitchers: ‘94 Scott Stratton, ‘99 Frank Bates, and ‘30 Les Sweetland. Despite each of them pitching in all 90 games to that point, they weren’t showing ANY signs of appearance fatigue. So, I started crunching some numbers and each of them had slightly different fatigue levels, but all of them were still in the green. I used elbirdo’s formula to calculate their sim allocated pitches and noticed that their current fatigue level was equal to the % of allocated pitches thrown over 25% less than 100.

Initial observations:

Pitcher% Allocated UsedFatigue LevelNote
Scott Stratton ‘9422%100%No appearance fatigue — projecting to only 22% of allocated pitches
Frank Bates ‘9928.6%96%Fatigue = allocated % thrown − 25%: 28.6% − 25% = 3.6% → 96%
Les Sweetland ‘3031.8%93%Fatigue = 31.8% − 25% = 6.8% → ~93%
John Whitehead ‘39~low~85% (last 60 G)Anomalous — appeared fatigued beyond expectation from both PC and appearance formula

I had a few low IP pitchers as well who were also not fatiguing as expected based on prior knowledge and who had also appeared in 100% of team games (‘22 Buck Freeman, ‘02 Dad Hale, ‘39 John Whitehead — game log available for Whitehead still). Whitehead, for example, had thrown 604 pitches through 90 games, which was inconsistent with both how we know regular pitch based fatigue works and how appearance fatigue appeared to work so far. From pitch based fatigue Whitehead should have been at 2% fatigue, from appearance based and using the 25% above, he should have been at 0%, yet he was at ~15% for his last 60 games. So, I’m not sure why Whitehead wasn’t as fatigued as he should have been, but Hale and Freeman were more in-line with expectations from both PC based and the appearance based fatigues as seen above.

Obviously, more testing was needed, and it was perfect timing as a Mike Marshall theme league was just starting, and I was also running a fatigue test with ‘72 Steve Carlton in an OL. I ended up with a large amount of data with varying data points on % of team games and allocated pitches and was able to come to a fairly confident threshold for how appearance fatigue works. I do not believe it to be 100% accurate, but would say it is within 5% or so of your pitchers fatigue level based on % of games and % of allocated pitches — this is partially due to rounding and multiplication, and partly due to missing data points at some of the mid-levels.

The formula

That said, I have a simple formula for your excel/sheets document to calculate their pitch count if you want them to throw more than 70% of games, or their fatigue level if you want to bump their PC up a bit.

=IF([Appearance Rate]>0.7,
 ([Appearance Rate]-0.75)+((1-[Appearance Rate])*3.5),
 1)

This is the [Allotted % of Pitches] field. The [Pitches] field is the total from elbirdo’s formula.

Formula examples — Silver King at various appearance rates:

PitcherPitchesPitches/IPApp. RateAllotted % of PitchesGamesAlloted PitchesPitches/GIP/GTotal IP
Lev Shreve633417.1080%75%130475136.662.14277.81
Silver King1008314.3490%50%146504234.582.41351.57
Silver King1008314.34100%25%162252115.561.09175.78
Silver King1008314.3475%88%122882372.615.06615.25
Silver King1008314.3472%95%117957982.125.73667.98
Silver King1008314.3484%65%136655448.163.36457.04
Silver King1008314.3470%100%1131008388.926.20703.14
Silver King1008314.3493%43%151428528.441.98298.83
Whitehead61918.20100%25%1621550.960.058.50

That formula also doesn’t work for showing the PC weighting on appearance fatigue when it effects it the other way, and limits your pitchers to less than 70% of your team games. This happens when your pitcher is projecting for more than 100% of their allocated pitches (since I usually live with my pitchers between 70-90%, this is usually why I struggle to even get them to 65-70% of team games), and should be more obvious now that we understand the basic principles in play here, but I have not even begun to play around with that formula-wise.

Why 700 IP pitchers won’t push further

The best part about this discovery is that it completely explains why trying to push the 700 IP pitchers deeper by getting them into more games doesn’t work, because their projected PC relative to their allocation causes them to experience appearance fatigue faster, which is why no matter how hard I tried, I could never get more than 105 games AND 700+ IP at 100%, or 117 at 80%, despite them still being below their allocated PC. It was where they were relative to the appearance fatigue formula for their PC.

This might be the best fatigue formula on the site, because it can’t be pushed or gamed like the PC based fatigue factor — the more you push appearances or PC, the more the fatigue factors in and self-corrects. If you want to push IP, you have to do it through more pitches per game, not more games (and then you can only use certain types of pitchers because of the in-game fatigue).

Practical takeaway

All that, and the biggest takeaway though, unless you’re living on the margins somewhere in the upper-middle level appearances in team games of 70-85%, then it doesn’t seem like there is much to be gained from this knowledge other than better understanding of the game. With the exception of certain theme leagues that might allow you to draft significantly more IP than needed, in which case, you could throw Silver King for 15.56 pitches every single game of the season (a little more than an inning per game for King) and get him 175.7 IP all at 100% (though you’d likely be screwed come playoff time).

Proof of concept: the 162-game high-IP league test

I was able to try something a little more extreme in a $255m league. I drafted a bunch of 700+ IP guys with the intention of having each of them pitch in all 162 games (and two lower IP guys to cover extra inning games or in case of massive fatigue). That part didn’t quite work out as even on 15 PCs, they often pitched more than an inning, so only a handful of them pitched every game, but all of them still pitched well more than 70% of team games.

End-of-season fatigue levels

PitcherRole%GW-LSVIPERAOAVWHIPK/9BB/9Salary
Starters
Ed Morris ‘85 (L)Starter #184 (84)1620-360205.09.04.3662.172.154.65$30.20M
Bullpen
Lady Baldwin ‘86 (L)LH Specialist1001052-4391.17.09.2891.756.504.63$23.94M
Toad Ramsey ‘86 (L)LH Specialist1001474-34120.28.06.3372.303.658.13$26.22M
Bob Caruthers ‘85 (R)RH Specialist95 (96)16116-131164.28.80.3852.112.402.57$23.60M
Guy Hecker ‘85 (R)RH Specialist1001506-60153.26.79.3551.882.402.52$21.35M
John Clarkson ‘87 (R)RH Specialist1001192-60110.28.95.3552.024.883.33$21.25M
Mickey Welch ‘85 (R)RH Specialist96 (96)1626-100156.06.00.3081.863.925.19$25.68M
Silver King ‘88 (R)RH Specialist94 (94)1625-130172.06.65.3301.762.252.98$30.81M
Tim Keefe ‘86 (R)RH Specialist98 (98)1618-130146.210.62.4012.304.973.31$22.43M
Elton Chamberlain ‘88 (R)Rest100240-0220.17.08.3081.922.666.64$200K
Jacob deGrom ‘21 (R)Rest100903-6768.06.49.2961.508.742.65$200K

Morris was the only one to really experience fatigue and I knew it early on. My target PC for him to stay at 100% was 17 pitches, but without gaming his PC, 20 was the minimum for an SP, and I didn’t feel like going through the work to set it up with him at a 15 PC and figured we could gain valuable info from him at the 20 PC as we see how he fatigues there.

I’m not going to post all of their game logs, but they should be available for a week or so still as the league just ended for anyone that wants to check them out themselves. It definitely supports the above and the predicted PCs to stay at 100% held true for all of them.

Bonus: three pitchers in all 162 games at near-full stamina

Just completed a + play test where I had all 6 pitchers throw in all 162 games. Three of these pitchers finished the season at 100, 100, and 98(99), respectively. Full game logs for Billy Crowell, Red Ehret, and Tom Parrott are available in the original forum thread and demonstrate sustained high-appearance rates with minimal stamina loss, consistent with the formula.

The key observable in those logs: appearance fatigue in this range is nearly invisible for pitchers whose projected pitch totals sit well below their allocated threshold. All three maintained stamina in the 96-100% range across a full 162-game season.

Why this matters

This is a small, specific discovery inside a baseball simulation platform. But the shape of how it happened is what’s worth noting: a fifteen-year-old unresolved community question, a half-explained developer answer that hinted at more complexity than anyone had bothered to untangle, and a discovery that came not from directly attacking the problem but from paying close attention to an anomaly that surfaced incidentally while working on something unrelated.

This is the pattern that shows up constantly in real analytical work. The thing you’re looking for is rarely found by staring directly at it. It’s found by running enough careful, well-instrumented experiments that when something doesn’t behave the way you expect (three pitchers that should be fatigued and aren’t) you notice immediately, because you’re paying attention to the data rather than just confirming what you already assumed.