University · Lesson 3 · Sports Analytics
Actual vs Expected Wins
Learn how actual win percentage compares with Pythagorean expectation, then use a scatter plot to compare baseball teams’ actual and expected wins.
Lychee University · Lesson 3
A team’s record tells you how often it won.
But does that record match how well it played?
Let’s compare two numbers using baseball.
Actual win percentage
First: actual win percentage.
Games won, divided by games played.
Win sixty out of a hundred games, and that’s sixty percent.
Simple enough.
Tap a game to flip it
100 games played
Actual win %
60%
60–40
Games won ÷ games played
60 ÷ 100 = 0.60
But the record doesn’t tell you how those wins happened.
Win a game ten to zero, and it counts as one win.
Win one to zero, and it still counts as one win.
The margin changes. The record treats them the same.
Two games
Game 1 · final
Game 2 · final
What the margin says
What the record says
The margin changes. The record treats them the same.
Over a season, a team could win plenty of close games and lose a few by a lot.
Another team could do the opposite.
That’s why we’re adding a second number.
Pythagorean expectation
Pythagorean expectation, developed by baseball analyst Bill James, estimates a team’s win percentage using runs scored and runs allowed.
You’ll also see it called Pythagorean winning percentage.
The classic formula takes runs scored, squared—and divides that by runs scored squared plus runs allowed squared.
Let’s use a made-up team.
Over a hundred games, it scores five hundred runs and allows four hundred.
Five hundred squared is two hundred fifty thousand.
Four hundred squared is one hundred sixty thousand.
Divide two hundred fifty thousand by their combined total, four hundred ten thousand.
That gives us an expected win percentage of about sixty-one percent.
Across a hundred games, that’s about sixty-one expected wins.
Use the percentage as a decimal in that calculation: about .
1 · Runs
Runs scored
500
Runs allowed
400
Games played
100
2 · Expected win %
500² = 250,000
400² = 160,000
≈ 61%
3 · Expected wins
0.61 × 100 games
≈ 61 wins
Score more while allowing less, and the estimate rises.
Score and allow the same number of runs, and it lands at fifty percent.
Score more, allow less
Expected win %
61.0%
≈ 61.0 expected wins in 100 games
Scoring more than allowing: above 50%
We’re using the classic squared version here. Other versions adjust the exponent, but the idea stays the same. Lesson 2 compares the exponents.
Comparing actual and expected wins
Now we have two numbers.
Our example team actually won sixty percent of its games.
Its scoring-based estimate was about sixty-one percent.
Close—but not identical.
Now calculate both numbers for each team over the same season.
You could put them in a table.
But a scatter plot lets us see how they relate.
Put the Pythagorean estimate on the horizontal axis, and actual win percentage on the vertical axis.
Each dot is one team’s season.
Our example team goes at about sixty-one percent across and sixty percent up.
Move right, and the scoring-based estimate gets higher.
Move up, and the actual win percentage gets higher.
One team, two numbers
Example team · 100 games
Move right and the scoring-based estimate gets higher. Move up and the actual win percentage gets higher.
What the gap tells us
Now draw a diagonal line where the two percentages are equal.
Fifty percent across, fifty percent up.
Sixty percent across, sixty percent up.
Use the same scale on both axes so that comparison is easy to see.
A dot on that line means the team’s record matches its scoring-based estimate.
Above it? The team won more than the formula estimated.
Below it? Fewer.
Our example team sits just below the line.
The vertical gap is about one percentage point—or about one win across those hundred games.
Where is the dot?
Expected (across)
61.0%
Actual (up)
60.0%
Vertical gap (actual − expected)
−1.0 pts
Below the line: the team won fewer than the formula estimated.
A bigger gap gives us more to investigate.
Did the team win a lot of close games?
Did a few blowout losses affect its run totals?
The dot doesn’t tell us the cause.
And the gap isn’t an automatic prediction that the team will improve or decline.
It tells us where the record and the scoring-based estimate differ.
From a table to a relationship
Now step back and look at all the dots.
Do teams with higher expected win percentages also tend to have higher actual win percentages?
Do the dots stay close to the diagonal, or spread far away?
The table
We’ve turned a table of numbers into a picture of the relationship.
Selected team
Pinewood
86–76
680 scored · 680 allowed
Expected
50.0%
81.0 wins
Actual
53.1%
86 wins
Gap +5.0 wins (above)
Biggest gaps
A gap is something to investigate. It doesn't explain itself, and it isn't a forecast.
One detail matters here.
We drew that diagonal ourselves. It marks where the two percentages are equal.
We haven’t fitted a line to the data yet.
That comes next.
Two kinds of line
The diagonal
We drew it before looking at the dots. It marks where the two percentages are equal.
A fitted line
The data decides its slope and position. Quantifying the relationship this way is linear regression.
Next lesson: Linear regression—how we fit a line to quantify that relationship.
Source
The classic formula and its mathematical background: A Derivation of the Pythagorean Won-Loss Formula in Baseball.
Get started with Lychee.
Free to explore here · Polymarket, Kalshi, Chainlink & more
More reading
Pythagorean Expectation: Win Percentage Explained
misterrpink · 8 min read
Linear Regression
misterrpink · 8 min read
· Guide
How to Build a Kalshi Weather Volatility Chart (Step-by-Step Guide)
misterrpink · 8 min read
· Guide
How to Build a Probability Calibration Chart Using Kalshi Weather Markets (Accuracy Analysis Guide)
misterrpink · 7 min read
· Guide
How to Build a Probability Convergence Chart Using Kalshi Historical Weather Data (VWPA Guide)
misterrpink · 6 min read