We Added Minor League Level to THE BOARD!

We’ve added a column on THE BOARD called “Current Level” displaying the most recent minor league level the prospect has played at or has been transacted to.

The process of programmatically determining a prospect’s current level is slightly less straight forward than it might seem. For example, Vladimir Guerrero Jr. is currently a Blue Jays non-roster invitee, so his Minor League Baseball stat page has him listed as Blue Jay, but he hasn’t played a MLB game.

To mitigate problems like this, we are using a combination of our game logs and MLB’s transaction list, along with some logic to determine the prospect’s level. Here’s the summary of the logic:

  • If the prospect hasn’t played in the majors, he cannot have the majors as his level.
  • We look at the most recent minor and major league games the player has played and find the game with the most recent date.
  • We look at the most recent transaction MLB has listed.
  • We compare the transaction and last game to determine which is more recent and use that for level, with consideration of the MLB debut.

This logic will prevent prospect non-roster invitees in Spring Training from displaying as being at the major league level. The transaction and game log approach will provide some robustness against any errant transaction data. Since this is programmatic, there isn’t any judgement on whether an assignment is temporary, like a rehab stint would be.

If you notice any errors, there could be a delay because the data processing runs overnight, but if it persists, please let us know.

You Aren't a FanGraphs Member
It looks like you aren't yet a FanGraphs Member (or aren't logged in). We aren't mad, just disappointed.
We get it. You want to read this article. But before we let you get back to it, we'd like to point out a few of the good reasons why you should become a Member.
1. Ad Free viewing! We won't bug you with this ad, or any other.
2. Unlimited articles! Non-Members only get to read 10 free articles a month. Members never get cut off.
3. Dark mode and Classic mode!
4. Custom player page dashboards! Choose the player cards you want, in the order you want them.
5. One-click data exports! Export our projections and leaderboards for your personal projects.
6. Remove the photos on the home page! (Honestly, this doesn't sound so great to us, but some people wanted it, and we like to give our Members what they want.)
7. Even more Steamer projections! We have handedness, percentile, and context neutral projections available for Members only.
8. Get FanGraphs Walk-Off, a customized year end review! Find out exactly how you used FanGraphs this year, and how that compares to other Members. Don't be a victim of FOMO.
9. A weekly mailbag column, exclusively for Members.
10. Help support FanGraphs and our entire staff! Our Members provide us with critical resources to improve the site and deliver new features!
We hope you'll consider a Membership today, for yourself or as a gift! And we realize this has been an awfully long sales pitch, so we've also removed all the other ads in this article. We didn't want to overdo it.




I build things here.

13 Comments
Oldest
Newest Most Voted
Joe Joe
7 years ago

Thank you! This sounds a lot more complicated than I would have thought, but the way you have it done will avoid problems that could be caused by rehab assignments or temporary use as an emergency replacement.

szakylMember since 2024
7 years ago

So I noticed that if you go back to previous years’ lists that the level listed as where they are now. (For example, Guerrero is listed as AAA on the 2017 list.) I realize how difficult to program what you have was, and I appreciate all of the work that has been put into the BOARD. However, would it possible to put a lock on their 2018 level, once prospects get promoted this year? For example, (once the Blue Jays gain their extra year of control) Guerrero on the 2019 list will now say MLB, but on the 2018 list he will still be listed as AAA. Of course, retroactively doing anything for 2017 is out of the question, but for the future. Love the effort being put into all of this!

Nicklaus GautMember since 2018
7 years ago

This is amazing! I was literally just wishing for this last night as I was doing some prospecting in the lists.

Nicklaus GautMember since 2018
7 years ago

Would it now be possible to add “level” as a filter?

Nicklaus GautMember since 2018
7 years ago
Reply to  Sean Dolinar

That’s awesome..Thank you again.

darrylhumpsgophersMember since 2020
7 years ago

Looks like Paddack is listed in R even though he pitched in AA last season.

darrylhumpsgophersMember since 2020
7 years ago
Reply to  Sean Dolinar

On his player page, beneath his name, it also says (R) as his level. Is that pulling from the same source?

xsts1ssMember since 2019
7 years ago

Is risk an indication of the difference in floor vs ceiling?