How it WorksThe optimizer tool finds the starting lineup that maximizes your team's projected points, while staying within your risk tolerance. By placing the optimization function in a loop, we can calculate the optimal starting lineup for each player at each cost. For example, to find Tom Brady's bid up to value, we can start his cost at $1 and run the optimization function. At this price, Tom Brady is on the best starting lineup, so we increase his cost by $1 while keeping all other players at their expected cost. At $2, Tom Brady is still on the best starting lineup, so we increase his cost again by $1. We repeat this until Tom Brady's cost is too high for him to be on the best starting lineup. As of this writing and given my league settings, Tom Brady's bid up to value is $16. That means that Tom Brady is a good value up to $16—if he's above that price, I should draft someone else because he is no longer on the optimal starting lineup at this cost. After calculating Tom Brady's bid up to value, we reset his cost to his expected cost and then we calculate the bid up to value for the next player. We repeat this for all players to calculate each player's bid up to value.
The R ScriptThe R Script for looping the optimizer to find each player's bid up to value is located here:
Here is the syntax for looping the optimizer to calculate each player's bid up to value:
I demonstrated how to calculate a bid up to value for each player. Calculating a bid up to value for each player is a great way to calculate a player's value in an auction draft because it helps you determine the highest bid you should make for each player. If a player goes for more than his bid up to value, you should draft someone else.