Premium and Super Premium Subscribers Get a 20% Discount at MLB.tv!
March 9, 2006
Player Forecast Manager
The SequelLast time out, we discussed the latest updates to the Player Forecast Manager. Along with all the added attention that we got came plenty of useful feedback, and even a few bug reports. Now, having fixed all of the bugs we (or you) could find, and adding a few more features, I'm here to tell you about the latest developments, and hopefully answer some of the questions that get asked most often.
Many of you wrote in to report two major bugs that came up at various times during development, the first of which dealt with inflation. The problem was sadly as simple as a typo that I made in a variable name during previous development. Thankfully, this bug was caught early on and it wasn't in the production version of the PFM for long.
The second bug concerned the positional adjustment. Many fantasy leagues use something like a two-catcher roster requirement as part of their efforts at realism, and in many cases we had league settings that would cause PFM to give rankings that didn't include the appropriate number of catchers. As an example, there was one user whose 12-team league used two catchers per team; his scoring system, when entered into the PFM with the positional adjustment on, would only produce eight catchers! Needless to say, there were 16 catchers missing from what should have been ranked.
The resulting fix of this bug caused dollar values to change pretty noticeably. We've actually gotten more emails about the resulting change in valuation because for most leagues, the top tier of hitters is now ranked comparably or below the top tier of pitchers. The actual number of hitters has remained the same, since the PFM generates the number of hitters equal to the number of lineup spots available, but when the positional adjustment is turned on and working, the pool that the PFM is picking to occupy these slots is sometimes necessarily filled with some lesser talent.
As it happens, we also got a few reports that the positional adjustment, while turning out the right numbers, wasn't as drastic or as significant as some people expected. After considering some of the options for positional adjustments, and how we could look at evaluating across positions within the internal valuation of the PFM, we've decided to try a tiered adjustment system. Please note that officially, we suggest and support choosing either level 0 (zero), which results in no positional adjustment, or level 1, which is the typical fix that was rolled out recently. For those who believe in a more drastic positional adjustment, feel free to try levels 2 and 3.
At this point, it is beyond the scope of this article to explain exactly what these adjustments are doing, but I think it's only fair to give a relatively technical explanation so that users know what they might be getting themselves into. As the PFM evaluates players, it assigns an initial dollar value to the players based on their raw projections. This is the dollar value you'll get if you have the positional adjustment at level 0. Then the PFM can make sure that certain positions are filled by ensuring that enough players to fill the slots given in the league setup, and that is adjustment level 1.
Adjustment level 2 goes a step further and gives a boost specifically to positions whose last-place player is below a certain threshold. This is perhaps the level that will be most comfortable to some--positions like catcher will get an added boost and you'll usually see catcher values rise as a result. Adjustment level 3 is even more severe, and it works to upgrade players at positions that have less overall value (just like level 2), but it slightly penalizes players at positions with stronger overall value. Typically these positions of strength are first base and some outfield positions. This is probably a more severe adjustment than most people would care for, but we do offer it to give a better idea of how a player compares within his position primarily, and to the rest of the league secondarily.
We've also added some of the most commonly requested features. The first is a relatively run-of-the-mill positional filter which accompanies the output. Sitting at the top of the table of values, it will let you pick and only see a certain position. The dollar values should remain the same regardless of how you filter them, so it is used for comparison purposes only. That said, it was a popular request, so hopefully it is useful to many of you.
The second one is very interesting but still technically under development. This addition is called "user-centric inflation." A few of you asked to have the PFM's inflation feature be a little smarter about how it inflates player values. When you're drafting and PFM suggests that you take an elite closer, and you do, and then it suggests another elite closer, and you do, and it keeps suggesting elite closers (because they're in shorter and shorter supply) it gets to the point soon where you have to say to yourself (and to PFM) "there's no way I'm taking another closer."
Although we could set it up to know which team has which players, and be able to forecast the standings and how many points your team should get, it would be tedious to enter every player's team, and the computations would get complicated. Instead, we've taken this general idea and relaxed it a bit so that you can specify which players were taken by your opponents and which players are on your team. User-centric inflation will then adjust the values of the remaining players based on your standing in comparison with your average opponent in the rest of the league. It makes this adjustment by looking at the relative advantage or disadvantage of your projected team in each of the scoring categories for your league, and then adjusting the component dollars for the available players within each category. The result is a new dollar value that is adjusted based on these ratios.
Although I'd like to emphasize that this is still technically in the beta stages of development (which means we're releasing it, but it might still have bugs), it's a pretty cool feature. Now, when the PFM tells you to take an elite closer or two early, it will make sure you get a few starters afterwards, instead of ranking the remaining closers even higher because the elite ones have been taken. When you take Scott Podsednik and Juan Pierre and wrap up the steals category, the PFM's user-centric inflation will help you focus on other categories. As a warning, if you have many players entered in the inflation and you try to load the 'SAVE THIS LINK' that holds these inflation values, the URL can get to be too long for the server to process. I'm working on a solution for this problem.
I'd like to note that the user-centric inflation is not yet sophisticated to the point where it can overcome some of the drastic positional rankings, especially as you get deeper into drafts. This means that the positional adjustments--specially those higher levels (2 and 3)--will tend to override some of the benefit to using the user centric inflation. I do hope to make the user-centric inflation smart enough that it would reduce, diminish or possibly even counteract some of the positional adjustments. I guess it's just another friendly reminder that both the more severe positional adjustments and the user-centric inflation are some of the coolest new features, but we're still developing them, and they're prone to bugs.
Many of you have asked about the data updates. We'll be making data updates as often as possible up to the start of the season. This includes an update that should be effective today, and hopefully a few more before the start of the regular season.
I also wanted to answer some of the most common questions we get:
Q: Ben, thanks for the article on the Player Forecast Manager. I have one question regarding the inflation tool. In my league, there are many players who are protected (i.e. kept from last year) that won't appear on the spreadsheet as having positive value. For example, the team that drafted Randy Wolf last year will likely keep him because they got him cheaply. Since Randy Wolf doesn't appear on the spreadsheet, I can't put in his contract value and adjust for inflation. I thought about just adding his contract value to the value of another protected player (this will make the dollar values add up) but this won't account for the fact that the lowest-valued pitcher on the list technically no longer has value because he becomes the definition of 'replacement' player. I doubt one protect would change values that much, but in my league there are typically many protects that won't appear on the spreadsheet (many teams know they are rebuilding before the season starts so they'll protect cheap rookies with the hope that some will work out in the following year]. Is there any way to account for this?
A: To find the players that were protected but who do not show up, try changing the minimum dollars displayed option before you submit the settings for processing. If you enter a dollar value low enough, you should see all of these players. Now you can change the inflation values for these players as well.
Q: It looks like the overvaluation of pitchers is back again. After the first day, the valuations were normal, but the PFM is currently showing pitchers as the second, third, fourth, and 6th-8th most valuable players in the game for fantasy purposes. As a suggestion, I would recommend devaluing speed-only players (such as J. Pierre and S. Podsednik) a bit more; they are not as risky as pitchers injury-wise, but one hamstring twinge and almost all of their value is lost.
A: I'll address your comment about "speed-only players" first because that one is a bit more straightforward logistically. The PFM is setup under the construct that all roto categories are scored equally, and when one of the five is something like stolen bases, players like Podsednik and Pierre, who can get you half of the steals you need to win the whole category in many leagues, are actually quite valuable in a fantasy sense.
As for the valuation of pitchers, when I first made some of the fixes that are mentioned on the site about the positional adjustment, I thought that I had induced a bug here. The more closely I looked, the more I realized two things:
In most cases, the PFM tends to value the elite players a bit more than you might expect, so that is why we have the disposition feature--if you disagree heartily with the Stars and Scrubs approach, you can set it to being conservative and it will diminish this effect. The elite closers tend to be analogous to the speedsters--they can help you win an entire category--at least in the PFM's eyes.
There is something of an important caution to note: the PFM is using the PECOTA projections, and for saves, it tends to only come out realistically for the elite closers. In actuality, a guy like Brian Fuentes or Jose Valverde could end up doing well and be almost as valuable as Mariano Rivera, but the chances are slim, and you'd have to pick the right one of those guys and get lucky, so to speak.
Q: I want to use the PFM for a Scoresheet draft. How do you suggest I do that? (It would nice to have a default template set up for Scoresheet drafters.) And what do I do with budget, players per position, etc.? All those are relevant to rotisserie, but not to Scoresheet. Do I leave them alone, or set them to zero? How do I save these settings when I get the right ones? Do I have to re-enter them every time I log in? (The defaults keep coming back.)
A: We have a new stat this year called SSSIM that is designed for Scoresheet.
For my own Scoresheet draft, I decided that the easiest thing to do would be to use the raw stats download from the PFM, and judge the inflation types of things on my own. You can find the raw stats here.
Unfortunately, we can't set up a default template for each different type of system that our users use, and setting one up, like Scoresheet, would just garner more requests for others and complaints that each person's system wasn't represented, or was set up incorrectly. It's an unfortunate trade-off, but it is easier to manage if we don't have any specific custom default templates.
If you are going to use the PFM and not just draft from the raw data, I would suggest using a budget that makes it easy for you to see what the dollar values mean. Since you're not actually doing an auction, you could do something like $100 total and budget $50 each for hitters and pitchers. That is up to you and you'll have to play with it some to find something you like. Once you get the results, there will be a link that says 'SAVE THIS LINK.' to save your settings. If you bookmark that link, when you reload that link, it will let you jump straight to the output and bypass entering your settings.
Q: I'm preparing for my upcoming fantasy draft. Using the PFM (which I love, thanks) as a main tool. Just wondering if I should study the current (2/20) one a lot, or if there will be an update soon. If there is an update, should I expect to see major changes from the current values?
A: Thanks for writing. We're planning another update soon, but we don't have a set schedule. We try to make regular updates, at least once and hopefully sometimes twice a week, but the magnitude of these changes depends on the events between the updates, so I can't really say for sure how much the values will change, unfortunately. I hope this helps answer your question, and I'm sorry I can't offer more specifics. Please let me know if you have any other questions.
Q: I used the PFM for a points-only league, and it gave me total points value for each player, but no auction prices. What (if anything) can I do about this?
A: Right now, there is no positional adjustment or dollar value generation for points leagues. Compared to the roto support, the points league support is relatively simplistic. We have discussed strategies for generating dollar values, but we have yet to develop anything in the PFM. I'm sorry I can't offer you a better answer, and I hope that you find the PFM useful. Please let me know if you have any other questions.