These projections are my quick and dirty attempt at making long-term projections for prospects based on their statistical record from NCAA, Cape Cod League, affiliated minor leagues, and Arizona Fall League. The goal is to project out prospects for dynasty fantasy baseball leagues using publicly available statistical information. These projections do not purport to tell you on their own which players might make the majors. Rather, they look for an approximate value that each player can produce in the Show given his statistical profile prior to making the big leagues.

I’ve completed Philthy Projections for all the hitters in the Top-50 of our Top-100 Fantasy List:

Philthy Projections

wdt_ID Player Org Peak OPS Peak pWAR Peak Roto$
1 Julio Rodriguez SEA 0.939 5.0 37
2 Gavin Lux LAD 0.848 4.9 31
3 Jazz Chisholm MIA 0.752 2.6 15
4 Nico Hoerner CHC 0.740 2.6 12
5 Jeter Downs BOS 0.756 2.6 15
6 Oneil Cruz PIT 0.783 2.8 22
7 Brendan Rodgers COL 0.760 2.4 12
8 Noelvi Marte SEA 0.854 2.2 32
9 Jordan Groshans TOR 0.863 3.0 25
10 Vidal Brujan TBR 0.787 4.5 24
Player Org Peak OPS Peak pWAR Peak Roto$


My dad bought me Strat-O-Matic football in 1993 for my 11th birthday. This set me off on a lifetime of playing simulation sports games. I always wanted to play a ‘forward looking’ fantasy baseball game akin to a simulation. Using a customized Fantrax point system, I came up with an idea which we tested out in the summer of 2019. Each 100 points scored by a player roughly equals 1.0 fWAR. Defense counts, and pitching values are more like ‘real life’ where getting outs is paramount.

Well, after coming up with the league concept, I needed create a projection system for this league. Else, I’d probably wind up sucking at the league I came up with, which would be an embarassment. I used Tom Tango’s Marcel projection system to project our unique Fantrax points for the 2020 season.

And then it dawned on me. If I’m projecting out Fantrax points which are meant to approximate fWAR, am I not also accidentally making WAR projections?

By stumbling around trying to make something useful for an obscure fantasy baseball league, I think I tripped and fell into something that could be useful for real life baseball projections. And this is a dynasty league (duh!), so I needed a better way to project prospects for their future contribution specific to this league setup.

I then looked around for someone who had already put this stuff together. As far as publicly available sources go, FanGraphs provides 3-year forward looking projections from Dan Szymborski’s ZiPS system. It’s great stuff, but also not precisely what I needed.

So I made my own.


The backbone of the process is Tom Tango’s Marcel projection method. The Marcel method uses a fixed weighted average of the prior three seasons of statistical performance, combined with regression to league average, in order to create a projection for the current year.

I start by collecting a player’s publicly available box score data for the past three years (if available). This includes a player’s NCAA, Cape Cod League, and Arizona Fall League stats if he has them. ‘Box score’ defense is included in this as well; assists, putouts, errors, double plays, and games at position.

The offensive raw box score stat lines are then converted to Major League Equivalent stats. This step ‘corrects’ the stat lines for scoring environment, park effects, quality of competition, and distance from majors. The defensive stats are adjusted for team-level ball in play opportunities to create adjusted range factors and fielding percentages.

I create these adjusted statistics for each stop the prospect played at in the last three seasons. A 5/4/3 weighted average is created with the most recent season weighted heaviest. The player’s 3-year weighted average is then regressed to the MLB average over the same timeframe. As part of the regression, I use a matrix of batted ball types (GB/LD/FB and Hard/Medium/Soft contact) to regress the hits, so a player with a ‘good’ batted ball profile will have his hits regressed differently than a player with a ‘bad’ one.

After regression, the stat line undergoes an aging adjustment for each future season projected. So the player’s stats will improve and decline year over year based on the aging curve. Counting stats are prorated for 600 plate appearances, defensive stats and WAR are prorated to 150 games. A projected Roto $ earning for each season is created based on the player’s projected slash line, HR, and SB performance as well, based on a Roto $ calculator developed by Chip Bourne. The final product looks like this:

I can (and do!) use the same method to make projections for MLB players as well.

Specific player examples

The next step for me is to learn to code so that I can create these things programatically. Until then, here are some players I worked up in coming up with the concept.

I had MLEs created for the 2013 A+ season for a different project. So I plugged a few ‘well known’ players from that season into the calculations to see what they came up with:

