About

Baseball players,
priced like stocks.

Every player has a price. A .369 wOBA season makes a guy look like a star, and sometimes he is one. Other times he got lucky on a bunch of bloopers and the bill is coming. Bullish Baseball tries to tell those two apart before the rest of the internet does.

The model looks at a player's last three seasons, what he actually did and how hard he hit the ball or how often he got swings and misses, and projects what he's likely to do next. Then it makes a call.

The three calls

▲ BULLISH The model expects him to be better than last season. Buy the dip.

■ HOLD He's priced about right. Nothing to see, keep scrolling.

▼ BEARISH The model expects a step back. Sell high, and maybe don't buy the jersey yet.

How the model works

Step 1Weigh three seasonsLast year counts most, two years ago a little less, three years ago less still.
Step 2Pull toward averageSmall samples get dragged hardest toward league average. Forty good innings is not a Cy Young.
Step 3Adjust for agePlayers peak around 29. Young guys get a bump, older guys get a nudge the other way.
Step 4Check the contactStatcast data (expected stats and whiff rate) adjusts a projection, but only where it beat the plain version on last season's test.

Why the Cubs?

Because that's who we yell at the TV for. The model covers all 30 teams and treats them the same. The commentary just has a North Side accent.

The fine print

This is analysis and entertainment. Projections are model output, not betting advice, and the model will be wrong plenty. When it is, we'll write about that too. Bullish Baseball isn't affiliated with Major League Baseball or any club.

Data comes from the MLB Stats API and Baseball Savant (MLB Advanced Media), used with MLB's permission for independent creators. Numbers update every morning.

Questions, arguments, or proof that the model is wrong about your guy: hello@bullishbaseball.com

Get the model's calls in your inbox.

One free email a week in the offseason, a quick one every morning once games start. Trades graded before your group chat finishes arguing about them.

Free. No spam. Unsubscribe whenever the Cubs break your heart.