2015 Fantasy Football Auction Draft Optimizer
136We are releasing our 2015 update to the highly requested Auction Draft Optimizer. The app allows you to calculate custom projections for your league based on your league settings. The projections incorporate more sources of projections than any other site, and have been the most accurate projections over the last 4 years. Based on these projections, the Auction Draft Optimizer determines the best players to draft within your league cap based on your risk tolerance. You can access the Auction Draft Optimizer here:
http://apps.fantasyfootballanalytics.net
For instructions how to use the app, see here. We will update the data regularly as the season approaches. Feel free to add suggestions in the comments!
Awesome work! Thank you for all you do!
Last year, I know there was talk of being able to upload a .csv with custom auction values for players. Is there still a plan for that, or at least some ability to manually adjust auction values?
Again, thanks!
Hi Andy,
You can adjust the auction values by changing the AAV source and by setting the Low/Mid/High rank and multiplier. A custom csv upload is on our to-do list for next year.
Thanks,
Isaac
Hi Issac,
Can the default AAV for CBS be added here? They differ quite a bit from the default options available and these are the ones my league uses as a baseline.
Hi Kyle,
Do you have a public link to CBS auction values? Happy to include them if we can find them (with a public link).
Thanks!
-Isaac
I have been building my own version of an auction optimizer using Solver in excel for the past month. Made a lot of tweaks here and there, based a lot on things I have read on this site and links I have clicked through this site. Finally this app came out, ran my league settings through the app, and it produced THE EXACT SAME OPTIMAL LINEUP I HAD SITTING INFRONT OF ME IN EXCEL. Talking about validating your work. Thanks for giving me confidence I didn’t totally screw up.
Hey Sean,
I got my start in Excel and also created an optimizer using Solver in Excel. But then I learned R and it changed my life 🙂
https://fantasyfootballanalytics.net/2014/01/why-r-is-better-than-excel.html
-Isaac
Issac…
Mark these words…if I win on FanDuel…you get 10%. LOL
I’ve been watching football since the Ken Stabler, Roger Staubach and Terry Bradshaw days; but not once did I ever join a Fantasy Football League, until last season.
My first team was a disaster! Autopick – gave me Cam Newton and Tony Romo. Great players…it just didn’t help my team. My 2nd team – i did fairly well in the draft. What really helped was when I found a site that did their calculations on VOBP – value over base player. I took the data and started creating models based on the weekly match ups. From there I chose which players I should start. Nothing could help my first team but my second team made the Playoffs and into the Superbowl! Just a few more yards from CJ Anderson and I would’ve won.
This season, i set out to find the site again. No where to be found. But you saved the day. Perhaps it was your site and it was renamed. IDK.
My second season ever to play fantasy football, and I get the Toyota Best Draft Award. My opponents say, “well my team has a bench – deep”. Without even mentioning VOR I said, “Bring in your replacements – I already won!” LOL
Thanks Issac. This is going to be an interesting season.
-Alex
Isaac, this is incredible stuff. It’s really helpful to have an ideal line-up in mind (assuming every player is bid up as expected). I wonder if you have any thoughts on how to decide between a player in the optimal line-up (at or below cost) and another player who goes for substantially lower than expected auction value. Does that make sense?
Sean, would you be interested in sharing your XCL? I’m trying to wrap my head around this kind of optimization, and walking through the steps in Excel would help. No worries either way. I also understand if Isaac prefers you don’t share!
Hi Harris,
Good question. Yes, I think it’s important to consider other players if they would give you more points for the same (or less risk), especially if you can get them for a better value. Keep in mind that the default costs for the top players are inflated by 10%, so their actual AAV will be less than that, so drafting them for a lower cost than what we list may not necessarily be a “good value”. To address the question of how much you should be willing to bid on each player, I’d suggest you consider a “Bid-Up-To” value, see here:
https://fantasyfootballanalytics.net/2013/08/calculating-bid-up-to-values.html
Hope that helps!
Isaac
Is the Bid Up To value created by the script here the same that is used to calculate “Cost” in the lineup optimizer web app?
Hi Caleb,
The “Bid-Up-To” value is different from “Cost”. We describe “Cost” in this article:
https://fantasyfootballanalytics.net/2013/06/win-your-fantasy-football-auction-draft.html
Hope that helps,
Isaac
Great job. Finally someone has built something I have been trying for years (with SQL). How can I improve this type of analysis if I have 5 years of actual auction data from my league, so I know the average cost for each position rank?
Hi Mike,
You can modify the AAV by selecting the source of AAV, and the Low/Mid/High position rank and multiplier. We have plans to include a custom .csv input next season.
Thanks,
Isaac
Is there a way we can save our data settings from one session to the next?
Saving settings is on our to-do list.
Thanks,
Isaac
I keep getting an error:
argument 766 is empty
callback (335
and the lineups don’t update as players are picked
What are you doing to generate an error? It works for me when I pick players. You might try deleting your cache.
Deleted cache and cookies, still no luck.
Here’s what i changed:
number of teams 12
cap reserved for bench 12
total players on roster 15
WR 3
RB/WR/TE 0
High rank 36
low rank 108
AAV Yahoo
League scoring yahoo
VOR Baseline: 15, 42, 49, 11, 0, 3, 0, 0, 0
ESPN 0
NFL 0
Still getting argument 747 is empty
in call: c(334
I seem to have fixed it when I changed from weighted to average. Not sure what the issue with weighted was.
Hi G,
We identified and fixed the error with the weighted average. Let us know if you still run into problems.
Cheers!
-Isaac
Hi! I am so happy to have found this site. Like others have said, you are doing what I do every year in variations of excel, but so much better than I can. Other than being able to save my setting from one session to the next, is there a way to show a tier by position? Or is that already built but just represented by a different value? Thanks!
Hi Joe,
Yes, saving settings is on our to-do list. We don’t currently tiers, but can consider this in the future if others find them helpful. Statistically speaking, tiers don’t capture the differences between players as well as VOR does. This is because the differences between players are likely continuous—i.e., it doesn’t appear that there aren’t meaningful “clusters” (or subgroups) of players based on projected points. You can see this empirically by examining the Density plots in the “Graph” tab of the Projections app:
http://apps.fantasyfootballanalytics.net/projections
Notice how each respective Density plot is fairly smooth. That suggests that the individual differences between players are best captured by a continuous measure (e.g., points/VOR) rather than a discontinuous one (tiers). In other words, the worst player in Tier 1 isn’t qualitatively better than the best player in Tier 2. Nevertheless, I’m open to considering including tiers in the future if others would find them useful. In the meantime, I’d suggest focusing on VOR for comparing within and across positions, and examining Dropoff for how many points you drop by waiting for the next best players at the same position.
Hope that helps,
-Isaac
I would second a request for optimizations based on tiers. It would be nice to see some statistical clustering to create tiers and then determine an average cost or range for that tier. The idea would be I could get about the same points from any of the 5-6 second tier QBs, so I should not focus on getting Player X, but rather knowing I want a second tier QB. Then I can know an optimal lineup would be tier2 QB,/tier2 RB,/tier4 RB,/tier 3WR/tier3 WR, etc.
Hi Mike,
I’ll add tiers to our to-do list. See here for more info on tiers:
https://fantasyfootballanalytics.net/2015/08/2015-auction-draft-optimizer.html#comment-34028
Thanks,
Isaac
Isaac,
Amazing amazing work, thanks so much. For those that just jumped in and starting using the tool, I highly recommend reviewing the instructions page (linked above), which provides a wealth of add’l information on how to use (and understand!) the tool.
As some have suggested, it would be ideal to have a quick way to generate a tiered list by position. Tiers generally aren’t quite as useful during auction drafts (as opposed to snake), but I love to identify values within a given tier and then target those players hard. The lineup optimizer already does that to a large degree, but it’s nice to quickly be able to see why at a glance.
Please consider adding a donation cup to your site – I know many of us would be more than happy to show our thanks with a few bucks!
Hi Linus,
Thanks for the suggestions. I just added a response to Joe’s request for tiers above—I’m open to including them in the future. Also, we have a donation button at the bottom of the right sidebar.
Many thanks for your support!
-Isaac
Hi great site! Great apps! The optimizer doesn’t really say what I should pay for a player right? I mean what his optimal auction price should be. Does the projection app do that? If not, is there a way to price what each player is worth? I saw a link to a script here that could do a calc of the pay up to value…but is there a way to generate a sheet using that? I am not that computer literate!
Thank you again for all you do!
The projection app should do that for you, you just have to choose where you want to get the auction values from (ESPN, Yahoo, etc…, or an average…) It is defaulted for a 10 team league, so if you are in a 10 team league you’ll be fine. If not, you’ll need to tweak the values a bit…
Hi Dave,
See the description of “Cost” here:
https://fantasyfootballanalytics.net/2013/06/win-your-fantasy-football-auction-draft.html
We have more info on the “Bid-Up-To” value here:
https://fantasyfootballanalytics.net/2013/08/calculating-bid-up-to-values.html
The “Bid-Up-To” value takes time to calculate (it’s based on a simulation) and it would differ based on your league settings, so we wouldn’t be able to include it in the webapp. What Brian says is mostly correct, however we do modify the AAV/Cost based on the number of teams in your league:
https://fantasyfootballanalytics.net/2015/08/how-do-auction-values-differ-by-the-number-of-teams-in-your-league.html
Hope that helps,
Isaac
HI Isaac, thank you for the response. I realize now the app is useful for identifying players that are undervalued based on their projected performance in relation to their AAV. So what I really want, which you have provided, is a way to identify market inefficiencies…it really doesn’t matter what the “bid-up-to” value is (though nice to know) but its more about buying low on players that are going for less than comparable players (based on projected points).
At least that is how I see the app being useful!
I second the request for dynamic “true dollar value” and “recommended max bid value” (based on rest of league funds and roster needs). As much as I am impressed by the app, it doesn’t seem like it would really help you much during an auction draft. I.e., knowing what the “ideal lineup” is isn’t necessarily going to be useful when trying to decide on how much a given player is worth.
At very least, I would hope the app could include static “true dollar values” customized based league settings. Thanks.
This is exactly what I was trying to figure out how to do today when I was doing some mock drafts. A real-time adjustment to player values based upon the amount spent on players by other teams would be helpful. The application asks how much I actually spent on the players I drafted, but does not utilize information regarding the amount spent on the players drafted by other teams.
Hi Chris,
This is interesting but would slow down the app considerably. What formula would you use for adjusting players’ costs given what other players have been drafted for?
Thanks,
Isaac
What formulas would you use to modify cost based on roster settings and rest of league funds. There isn’t a “true value” cost of players because research has shown you should be willing to over-spend on key players: https://harvardsportsanalysis.files.wordpress.com/2012/04/fantasyfootballdraftanalysis1.pdf. In other words, there is no simple way of translating points to cost, especially given the other factors you mentioned (roster settings, rest of league funds, rest of league position needs).
Thanks,
Isaac
I disagree. At the very beginning of a draft, you should have true dollar values for every player. That doesn’t mean you should actually pay that amount; it simply tells you how much that player is worth to the average team according to your projections.
I agree this is not simple, but disagree that an app shouldn’t be doing it for you. Right now, I cannot figure out what practical utility this tool would have in am auction draft. It uses generic AAVs and doesn’t attempt to derive the dollar values of players.
I’m not sure what you disagree with—research has shown that you should be willing to over-bid on key players. You can come into your draft with a priori auction values, but you’ll likely miss out on key players (or over-bid on worse players) if rigidly following them. Again, we’re happy to calculate a “Bid-Up-To” value if we know how to.
-Isaac
Right, The question I have is what information is your software actually providing me? It’s not giving me true values of players based on my league scoring and your projections. It’s not giving me adjusted dollar values based on all of the above, plus my own and other teams’ remaining roster needs. It’s not giving me accurate AAV values that are adjusted to reflect my league set-up.
It is giving me static projected season stat totals and generic AAV values. That’s really it. I still have no idea how one would gain value from this app in a live draft.
Evo,
They’re not static values. The cost is dynamic based on your AAV source, the player’s position, the player’s position rank, and the number of teams in your league. It’s giving you the cost you should be willing to pay for a player if he’s selected by the optimizer. AAV from your league source is crucial because that’s what most people base their bids on (and hence what you should be willing to bid over if a player is valuable). A Bid-Up-To value is on our to-do list, and we’re open to ideas on how to calculate it.
-Isaac
Isaac this is awesome! I have been playing around with Lineup Optimizer and love it!
What I think would be a perfect addition if possible would be to have the player pick and price stay in the Lineups instead of removing the position as a need from the lineup. Maybe have them highlighted to let you know they are your picks and not a recommended pick…
These are really cool though thanks for providing these for free!
Hi Chad,
Yes the “Pick” button is for selecting players on your team, which will then modify what you need. Clicking players’ names will add them to the players drafted on other teams.
Hope that helps,
Isaac
Isaac, I’m curious as to how best to utilize your outstanding tools for the H2H Sports – Website I entered (http://www.head2head.com/football/salarycap/) It’s not my site, but a terrific season salary cap league with a $100mil Salary Cap & very different player salaries: (http://www.head2head.com/football/salarycap/player/) which are set at the beginning of the season (a few salaries are decreased mid-season). It’s 1QB, 3RB, 3Rcvrs, 1K, 1D & 1Flex (QB, RB, Rcvr or K).
Scoring is fairly basically PPR.
I assume I can download the projections from the draft optimizer tool into excel & replace the costs with salaries – but I’m wide open to any other suggestions you may have, especially as the season goes on (roster changes cost a few $s after the first 20).
PS I’ve been doing quite well using Fantasy Pros and a few of the other sites.
Have you given any thought to a trade eval tool?
Hi Bob,
Thanks for the suggestion for a trade eval tool. Is the H2H Sports for daily/weekly leagues? If so, we’re hoping to release something for this season. If it’s for full season, you should be able to use our Auction tool. We have plans to allow users to input custom costs.
Cheers!
-Isaac
I noticed this year Footballguys and FantasyPros are no longer included in your default weighted average – I understand its because they now require a subscription – given the high accuracy of both those projections had in the last 3 years do you believe it will impact the accuracy or effectiveness of the tool when removing those projects as an input to your calculations ? Is it all all possible to use your application and add their projections ? (assuming I pay for their list and want to leverage it within the tool)
Hi M,
You can download our projections and combine them with your subscription projections outside the app. We don’t currently have a partnership to allow combining them in the same tool.
Sorry for the hassle.
-Isaac
This looks awesome. Two requests:
1) Allow for bonus points for long TDs (20-39, 40+).
2) Allow for points for DST net yardage allowed.
Thanks!
Do you know which analysts provide projections for those categories? We’d need projections of those categories to include them.
Thanks,
Isaac
The AAV and Cost values don’t seem to change dynamically based on league parameters. E.g., if you change settings to start more WRs than normal, nothing changes in AAV or Cost. Is this by design?
What formula would you use to modify AAV/Cost by roster settings? We already modify them by number of teams in the league.
-Isaac
I don’t have one handy. Honestly, I was hoping part of your development of this tool would be to derive the relative values of different positions based on the unique position scarcity and scoring system of the league.
Players’ AAV/costs depend on a multitude of factors—more than just roster settings, etc. We are happy to account for any given factor if we know how to account for it.
Thanks,
Isaac
Hi Issac. Congratulations on releasing this awesome app. So thankful! From my league’s historical data, I can see that RBs in particular garner much higher prices than the VOR, while WRs and QBs are undervalued. For example, the AAV for the top four RBs on the app is around $50. The average historical price for the last 3 years in my league is $62. What is the best way to compensate in the app? Just apply the inflation accross the boards until it reaches typical prices paid for top RBs knowing it affects the other positions, but just take the value? Thanks!
Sorry, meant “RBs garner much higher prices than the AAV”
Hey Scott,
That’s tricky. I’d want the most accurate costs for the players/positions that you most want to target. If that’s RB, I’d inflate according to RB. Next season, we hope to allow users to input custom costs, which would help solve this problem!
Thanks,
Isaac
Hey, this site looks great. trying to use the auction draft app but it wont let me adjust scoring and number of teams in the league. is this locked for a reason?
Hi Brett,
It’s not locked. Just enter a new value in the textbox. You can always try a different browser too.
Hope that helps,
Isaac
Isaac,
Great job on the app! Just curious how the app deals with different sources that don’t all update at the same time. For example, if Player X goes out with a torn ACL in practice, and 10 of 17 sites update their rankings within one day, but the other 7 sites don’t update ranks for 3 days. In this case are the rankings negatively impacted by 7 sites until they update? I suppose this would come in to play more with weekly rankings, and that it’s always best to check for the latest updates, but I was just curious how this is handled by the app.
Also, is there any chance the projections could include bye weeks? This would be helpful during drafts as well as waiver-wire pickups.
Thanks again, and I apologize if you’ve already covered these issues in another post.
Troy
Hi Troy,
We use whatever data are available. If some analysts but not other analysts update their projections after a player gets injured, his projections will go down, and his risk estimates will go up (because of uncertainty risk).
Bye weeks are on our to-do list.
Thanks,
Isaac
Love the site and all that you guys have done. Quick question about data settings — are the passing/rushing/receiving “bonuses” additive at each level or are they independent? In other words, my league includes a 5 point bonus for 100-199yd receiving game or 200+ receiving game (basically anything over 100 yards = 5 point bonus). To achieve this in the app, should one enter 5 in the “Receiving 100yd bonus” and 0 in the “Receiving 200 yd bonus” or 5 in both? Thanks!
Hey Robert,
Good question. You can just add 5 to the 100-yard bonus. Players are projected to have a number of games with 100+ yards and a separate projection for number of games with 200+ yards. In terms of projections, all instances of games with 200+ yards are subsumed within 100+ yard games.
Hope that clarifies,
Isaac
Hey Isaac,
Love your work! I also built a Fantasy Football Shiny App in order to use make projections based on mock draft data from thousands of mock drafts.
I have a question for you. I know you don’t release all of the code in github, but I was wondering how you are handling ‘excluding’ players. I had a hack-ish way of doing it but if you clicked too fast it could easily make Shiny hang.
Thanks!
Tanya
Hi Tanya,
Great question. Our tools were originally developed in Shiny until we started getting too much load and it would crash our servers. We ended up translating to OpenCPU because it scales better to handle more simultaneous users. For small applications, however, Shiny is sufficient (and easier). In our original Shiny tools, we had text entry only (which prevented the click problem you’re having), but it’s also not as user friendly as also having click option.
In the OpenCPU tools, we queue AJAX requests to the lineup optimizer. This means that if there are a bunch of changes happening quickly, all after the first will go into a stack until that first one completes. Then the last one placed on the stack is called and the others in the stack are removed (since they are no longer required). This helps maintain a stable environment and also helps avoid race conditions in which the most recent AJAX request doesn’t actually return last, since those calls are all happening asynchronously. Ultimately, this makes the data in the grids more reliable.
I’m not sure how to do this in Shiny, though. I’d suggest posting a question about your issue on StackOverflow or the Shiny Forums (https://groups.google.com/forum/#!forum/shiny-discuss).
Hope that helps!
-Isaac
Hey Isaac: I was wondering how often the auction app is updated? For example, Jordy Nelson is still listed as a top WR, but he’s out for the season. Is the fact he is still on the auction app simply because the source projections are not all updated? Thanks for all your work!
Hi Chris,
We update the data very regularly (including an update tonight). Kelvin Benjamin was bumped much lower in the latest update. Jordy Nelson is still up there because some sites haven’t updated their projections. I’d just exclude him when you draft (add him to the “Excluded Players” box). To my knowledge, there aren’t other key injuries that haven’t been reflected in the updated projections.
Thanks,
Isaac
What in your opinion is the more accurate calculation?
Hi Randal,
We describe the accuracy of the difference calculation types in the “Interesting Observations” section of the following article:
https://fantasyfootballanalytics.net/2015/07/accuracy-of-fantasy-football-projections-interactive-scatterplot-in-r.html
Hope that helps,
Isaac
I was wondering if entering zeros in all the monetary values would recalculate standings for a non-auction standard draft?
I joined my first league this year! Totally geeking out on numbers and love that I found this site.
Hi Christine,
If you’re looking for rankings for Snake Drafts, I’d recommend using the Projections tool:
http://apps.fantasyfootballanalytics.net/projections
Hope that helps!
-Isaac
Hey Issac,
Awesome site. I really appreciated the GitHub code to learn how you do scraping in R. Typically I am more of a Python guy and have done scraping using it. I also love how you introduced me to OpenCPU I think I may have to install that and test porting our Shiny Apps to that platform.
Anyways, my suggestion would be to be able to customize the bonus points for Passing, Rushing, and Receiving in a similar fashion to the Points Allowed. In my league we have 275, 300, 350 for passing, and 100, 120, 150 for rushing or receiving and 150,200, 250 for return. Generally I can set 2 out of the 3 but am missing one of the thresholds with the current implementation.
I’ll try to put in a pull request but your code in GitHub for the IDP.R and Kickers.R under projections…fantasy pros changed their format…the new way to parse is:
IDP$player <- str_sub(IDP[,c("Player (team, bye)")], end=str_locate(IDP[,c("Player (team, bye)")], '[:upper:]{2,3},')[,1]-2)
IDP$team <- str_sub(IDP[,c("Player (team, bye)")], start=str_locate(IDP[,c("Player (team, bye)")], '[:upper:]{2,3}')[,1], end=str_locate(IDP[,c("Player (team, bye)")], ',')[,1]-1)
and they changed "Ave" to "Avg" for the rankings.
Hope this helps!
Rich
Hi Rich,
We only provide thresholds for which we have projections. We don’t have projections for 275+ yards passing, so we didn’t include it. We might be able to estimate projections from other data in the future, but the few sites that provide projections for yardage bonuses only provide projections for bonuses in 50-yard increments. We can add this to our to-do list.
Thanks for the updated code. We haven’t had a chance to update the scripts on the repo because we’ve been hard at work on the tools. We hope to update them soon.
Thanks,
Isaac
Hi Issac,
I created a pull request with the changes for your convenience. Thanks again for this project. Using the new OpenCPU app I was able to be deemed the “best draft” according to Yahoo after our league draft a few days ago. Looking forward to the Gold Mining aspect and hope to incorporate that in my management this year.
Cheers,
Rich
Hey Rich,
Glad to hear your draft went well, and thank you very much for the pull request. Feel free to share any other improvements you make to the scripts!
Thanks,
Isaac
Hey Isaac,
I know you’ve done a lot with risk but I was wondering if have an idea on what is the optimal risk a lineup should have?
I know you’ve said less risk is best, but you’re also (in some cases) limiting upside and points. I think the Harvard paper talks about how fantasy owners are usually too risk-adverse.
Should I just stick to the default? Any thoughts would be great!
Hi Andy,
Great question. The Harvard analysis uses “risk” in a different way than we use it. Chakravarthy refers to risk in terms of how much you’re willing to bid on players. According to the Harvard analysis, being risk averse means not over-bidding for key players: “risk neutrality involves hedging auction bids by 10% and using a position specific pricing and discount bonus of the same amount”. In other words, people tend not to bid enough on key players, so you can be “risk neutral” by over-bidding by 10% on the top players (and discounting bottom players by 10%)—this is how our default costs are structured.
In terms of the risk on our site, risk is defined as a combination of how uncertain a player’s rankings/projections are and his likelihood of injury. I’d suggest playing around with different risk values to find the lineups that give you the best balance of high projected points and low risk. Ultimately, just like in the stock market, it’s up to you to decide how much risk you’re willing to take on, with potential for greater returns with greater risk, but also the possibility of much lower returns.
Hope that helps,
Isaac
Hi Isaac,
I realize the strategy of the app is to put as much money towards starters as possible, and then go for sleepers for bench players. With that said, during a live draft, what is the best way to accomplish this, without having to use the projection app for sleepers (since you cant really eliminate players on both apps all along)?
Hi Scott,
I would figure out how much cap you want to reserve for bench players (typically less = better). Then, before your draft, you can find the players with the highest ceiling within that cap. Come up with a list of sleepers to target at each position, including $1 players. Then, after you finish drafting your starters, you know who to target, and (approximately) how much cap you’ll have left.
Hope that helps,
Isaac
I am finding the optimizer to be lot’s of fun to play with. I think one easy thing you can add to improve would be to add players already selected to the optimal lineup, and show them in a different color to indicate they are already on the team. That way the points total shown includes players already on roster.
Good suggestion. Will put it on our to-do list.
Thanks Caleb,
Isaac
Hi Isaac,
2 Questions for you:
1. When was the data last updated?
2. Any plans to include the values of other players already drafted? The league I spend most of my time is a dynasty league that ends up having a lot of inflation due to signing good players really cheaply. I think the 10% addition to the best players values and the 10% reduction from the worst can make up for this, but your app is probably well set-up to do a better job at this.
Hi Steve,
1) Data were last updated very recently.
2) We have plans next year to allow you to upload your own custom costs via .csv. I’m interested in figuring out how to have the costs depend on who’s been drafted and for what cost, but haven’t figured out the best way to handle this. Thoughts?
Thanks,
Isaac
When do you plan to do data updates? shouldn’t they just scrape daily? maybe even hourly? 🙂
Hi DJ,
We update the data very regularly. A “Date Updated” infobox is on our to-do list.
Thanks,
Isaac
I was just thinking of requesting the same thing. The way I was doing it in on a spread sheet was;
1 summing up the total VOR points for every player expected to be drafted who is still undrafted (once a player was drafted, their VOR points were removed from the pool).
2 dividing that amount by total remaining dollars to spend left in the league draft.
This allowed me to assign an updating value for each point of VOR (my thought at the time being that that’s what your’re really trying to purchase is as many points over a replacement player as possible).
3 Once I had the dollar value for each VOR point I just multiplied that by each players projected VOR.
It seemed to work well for what I had and what I was doing at the time. I don’t know how it would function if other metrics like risk were used to value the players. Your app has so many awesome features, and I would love it if player values could be updated based on remaining dollars. The way I draft is greatly based on how much everyone else has left to spend.
Thanks for all your work on this site.
Does the optimizer take into consideration bye weeks?
Hi Sam,
My position is that it’s generally best to ignore bye weeks. It makes sense to draft the best possible team regardless of bye weeks because you don’t know how the bye weeks will help or hurt your chances. For instance, it might actually be beneficial for all of your starters to have the same bye week. Yes, you might lose that particular week, but you’ll be more likely to win all of the other games. In any case, including bye weeks is on our to-do list.
Thanks,
Isaac
When running the auction optimizer app on Google Chrome on a PC, I have been getting a pop-up box that says: “The page at apps.fantasyfootballanalytics.net says: An error has occurred: /ocpu/tmp/x04b16ea6ba/
It usually happens after I’ve drafted around 5 starters. Any idea what’s wrong?
Thanks!
Hi Brian,
Could you tell me exactly what steps you take to get that error?
Thanks,
Isaac
I start an ESPN mock auction draft on my iPad. I have the optimizer running at the same time on my PC. As players get drafted by me or others, I enter them. Once I have filled out my starting QB, 2 RBs and 2-3 WRs and only have a TE, D/ST & K left to draft (along with bench players), the error seems to occur. It once occurred after I drafted my TE. It once occurred when I still had a starting WR still to draft. But it seems like it happens at roughly the same time interval/point of my roster building. Any help would be greatly appreciated!
Thanks, Brian. I can try to replicate. It would help if you could let me know what data settings you changed (if any) and the order of players (and which specific players) you drafted.
Thanks,
Isaac
Isaac or other FF Gurus,
We had a few guys drop out of our league at the last minute. I’ve read the post regarding snake draft strategies, but does this approach change for an 8-team league? Or do we stay with the approach of drafting the starting lineup first followed by best players avail?
Thanks.
Hi Andrew,
Yes, I would still draft your offensive starters first before drafting bench players. You’ll just be able to get better bench players for a lower cost later on. But again, the key is to draft the safest starters with the most projected points.
-Isaac
What if my league doesnt do an auction draft how would i use the app to get a lineup that can score the most points? It seems like the optimizer needs the cash value and cap to suggest the best pick?
Hi Mobin,
You can use the Projections tool for Snake drafts:
http://apps.fantasyfootballanalytics.net/projections
Hope that helps,
Isaac
Thanks Isaac. After i adjust the settings to my draft im basically just clicking the players name on the projections tool list to remove them and taking the best available whens it my turn?
Also, is the “download” button broken? I just assumed it would export out to a csv file?
Hi Mobin,
Yes, you can remove players by clicking their name. The “Download” button works for me. Yes, it exports to .csv. You might try a different browser, or to disable your adblockers and pop-up blockers.
Hope that helps,
Isaac
I have been looking at this app for a week now and did not know that I can click the names to remove them from the list.
Isaac,
Great work on the app! Looking forward to using it in my upcoming draft.
I did have one question though. When I remove players from the list, should the dropoff value re-calculate? As of know the dropoff values remain constant when players are removed. If someone drafts a RB, I would think that the two RBs ranked higher than the one that was removed should update their dropoff value. Thanks!
Hi Eric,
It’s not a trivial change, but I’ll add it to our to-do list.
Thanks,
Isaac
Isaac,
FWIW, I was able to create a function in excel to do the update on the dropoff calculation. Maybe it will help you with the updates or at the very least it may help someone else using a spreadsheet for their upcoming draft….
The spreadsheet has the position in column B, team in column C, VOR in column D, and points in column E. This is an array formula, so when you enter it into a new column you have to press ctrl+shift+enter.
=E2-AVERAGE(INDEX(B3:E884,SMALL(IF(B3:B884=B2,ROW(B3:B884)),ROW($1:$1))-ROW(B2),4),INDEX(B3:E884,SMALL(IF(B3:B884=B2,ROW(B3:B884)),ROW($2:$2))-ROW(B2),4))
If a player is drafted, just delete their row from the spreadsheet and the numbers should automatically update.
Anyone else having issues with the app? It keeps giving an error when trying to generate the optimal lineup.
Hi Nick,
What’s the error you’re getting? We’ve been having heavy traffic, so it’s helpful for us to diagnose and fix if we know what you did to get the error and what error you’re getting.
Thanks,
Isaac
I saw the error last night as well. I did not screen grab it. It was complaining about being able to fork in some way. That is all I really remember about it.
Hi Shawn,
I believe this has to do with the heavy load we were experiencing. We’re working on upgrading our servers to keep up with the load.
Thanks,
Isaac
Isaac,
With my draft this weekend, I have just decided how important it is to only select projection sources that are very active with their updates. For this reason, I have always used NumberFire. They have always updated the projections very quickly (they have already updated for Fred Jackson).
Since you have been around the listed sources for quite some time, I am wondering if you know which will update the most quickly and which seem to take forever or only update periodically.
Thanks,
Shawn Yarnell
Hi Shawn,
WalterFootball and Fox tend to update less frequently. We have plans for a “Last Updated” for each source on our to-do list.
Thanks,
Isaac
Hi Isaac,
I seem to be having a problem with custom settings. My league drafts 21 players (13 starters, 8 bench players), with a league cap of $205. I tried entering all the settings with a reserve of $20 for the bench players; however the optimizer still seems to reserve the standard $10 for the bench, and only lists 17 players on the roster.
Please help!
Hi Scott,
Thanks for bringing this to our attention. We’re looking into it.
-Isaac
We weren’t able to reproduce the problem. How many starters do you have at each position?
I just tried again (though different computer with different browser) and it seemed to work fine.
[Previous trial was on mac with Safari; this time PC using Chrome.]
If you want to replicate the original situation we start:
QB 1 | RB 2 | WR/TE 4 | RB/WR 1 | DST 1 | K 1 | DL 1 | LB 1 | DB 1
I draft in a 10 team snake draft Monday evening Sept. 7th & my question is:
When are you going to update your player projections.
Love your app
THANKS
Isaac,
I am messing around with a free weekly contest from a popular restaurant. Is there a way to adjust the prices to reflect their odd pricing structure? For example, the top players at QB/RB/WR are all $17, while the K’s range from $8-10. Also, I have told the app that there are only 8 players and it puts 9 into the results.
Thanks!
Hi Paul,
What settings are you using for 8 starters? Custom costs are on our to-do list.
Thanks,
Isaac
Isaac,
I will list only the changed cells. League cap 100, Cap for bench 0, Total Players 8, WR/RB/TE 0, League Scoring PPR, ALL TD’s 6, Interceptions and Fumbles 0, Field Goal 40-49 3pts, Blocked Kick 0, Defensive Points Allowed 0=10, 1-6=7, 7-13=4, 14-20=1, >20=0
Also, I just tried the app again and it did give me a roster of 8 players.
Isaac,
FIrstly, I am seeing Steve Smith as showing up twice in the list.
Secondly:
NOTE: I used the following values for VOR numbers based on your reported ADP on ESPN for the first 120 drafted players (12 man league): QB – 15, RB – 43, WR – 43, TE – 11, K – 3, DST – 5. ESPN scoring 0 PPR.
On the subject of VOR. I learned a lot of this math several years ago when learning to rank fantasy baseball players. The method that I learned was using the value of the last starter. So in my 12 man league, that would be the 12th qb, te, K, and DST. RB and WR, however, have a relationship due to the flex position (no TE is worth a flex spot). This relationship was resolved by setting the replacement value for both positions (since both are included in the 12 flex players) to the value of the last flex player that would start.
I just downloaded the data and calculated the values in this manner, and one major difference is that it increased the value of WR pretty significantly. To isolate a case, it puts Vincent Jackson and Ameer Abdullah ranked 79 and 80, respectively. Comparing to the rankings provided (74 and 47), this seems to match up much better imo. They are both projected for 133 points.
My main point:
What could possibly make Vincent Jackson worth that much less than Ameer Abdullah at the same point value? Having 27 people in between 2 players projected to produce the same points at what is a flex level for both positions (28th best RB and 26 best WR) seems absolutely incorrect to me.
Tell me where I am wrong here, because I am kind of at a loss at the moment as to how the suggested method for VOR is better than this method.
One more thing: I understand that blindly following the rankings provided by the method I described will lead to extremely early drafting of K and DST. The draft plan for me is to follow the value rankings until I have my QB, RB, WR, TE and flex filled, as the goal is to maximize the point total of those starters. After that happens, it becomes more sleepers, handcuffs, with one K and DST in the last 2 rounds.
Thanks,
Shawn Yarnell
I will also note that this is in reference to the snake draft, not the auction. This is just the latest article on the site, so I decided to post it here.
Hi Shawn
I would probably have posted this on the snake draft app page, since that is the relevant article.
I think your method is just fine. The suggested approach on this site is using the baseline of a typical replacement player, and that is what you are doing. Using an ADP limit for VOR doesn’t account for the specific starting requirements in your league.
Let me also state that VOR is by no means a perfect metric for which players to take. It’s just one of the more useful ones that is reasonably simple to use. I’d personally advocate also considering things like dropoff and ADP when you draft. For example it could be that one position has a huge dropoff in points somewhere. Just looking at VOR wouldn’t tell you anything about when this dropoff occurs.
-Eirik
Erik,
I believe you are mistaken. From the Value over Replacement section of this site:
I decided to determine the typical replacement as the player whose position rank is equal to the number of players at that position who are taken (on average) by pick 100.
There is also an article referenced where it discusses using 120 for a 12 man league.
My question was not whether using the value of the worst starter to calculate VOR is good or bad. My question is:
My main point:
What could possibly make Vincent Jackson worth that much less than Ameer Abdullah at the same point value? Having 27 people in between 2 players projected to produce the same points at what is a flex level for both positions (28th best RB and 26 best WR) seems absolutely incorrect to me.
Also, I have done some thinking about this. Using the number of players from each position drafted in the first X number of picks has pros and cons. The MAJOR con that I feel caused the above situation is that we are taking ADP data into the value of a player directly.
IMO, it should not affect Ameer Abdullah’s value if everyone else is taking more RB in the drafts.
Thoughts?
Yes, but preceeding that quote, he writes:
“Common ways to determine who is the typical replacement at each position include: a) average starter, b) worst starter, c), the number of “man games” needed at each position over an entire season and d) the number of players drafted at each position up to a given point in the draft.”
Isaac never states that d) is always the best way of doing this, just that he went with d). It doesn’t mean you should, and in your case it seems like b) would be better.
What makes Vincent Jackson worth that much less than Abdullah in the app is that the typical replacement player at RB using the stated VOR baseline has a much lower projection (about 90) than the typical replacement player at WR (around 110). If you feel this does not represent your league, that’s not really surprising since ADP uses averages, which doesn’t take into account your league requirements. This means you should probably use something else. Again VOR is not an exact science, and there is a reason people seem unable to agree on a correct baseline.
I disagree that you should not factor ADP into the value of a player, and that e.g. Abdullahs value should be independent of how early people are drafting RBs. Yes, this doesn’t affect how many points he will score for you, but it affects how early you need to draft him. Your picks have value. Earlier picks have more value. You don’t want to overpay for someone, and ADP tells you their likely value.
If I’m picking, it affects the value of an RB how many RBs I expect other people to take. If there is a large drop-off to the RBs I expect to be available at my next pick, I risk loosing many points by waiting. If running backs that are nearly as good are probably available at the next pick, I’m probably better off picking a different position where the expected drop in points is larger. This also illustrates why I’m not a fan of blindly using VOR. None of these considerations has anything to do with VOR, and although I think it can be useful for some, I don’t use it at all myself.
-Eirik
Erik,
I cannot respond directly to your message below, as I think the site limits the thread depth.
So lets say we have our rankings and Abdullah is ranked 47th. Come round 5, he is there and you have first pick. At this point, you probably already have at least 1 RB and 1 WR as well 1 more of either of those positions along with a QB or TE. You might even have both RB and both WR slots filled. At this point, why would you select him instead of waiting 3 or 4 rounds and grabbing Vincent Jackson for your flex. He is NOT worth more at that flex position than Vincent Jackson.
The point of value based drafting is to not reach for players. There is no reason to get Andrew Luck 1st overall. In a similar manner, there is no reason to get Ameer Abdullah at pick 47 when you can simply get one of the MANY other players available much later.
On another note, maybe the discussion is what do we want this list to be. What it seems like it is to me is a ranking of players according to their value. The ADP of a player mathematically does not affect his value. HOWEVER, if we want a list that tells you when you should draft a player, then including ADP data may be required. Since this is a pure value based ranking of players, that is not the goal and ADP data should not be used to determine the rankings. That is why the ADP and ADPdiff columns exist: to help you made a decision on when to target a player.
I would say it is a mathematical fact that the Seahawks defense is likely to be worth more to your team than many of the players that you will draft before the Seahawks. This can be represented in a pure VOR ranking (using the worst starter). That doesnt mean that you take the Seahawks where that would rank them. Why? Because their ADP says you dont need to. Not because they are ranked/valued that low.
Also, to your point of runs/dropoff, if there is a run of RBs, then take the top WR/TE/QB. Have several tier 1 players at the other spots and let the others spend picks where the value is not mathematically there. Then, when everyone else has their RB, and you have an elite team elsewhere, get your RB. Having done this in my latest draft, I can tell you that having 3 top 8 WR simply because everyone else picked RB is perfectly fine. Just pick up Ivory, Blount, and Crowell when everyone else is done, and you will be in the best position to win your league.
Thoughts?
Hi I am a big time fan of the app. Will the app be adapted to project weekly and rest of the way projections and ranks?
Clearly the app helps draft the best team for a season but it would be awesome if it can be adapted to help set weekly line ups.
It would also be fun to adapt the auction draft app for fanduel/draftkings sites.
Thanks! Keep up the great work.
Is the system down!? Oh no!!! It worked great last night!
Unable to fork. R has not responded for 90 sec…
Hi RA,
These are peak hours and we’re experiencing a heavy load. We’re working on upgrading our servers.
Thanks,
Isaac
NM…appears to be working…awesome work!
Tragedy! Was working yesterday and now appears to be broken! I hope you can fix the bug.
I was thrilled to learn about your site. I am a physician scientist who does decision analysis and clinical epidemiology research. We use a lot of Bayesian approaches to integrate diverse datasets and priors and develop better informed posteriors. Sounds familiar, right? 🙂 It recently crossed my mind that the same approach could be applied to Fantasy drafts, but I do not have the time or energy to operationalize that concept and write the code. THIS IS BRILLIANT. I even love the R output.
Works for me, try clearing your cache.
-Isaac
It looks like the app is down. No data, no options to select in list boxes…
Any idea of when it’ll be back up and running? My draft is tonight 😡
Thanks in advance,
Sean
Works for me, try clearing your cache.
-Isaac
Any chance the apps will be available tonight?
Works for me, try clearing your cache.
-Isaac
i am having the same issues has everyone else. Cleared cache and still not working, especially the weekly line up app. Any suggestions?
Not working on Mac using Firefox, Safari, or Chrome. Works fine on Win7 using Firefox. Need it to work on Mac. Thanks.
I take it back. Here’s what I see….
On Mac:
Does not display any data in Firefox, Safari, or Chrome
Try to load scoring settings, get error (same as below)
On Win7:
Displays initial data load in Firefox
Try to load scoring settings, get error:
“An error has occurred:
“o fork, possible reason: Cannot allocate memory
In call:
mcfork(detached)
“, Production server: True”
Hey! I loved this last year, any plan of doing it for 2016? Thanks in advance!
https://fantasyfootballanalytics.net/2016/05/2016-fantasy-football-projections.html
I am unable to get data changes in the lineup optimizer to work? I change all the info, click load, and it defaults back to its original state.