Kris Bryant

I did a few iterations of Kris Bryant’s projections, including one that used just his 2013 MLEs to project all the way until 2020 (FanGraphs Steamer Projections included for comparison):

A little optimistic, but then again Bryant’s 2013 MLE stats were very good at every level. So then I added 2014:

Then I included his 2015 MLB debut into the mix, which really tightened it up:

Javier Baez

I was really happy with how well the method worked to project Javier Baez out until 2020. Using only his 2012 and 2013 MLE stats along with some regression, it came up with an OPS projection within 1 point of what Steamer is projecting for 2020 (bearing in mind that Steamer has access to SIX MORE YEARS OF DATA).

Jorge Soler

Steamer is more optimistic than the 2020 Philthy Projections for Soler, but Steamer also has the advantage of incorporating Soler’s 2019 .265/.354/.569 slash line into its projection soup.

Andrew Vaughn

I thought Vaughn would be fun to do because 1) I’m a White Sox fan and 2) his 2017-2019 combined numbers will rely heavily on his NCAA and Cape Cod League stats. It also was the first time I projected out the counting stats and future Roto $ for fantasy purposes:

Adley Rutschman

“Adley or Vaughn?” for fantasy first year player drafts was a fun debate last season. So I spun up Adley next. He’s likely being unfairly punished for his 2017 performance here. Still, the system prefers Andrew Vaughn as a long term fantasy asset:

Luis Robert

Another guy with a big range of possible outcomes and a potential deviation between fantasy and real life value. The system thinks Robert will develop into an All-Star caliber centerfielder and a very good (but not elite) fantasy option by his prime.

Also, look at the pWAR/150 line for his brief stint in the Carolina League last year. You have to look at these short stint pWAR numbers with a good heap of hesitation. But Luis Robert was insane during those 19 games, and if you extrapolate that production out to 150 games he’d be worth roughly FIFTEEN WINS.

Wander Franco

As a prospect writer, I’m contractually obligated to create this. I thought the system needed to have an optimistic outlook on Wander given the fact that he’s likely the best teenage hitting prospect that we’ve seen in a generation. Well it didn’t disappoint, projecting Wander as a perennial All-Star and solid roto talent by his prime.

The .873 peak OPS projection isn’t quite as strong as Jordan Rosenblum’s excellent peak wOBA projections, as those give Wander a .413 peak wOBA. The Philthy Projection is more like a .375 peak wOBA. But either way you look at it, Wander Franco is going to be really, really good.

Some Notes of Caution

First and foremost, I don’t think these can be used to tell you which minor league players will ultimately make the MLB. It can be a piece of that puzzle, but they are more likely to tell you what kind of profile of production the player will have in the event that his career works out and he makes it to the Show.

These projections are just one tool for your use in evaluating prospects. I’d start any prospect evaluation by looking at scouted overall FV grades from a source you trust. You can find ours on our individual team Top-30 lists and in our upcoming Top-900 list. If I only got one piece of information to look at when making a decision about a player, it would be our FV grade.

But you’re not limited to that one piece! We’ve got tons of info on our site, including video you can watch on a lot of the top players. You can also always ask me or anyone else on the Prospects Live crew our opinions on a player. So get engaged and let us know who you like and why!

A final note is that, while I think the defensive measures work reasonably well, once a player hits the MLB level there’s more and better defensive data available. I think that, in particular, this projection system will likely underrate the defensive WAR contribution of elite defenders and overstate the value of sub-par defenders. Put another way, it’s going to treat a lot of guys as averageish for the position that they play.

Next Steps

  1. Learn programming language
  2. Keep tweaking the batted ball regression matrix, including…
  3. Incorporating tool specific scouting grades into the mix
  4. Custom regression weights for different stats (it’s pretty clear to me that, for example, strikeouts should be weighted differently than walks, and both should be weighted differently than HR/FB rates)
  5. Keep tweaking defense
  6. Outcome ranges
  7. Pitchers!


Bill James work on aging patterns

Dan Szymborski’s method for calculating MLEs

Tom Tango’s method to create Marcel projections

Bill James adjusted range factor from the book Win Shares

Sam Dykstra’s Toolshed Series on Park Factors for MiLB.com

Jordan Rosenblum at The Dynasty Guru for age-level translations, guidance, and overall insights

Chip Bourne’s Hypothetical Roto $ Calculator

Player stats from FanGraphs

Player stats from Baseball-Reference