Before we get into the elements of DFSX for Windows it is of the greatest importance to understand the StatShark workflow as shown below and how the StatShark application manages this workflow to provide the best possible lineups.
These steps are the same steps used in the Full Auto, Semi Auto and Expert modes. Understanding what is documented within this introduction is also what will allow you to customize the Full Auto process to perform these steps in accordance with your personal lineup generation preferences.
Filter Players (optional):
Step one of the lineup generation process is to filter the universe of available players based upon metrics that are of importance to you. Such metrics may include DFS points per salary, player rank, projected ownership, project floor or ceiling of expected performance, etcetera.
Filters can be applied to the entire universe of players (all positions) or to each position individually. Additionally, a filter applied to all positions may be overwritten at the position level by simply adding the same filter for the position and setting that parameters as you wish.
Please note: Adding a large number of filters, and/or adding very stringent filter can result in no players meeting all of your preferred metrics, and thus, showing a blank player list. If this happens, simply readjust or deleted certain filters or “reset” the filters and start again.
Cull Players (optional):
Step two is to cull the remaining universe of players based upon additional performance metrics at different salary levels. As such, you’ll choose a performance metric, such as points per salary or overperformance ratio, etcetera. You will then choose the number of players you wish to be selected in each position, at a specified salary level, who are the top performers based upon the chosen metric.
So, for example, for purposes of culling down to a universe to be optimize, you may choose to have the four top performing QBs (based upon your chosen metric) at a salary level of $8,000 to $8,500, the three top QBs as a salary level of $6,000 to $7,999, three QBs from $5,000 to $5,999 and four QBs costing between $4,500 and $4,999.
This process allows you to create a series of different strategies for culling unwanted players, leaving the rest to be optimized. Just to mention a few potential culling strategies, you could look at accomplishing the following.
- Favoring top players, who are typically more expensive, and offsetting a with number of inexpensive players to ensure you can meet salary requirements.
- Creating balanced lineups where you have roughly the same number of players at each price point.
- Favoring one or two positions with top (expensive) performers and then choosing less expensive players for other positions.
- Many various combinations may be experimented with.
Within the culling process, you will also select the total number of players you wish to select in total as well as the average salary you which to have across the universe.
Please note: With regards to your selection of total number of players to choose, based upon the other parameters you have selected the auto culling process may not be able to meet your exact requirements (i.e.; there may not be four QBs that cost less than $4,000). In this case, StatShark will increase the count of players at other salary levels in an attempt to meet your total number of players requested.
Also, with regards to your choice of “average salary”, an average salary greater than the total lineup limit ($60,000 at FanDuel) is absolutely fine, and perhaps, preferable. The reason you can have a universe of players in which the average salary across all players is greater than the max salary limits is that your total universe will have lesser expensive players to place in the lineups (during the optimization process) to ensure each lineup meets the salary requirements.
Optimize Lineups (required):
The lineup optimization process also uses preferred performance metrics, such as projected DFS points or historical overperformance, to build your lineups. However, unlike player filtering and culling, this process is done at the lineup level. In other words, calculating the total or average of the chosen metric across all players within each produced lineup.
As can be seen in the Lineup Settings window, you may also choose the number of lineups you would like to have produced.
People often ask, “why would I want to generate 20,000 or 50,000 lineups”? The answer is rather straight forward. Let’s say you wanted to enter 10 lineups and thus only generated 10 lineups. The chances of the first 10 lineups being good are slim compared to generating 20,000 lineups and then selecting the 10 having the highest probability of winning (via lineup filtering and sorting).
Please note: If there are one or more players (up to four players) that you would like to have in every lineup generated, you can click and drag them to the “Stack” area on the optimization form. Those players will appear in every lineup you generate.
Filtering and Sorting Lineups (optional):
Once the optimization process has finished building your lineups you then have an opportunity to use the lineup filters to remove lineups that do not meet your preferred requirements. Unlike player filters, the lineup filters look at the average or total metrics of all nine players within the lineup. So, for example, when you are looking at points per salary as a filter, you are measuring the average points per salary of the entire lineup.
Please note: As discussed under player filters, the same is true with lineup filters… Adding a large number of filters, and/or adding very stringent filter can result in no lineups meeting all of your preferred metrics, and thus, eliminating 100% of lineups. If this happens, simply readjust or deleted certain filters or “reset” back to no filters and start again.
Sorting Lineups:
Once you have completed the filtering of your lineups you may also sort the lineups on any number of columns simply by clicking the column name. Sorts are additive in nature, meaning that you can sort by one column and then by a second column. Once that has been done, the lineups will be sorted primarily by the last column you clicked, and, when there are ties within that column, all those lineups that have an equal value will be sorted by the prior column you clicked.
The importance of sorting your lineups is to ensure you have “bubbled” the best lineups to the top of the list. The reason you want to accomplish this is that when you upload your lineups to the clearinghouse, they will be uploaded in the order you have established in your list of lineups, starting at the top position and working its way down the list.
Please note: If after filtering and sorting there are individual lineups that you wish to remove, simply highlight the lineups you do not like and click the garbage can on the upper left portion of the window.