What Did We Just See

Thursday, October 06 2022 @ 09:10 AM EDT

Contributed by: Magpie

You may recall that around this time last year I explained to the world and everyone why I was Through With Pythagoras. I had long given serious attention to the teaching of the old desert sage, but those days were now behind me.

 I shall now copy and paste for a while...

*****************************

We are more or less agreed that sometimes a team's W-L record doesn't tell their story clear and true. And when it doesn't, we know why. It's because the team's record in either one-run games or blowouts (or both) varies somehow from their performance the rest of the time.

These days even ESPN's home page includes Runs Scored and Allowed and Run Differential. As if that told the story (after all, a run differential of 100 runs in Dodger Stadium is very, very different from the same thing in Coors Field.)

From a team's Runs Scored and Allowed we extrapolate what we have come to call a team's Pythagorean W-L record. This is based entirely - entirely - on the relationship between total Runs Scored and Allowed. As I suppose is generally known, there are two fairly common methods of making that calculation: one involves squaring the numbers involved, while the other uses a component, often 1.83, instead. Whichever you use is entirely up to you. Let me hear no talk of accuracy.  Whichever formula you choose generates a fiction, an imaginary W-L record. One fantasy is not more accurate than another. It's all a matter of which one you like best, or which one suits your needs. (As I was generally trying to identify real seasons that didn't tally closely with the actual results, I very much preferred the traditional formula that squared the numbers. If you're looking for seasons that deviate from one's reasonable expectations you don't want to use a method that generates those deviant seasons willy-nilly. Which is what using the component will do.)

Now there are two problems with using one of the Pythagorean formulae to generate a W-L record, as imaginary as it may be.

The first problem  is with the blowout games that constitute a significant part of any team's season. It's not that it makes no difference at all whether you win by 6 runs or 12 - but I do suspect that this mostly tells you something about choices made by the losing team when a game gets out of hand rather than anything about the quality of either team. So I think that while a team's record in blowout games is very significant, I don't think a team's Runs Scored and Allowed in those games is nearly as important. And what this means is that the raw data - the Runs Scored and Allowed - that is being fed into the Pythagorean formula of your choice creates its own distortions right from the jump.

The other issue, which I think is much more important, is pretty obvious. Of course it involves my own Great White Whale. But nevertheless, here we go! Because baseball teams play lots of games that are decided by a single run. And even if you do believe that Run Differential and the Pythagorean formula will give you an accurate idea of a team's quality, you still can't apply it to one-run games. You simply can't do that.

Because that's not how one-run games work.

It just isn't. You can't apply a Pythagorean formula to those games. Because in one-run games, the impact of random chance is sufficient to overcome the impact of team quality. You may not be able to win a game by ten runs thanks to a lucky bounce. But you can definitely win by one-run.

This is why the effect of one-run games is to drag every team to the centre. It drags everyone towards .500 - it lifts the bad teams and it lowers the good teams. That's what it does. This is a Law.

This doesn't quite mean that we should set a .500 record in one-run games as a team's expected outcome. The better teams actually do play better in one-run games than the bad teams. It's just that any single season is much, much too short a sample for that result to manifest itself. It would be exactly like assessing a hitter's season on 30 random plate appearances. We need the whole season, we need the 700 plate appearances to have a decent idea. As it happens, that's about how many one-run games it takes for a team's quality to begin to consistently affect that team's record in one-run games.

And even when we have that many games (in truth, the number needed might be closer to 1,000 games) - a team's record in one-run games still isn't going to match whatever Pythagorean projection we had come up with. Because one-run games are still going to drag teams towards .500, however good or bad they may be. That's what they do. It's just that if you play enough of those games, the effect won't be as pronounced. Given enough games, an equilibrium between these two forces is eventually reached, between the the relentless pull towards .500 and the actual quality of the teams. 

The effect is always present, and it's generally reliable. To state it very crudely, the .600 teams will play something like .550 ball in one run games, the .550 teams will play something like .530 ball in one-run games, the .450 teams will play something .480 ball in one-run games. There is a reasonable expectation that teams of a specific quality will provide a specific level of performance in one-run games. We know this because we have more than a century of data that tells us so. Here is the data (through 2015)


                                  OVERALL                             ONE-RUN GAMES                            OTHER GAMES        
                                                                            
