Behind FanDuel's Salary Cap
Behind FanDuel’s Salary Cap
WaiverWire Gives Us a Glimpse Inside One of the Top Site’s Salary Cap System
I’ve probably spent more time talking to more daily fantasy players about pricing than anyone on Earth, with the possible exception of Kaiseroll13. And almost without exception, people have expressed one overwhelming requirement for good player pricing: make sure that prices are set in a way that will make enough players equally appealing options that lineup duplication is minimal. Every other concern is secondary to that. The owner of another site recently stated that his primary objectives in setting prices are transparency and making the prices proportional to a player’s average performance over the course of the season. I have yet to hear someone say that either of those is more important than avoiding excessive duplicate lineup choices. That said, there’s more than one way to skin a cat, and there’s also more than one good approach to pricing players to avoid lineup duplication.
Our basic approach at Fanduel is that we use a formula that calculates a ‘weighted average’ of points per game, but with more recent games counting more heavily. The exact ‘decay rate’, or difference in weight between each game and the previous game varies by sport, and in some cases by position. For example, for hitters in baseball, we use a very low decay rate. Performance two games ago doesn’t count much more heavily than 50 games ago. By comparison, football requires a much higher decay rate. A football player’s stats from 50 games ago are pretty meaningless. Our formula also uses games regardless of whether they’re from the current season. It just doesn’t make sense to us to completely ignore a player’s entire career after the first few games of the season.
In most cases, our formula does a pretty good job of setting prices. However, like any of the formula based approaches to pricing, there are cases where it needs help. Many of these involve a change of role. If MJD goes down with an injury, is it really going to make sense to have Rashad Jennings available at a near minimum price for an extended period? We don’t think so. Because of that we’ve added the ability for us to manually adjust the baseline price for a player.
The potential for sudden role changes is also the reason why we believe that pricing players exactly proportionally to their past performance is a very dangerous approach. A recent article on Rotogrinders used the example of our Week 1 pricing for tight ends. The highest priced TD on Fanduel was Antonio Gates at 6,600. No tight ends were priced below 4,300. An argument was made that since Gates scores more than ten times as much on average as some of the tight ends (who never get into the game), he should be priced ten times as high. The problem with that approach (which FSL would use to price the ‘scrub’ tight ends at 600 or so) is that if an injury to a starter means that one of those cheap tight ends moves into a starting role, you suddenly have a player who should be quite expensive (probably in the 4,000-4,500 range) who is nearly free. Everybody will take them, and that will allow people to fill the rest of their lineup with star players…leading to an increase in lineup overlap or duplication. We believe that it’s better to acknowledge that the guys who don’t play are going to be basically ‘undraftable’ anyway. As long as they remain non-factors, it simply doesn’t matter what price they are. 4,300 is as good as 600…and actually it wouldn’t make any difference if we moved their price up to 9,900. However, by pricing them at a reasonable approximation of what they might be worth if they do become draftable through a change in role, we eliminate the risk of drastically underpricing a usable player.
Another advantage to our approach is that by allowing for the ability to manually adjust pricing, we can hopefully avoid situations where an especially favorable match-up leads to everyone picking the same player. While it isn’t practical for daily sports, we will be actively tweaking NFL pricing for the top players to try to avoid excessive duplication. That’s especially important with us launching the FFFC this year, where we expect anywhere from 500-1,000 entries per week.
The last point that I’ll address is the criticism that by taking factors other than average performance into account in our pricing formula, we’re eliminating skill from the game. That would be true if we were attempting to build a pricing formula that was a perfect predictor of player performance. That’s not what we’re trying to do though. We’re essentially trying to build a pricing structure that’s a good predictor of contestant preference. We don’t necessarily want the players who will perform the best to be the most expensive. We want the players who contestants THINK will perform the best to be the most expensive. If we can succeed at that, then we’ll achieve the one critical goal of player pricing – to avoid excessive lineup duplication.