My rankings for batting and pitching are based on TOP (Total Offensive Production). TOP is calculated by getting the Total Bases Accumulated and dividing it by PA. Total Bases Accumulated is the sum of Total Bases, Base on Balls, Hit By Pitch and Net Stolen Bases.

TOP=TB+BB+HBP+SBCSPATOP = \frac{TB + BB + HBP + SB - CS}{PA}

But if we look further at this formula, and focus specifically on the Total Bases Accumulated, we can determine expected Runs by dividing the Total Bases Accumulated by 4.

xR=TotalBasesAccumulated4xR = \frac{Total Bases Accumulated}{4}

This is based on the idea that in order to score a single run, you will need to accumulate 4 total bases. Now this isn’t always the case. You could have three singles to load the bases but not score a run. So you accumulated 3 bases. You could also have a walk, reach third on a throwing error and then score on a sacrifice fly. You have just scored a run on one total base. Over the course of a season, it mostly averages out. The total runs scored in 2025 was 21,614 while the expected Runs was 21,372.25. That’s a difference of 241.75 or 1.1%.

But what if it doesn’t average out for a team?

The Milwaukee Brewers scored 806 runs during the 2025 season. Their expected runs was 742.5. That is 63.5 runs more than expected. What does this mean? Well, I think this means they were extremely efficient in scoring runs.

On the other hand, the Pittsburgh Pirates scored 583 runs during the 2025 season. Their expected runs was 636.2. This means they scored 53.2 runs less than expected. I assumed this meant they had trouble getting their runners around the bases. I did some more research and found that the Pirates reached first base around 1,828 times (hits + walks + hbp), not taking into account reaching on error. They also had 1,127 runners left on base. This is 61.65% of the runners reaching first base. The New York Yankees also left 1,127 runners on base. However, they reached first base 2,065 times. That is 237 times more than the Pirates.

Team Expected Runs Batting

Rank Team Games Plate Appearances Runs xR Δ Runs
1 New York Yankees 162 6235 849 819.5 29.5
2 Los Angeles Dodgers 162 6187 825 778.5 46.5
3 New York Mets 162 6178 766 777.5 -11.5
4 Chicago Cubs 162 6162 793 772.8 20.2
5 Arizona Diamondbacks 162 6210 791 770.0 21.0
6 Seattle Mariners 162 6200 766 767.0 -1.0
7 Philadelphia Phillies 162 6166 778 765.0 13.0
8 Boston Red Sox 162 6206 786 758.8 27.2
9 Toronto Blue Jays 162 6180 798 747.8 50.2
10 Athletics 162 6151 733 746.5 -13.5
11 Milwaukee Brewers 162 6227 806 742.5 63.5
12 Atlanta Braves 162 6186 724 720.8 3.2
13 Detroit Tigers 162 6093 758 719.2 38.8
14 Tampa Bay Rays 162 6045 714 713.5 0.5
15 Minnesota Twins 162 6059 678 705.0 -27.0
16 Miami Marlins 162 6142 709 702.5 6.5
17 Houston Astros 162 6087 686 697.0 -11.0
18 Cincinnati Reds 162 6082 716 695.8 20.2
19 Baltimore Orioles 162 6020 677 694.5 -17.5
20 Los Angeles Angels 162 6000 673 691.2 -18.2
21 San Diego Padres 162 6087 702 689.8 12.2
22 San Francisco Giants 162 6072 705 685.2 19.8
23 Kansas City Royals 162 6008 651 682.0 -31.0
24 Texas Rangers 162 6046 684 681.2 2.8
25 Washington Nationals 162 5982 687 674.0 13.0
26 St. Louis Cardinals 162 6069 689 671.0 18.0
27 Cleveland Guardians 162 5943 643 657.8 -14.8
28 Chicago White Sox 162 5987 647 654.8 -7.8
29 Colorado Rockies 162 5908 597 645.0 -48.0
30 Pittsburgh Pirates 162 6008 583 636.2 -53.2

Team Expected Runs Pitching

Rank Team Games Batters Faced xRA Runs Allowed Δ Runs Allowed
1 Texas Rangers 162 5942 656.5 605 -51.5
2 San Diego Padres 162 5981 661.0 621 -40.0
3 Milwaukee Brewers 162 6041 662.5 634 -28.5
4 Chicago Cubs 162 5904 665.0 649 -16.0
5 Pittsburgh Pirates 162 5982 668.2 645 -23.2
6 Kansas City Royals 162 5997 669.0 637 -32.0
7 Philadelphia Phillies 162 6026 675.0 648 -27.0
8 Cleveland Guardians 162 6054 682.0 649 -33.0
9 New York Yankees 162 6080 685.5 685 -0.5
10 Boston Red Sox 162 6150 685.8 676 -9.8
11 San Francisco Giants 162 6095 687.2 684 -3.2
12 Detroit Tigers 162 6034 687.2 691 3.8
13 New York Mets 162 6153 692.5 715 22.5
14 Los Angeles Dodgers 162 6077 693.8 683 -10.8
15 Cincinnati Reds 162 6035 697.5 681 -16.5
16 Tampa Bay Rays 162 5960 698.5 683 -15.5
17 Seattle Mariners 162 6134 701.2 694 -7.2
18 Houston Astros 162 6041 705.2 665 -40.2
19 St. Louis Cardinals 162 6120 721.2 754 32.8
20 Toronto Blue Jays 162 6089 721.5 721 -0.5
21 Minnesota Twins 162 6116 729.5 773 43.5
22 Atlanta Braves 162 6116 736.0 734 -2.0
23 Arizona Diamondbacks 162 6183 751.5 785 33.5
24 Chicago White Sox 162 6124 755.2 742 -13.2
25 Baltimore Orioles 162 6166 757.5 788 30.5
26 Miami Marlins 162 6185 761.0 798 37.0
27 Athletics 162 6232 783.0 817 34.0
28 Los Angeles Angels 162 6255 790.0 837 47.0
29 Washington Nationals 162 6287 796.0 899 103.0
30 Colorado Rockies 162 6367 885.8 1021 135.2