Record    No. of Teams        GPL      W        L      PCT            GPL       W        L      PCT          GPL        W         L     PCT
                                                                            
.700 plus     10             1,530   1,100      430    .719            393      256      137    .651        1,137      844       293    .742
.650-.699     43             6,556   4,394    2,162    .670          1,931    1,158      773    .600        4,760    3,236     1,389    .700
.625-.649     68            10,576   6,723    3,853    .636          3,106    1,837    1,269    .591        7,470    4,886     2,584    .654
.600-.624    133            20,686  12,651    8,035    .612          6,195    3,488    2,707    .563       14,491    9,163     5,328    .632
.575-.599    199            30,987  18,235   12,752    .588          9,305    5,230    4,075    .562       21,682   13,005     8,677    .600
.550-.574    233            36,253  20,401   15,852    .563         10,983    5,898    5,085    .537       25,270   14,503    10,767    .574
.525-.549    325            51,352  27,572   23,780    .537         15,589    8,103    7,486    .520       35,763   19,469    16,294    .544
.500-.524    258            40,532  20,677   19,855    .510         12,445    6,252    6,193    .502       28,085   14,425    13,662    .514
.475-.499    238            37,403  18,166   19,237    .486         11,472    5,655    5,817    .493       25,931   12,511    13,420    .482
.450-.474    256            39,927  18,439   21,488    .462         12,149    5,792    6,357    .477       27,778   12,647    15,131    .455
.425-.449    202            31,600  13,823   17,777    .437          9,746    4,529    5,217    .465       21,854    9,294    12,560    .425
.400-.424    173            27,129  11,166   15,963    .412          8,157    3,687    4,470    .452       18,972    7,479    11,493    .394
.375-.399    113            17,554   6,800   10,754    .387          5,320    2,253    3,067    .423       12,234    4,547     7,687    .372
.350-.374     62             9,520   3,446    6,074    .362          2,828    1,172    1,656    .414        6,692    2,274     4,418    .340
.300-.349     81            12,500   4,145    8,355    .332          3,712    1,479    2,233    .398        8,788    2,666     6,122    .303
.000-.299     20             3,057     843    2,214    .276            909      331      578    .364        2,148      512     1,636    .238
                                                                            
            2414           377,162 188,581  188,581    .500        114,240   57,120   57,120    .500      263,055  131,461   131,461    0.500

As you can see, the pattern is pretty dependable. The only group that doesn't fit perfectly includes the 133 teams who played between .600 and .624 ball. Those teams had results in one-run games that were just a little bit worse than all this would lead you to expect. They played 6195 one run games, and I would have expected them to win about 3560 of them (roughly .575 ball) - they actually went 3488-2707, which is just .563 ball. How big a deal is that? Not all that much, actually - it's exactly the same as the difference between going 93-69 and going 91-71.

But I certainly didn't want to create a dozen different formulae, depending on a team's WL record, in order to derive expected outcomes in one-run games. That would be... extremely tedious. I wanted a nifty, catch-all that I could apply to everyone. And so I developed a very, very simple formula to generate a team's projected record in one-run games. I'm sure it's somewhat crude, but It's as consistent as I could hope it to be once the sample gets large enough.  Once the sample gets large enough, the formula actually works (I can hardly believe it myself!)  I don't need to worry about the blowouts. I don't even have to worry about total Runs Scored and Allowed. Simply adjusting the outcomes of one-run games turns out to be enough to make the actual results match up with the expected results.

Here's how it works (three calculations are involved!)

In 2021, Tampa Bay went 20-25 in their one-run games. They played .684 ball (80-37) the rest of the time. So:

1) Multiply their 45 one-run games by their .684 winning percentage in their Other Games. You get 30 (because I'm using the INTEGER function, I don't want to mess around with 30.7 - hey, you either win or you don't!)

2) Multiply those same 45 games by .500 - after all, dragging every team towards .500 is precisely what one-run games do. It's what they're for. This time we get 22 (the INTEGER function strikes again, lowering 22.5 to 22).

3) Add the two figures - 30 and 22 - and divide them by 2. Easy enough, it's 26.

Voila! Tampa Bay's expected W-L record in one-run games is 26-19 instead of the 20-25 inflicted on them by Cold Reality.  We are free, if we like, to regard this as more reflective of that team's quality than What Actually Happened.

****************************

I have, naturally, carried out the same operation on the season just concluded and I am ready - nay, I am eager - to tell everyone what You Just Saw!

This, I submit, is a better reflection of true team quality than the actual standings (or anything Pythagoras shoots out of his rear end.)

               ADJUSTED RECORD       NOT ONE-RUN GAMES    ACTUAL ONE RUN GAMES    ADJUSTED ONE RUN GAMES        
                                                           
     W    L    PCT        W    L    PCT        W    L    PCT        W    L    PCT
                                                           
NY Yankees    102  60   .630        68  36   .654        31   27   .534        34   24    .586
Toronto    89  73   .549        62  50   .554        30   20   .600        27   23    .540
Tampa Bay    88  74   .543        59  49   .546        27   27   .500        29   25    .537
Baltimore    85  77   .525        60  55   .522        23   24   .489        25   22    .532
Boston    79  83   .488        54  58   .482        24   26   .480        25   25    .500
                                                         
Cleveland    88  74   .543        64  53   .547        28   17   .622        24   21    .533
Minnesota    82  80   .506        58  56   .509        20   28   .417        24   24    .500
Chicago    75  87   .463        54  65   .454        27   16   .628        21   22    .488
Kansas City    65  97   .401        49  77   .389        16   20   .444        16   20    .444
Detroit    62 100   .383        44  76   .367        22   20   .524        18   24    .429
                                                          
Houston    104  58   .642        78  40   .661        28   16   .636        26   18    .591
Seattle    85  77   .525        56  50   .528        34   22   .607        29   27    .518
Los Angeles    78  84   .481        55  61   .474        18   28   .391        23   23    .500
Texas    78  84   .481        53  59   .473        15   35   .300        25   25    .500
Oakland    61 101   .377        43  77   .358        17   25   .405        18   24    .429
                                                         
NY Mets    101  61   .623        80  46   .635        21   15   .583        21   15    .583
Atlanta    100  62   .617        75  43   .636        26   18   .591        25   19    .568
Philadelphia    91  71   .562        65  50   .565        22   25   .468        26   21    .553
Miami    76  86   .469        45  53   .459        24   40   .375        31   33    .484
Washington    54 108   .333        38  85   .309        17   22   .436        16   23    .410
                                                          
St Louis    94  68   .580        77  54   .588        16   15   .516        17   14    .548
Milwaukee    85  77   .525        58  53   .523        28   23   .549        27   24    .529
Chicago     73  89   .451        48  61   .440        26   27   .491        25   28    .472
Pittsburgh    62 100   .383        41  73   .360        21   27   .438        21   27    .438
Cincinnati    60 102   .370        41  77   .347        21   23   .477        19   25    .432
                                                          
Los Angeles    114  48   .704        95  36   .725        16   15   .516        19   12    .613
San Francisco   85  77   .525        59  54   .522        22   27   .449        26   23    .531
San Diego    83  79   .512        59  56   .513        30   17   .638        24   23    .511
Arizona    80  82   .494        57  59   .491        17   29   .370        23   23    .500
Colorado    66  96   .407        45  70   .391        23   24   .489        21   26    .447

We would still have the same six teams meeting in the AL post-season, but the match-ups would be slightly different. Toronto would be hosting Tampa Bay in the fight to see who gets to play Houston. And Seattle (who edge out Baltimore with the tie-breaker) would be off to Cleveland.

The most interesting AL team, by a mile, is Texas. Normally the one-run games help losing teams - they drag their records up towards .500. But in the tiny sample that is any single season, literally anything can happen. Like the Rangers going 15-35 in one-run games. I think we all understand that this was simply karmic payback for their equally inexplicable record (36-11) in these games back in 2016, but poor Chris Woodward paid a terrible price for this random misfortune.

These adjustments really shake up the NL post-season. The Braves, by losing just one of their wins, end up as with a Wild Card berth instead of the division title. They will take on... San Francisco? Yup - the Padres fall to third place in the NL West and miss the post-season entirely. The Giants hold the tie-breaker over Milwaukee.

Gosh. The Astros and the Dodgers are the best teams in the game? Who knew?
       

27 comments



https://www.battersbox.ca/article.php?story=20221006084348280