FanDuel NBA Perfect Lineup Review
An important part of becoming a better DFS player is constantly refining your process.
If you’ve been around the RotoGrinders community very long you’ve heard our experts and analysts discuss “reverse engineering”. DFS players didn’t invent the idea of reverse engineering; it’s been around for centuries. The idea is simple. You take a product or idea and break it down to determine if you can get into the creator’s head and possibly replicate the product or idea.
For the purpose of this article, we’ll be reverse engineering the “perfect lineup” from each of the 105 NBA slates this season. What I’ve done is collected the salary and FanDuel points scored for every player on every slate. I then ran them through an optimizer to produce the perfect lineup. If you aren’t familiar with the term perfect lineup, what I mean is the highest scoring lineup you could have built if you knew the results ahead of time. I’ll be breaking down the data several different ways, but if you would like a copy of the source data it is available at this link.
The first thing I did when I collected the data is arrange it into a usable format. The positions in the lineup each day are labeled “PG1”, “PG2”, “SG1”, “SG2”, etc. The most expensive Point Guard (PG) in the lineup is labeled “PG1” and the second most expensive is “PG2”. I will caution against using the category labels too broadly. There are instances where Russell Westbrook and John Wall both made the perfect lineup so John Wall is a PG2 in that instance even though he costs nearly $10K. With that in mind, let’s take a look at the overall average spent at each position for 105 perfect lineups.
Position | Average Spent |
---|---|
PG1 | $8,687 |
PG2 | $5,971 |
SG1 | $7,404 |
SG2 | $4,885 |
SF1 | $7,799 |
SF2 | $5,226 |
PF1 | $7,647 |
PF2 | $5,062 |
C | $6,700 |
As I mentioned above, we can’t dig too deep into a broad average. There are some things we can learn about general lineup construction though. The biggest thing that jumps out at me is a $6,700 average spend at center. From time to time, a cheap option becomes available at center and you will see that option recommend for “cash games” (50/50s, head-to-head or small leagues). I don’t disagree with the logic at all. The perfect lineup used a cheap or “punt” center several times. In general though, we only get to select one center on FanDuel and if we are shooting for perfection, we need to get that position right. In the chart above, you’ll also notice SG2, SF2, and PF2 are the places the perfect lineup usually pays down. We’ll get into that more in a minute.
A Tiered Approach:
As I mentioned above, simply taking the average spend at each position can skew the data a bit. Options like James Harden and Russell Westbrook appear often in the perfect lineup and their high salaries skew the average at their respective positions. What I’ve done below is divide the selections into tiers at each position. I used the following tiers:
$9,000 – $13,000 — These are your superstars like Russell Westbrook, Stephen Curry, LeBron James and DeMarcus Cousins.
$7,000 – $8,900 — These are generally elite players just below superstar status such as Kyle Lowry, Kemba Walker, Kevin Love and Paul Millsap.
$5,500 – $6,900 — Generally this tier consists of players like Nicolas Batum, Dwyane Wade, Jarrett Jack and Ricky Rubio.
$3,500 – $5,400 — This tier is commonly referred to as “punt plays” or “Bargain Bin Ballers.” Usually players in this group are bench players stepping into a bigger role or starters with a low usage rate. Think T.J. McConnell, Ben McLemore or Danny Green.
Salary Range | PG1 | PG2 | SG1 | SG2 | SF1 | SF2 | PF1 | PF2 | C |
---|---|---|---|---|---|---|---|---|---|
9,000-13,000 | 48 | 5 | 23 | 0 | 34 | 1 | 23 | 0 | 12 |
7,000-8,900 | 37 | 23 | 39 | 4 | 33 | 11 | 44 | 16 | 44 |
5,500-6,900 | 13 | 36 | 22 | 29 | 24 | 26 | 28 | 19 | 17 |
3,500-5,400 | 7 | 41 | 21 | 72 | 14 | 67 | 10 | 70 | 32 |
The table above, and all tables in this article are sortable if you click on the column heading. I’ve set the default to sort by salary range. Examining the data in tiers gives us a much better idea of how to construct a perfect lineup. For example, out of 105 lineups, 48 paid for a PG1 over $9,000. At the same time, there are only five instances of 105 where the PG2 was also over $9,000. As much fun as it is to build a Westbrook/Curry lineup, it seldom works out. Scanning across the top row you’ll notice 23 times we paid for a SG1 (mostly James Harden) but we never paid $9,000+ for a SG2. The same goes for SF and PF. We only paid $9000+ for a SF2 once and we never did it for PF2. On the other hand, we “punted” SG2 a whopping 72 times and in 21 lineups our SG1 was also under $5,400. To put that another way, 21 times both our SGs were under $5,400. After SG, we paid down for both PGs seven times, both SFs 14 times, both PFs 10 (though our PF2 was a punt 70 times) and we paid down at C 32 times.
As you can see, the ideal way to build a perfect lineup on FanDuel is by paying up at PG and C while punting one or more of SG2, SF2, PF2. In general, the approach commonly called “stars and scrubs” works best. Of the 105 perfect lineups, none were what I consider a “balanced lineup”. Keep in mind, we are talking about building a perfect GPP lineup here. I wouldn’t necessarily copy this approach for cash games.
Which Opponents Should We Target?
Now that we have an idea what the perfect lineup usually looks like by position, let’s see if it makes sense to target certain teams. I will caution that we are talking about the perfect lineup here. Some instances included in the data are from three-game slates which should be approached differently than a nine-game slate. With that said, the data below generally aligns well with the teams we have been targeting all season long. Let’s take a look.
Opp. | PG1 | PG2 | Total | SG1 | SG2 | Total | SF1 | SF2 | Total | PF1 | PF2 | Total | C | Total |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ATL | 1 | 1 | 2 | 3 | 6 | 9 | 7 | 4 | 11 | 4 | 5 | 9 | 9 | 40 |
BKN | 2 | 3 | 5 | 1 | 4 | 5 | 3 | 3 | 6 | 1 | 7 | 8 | 3 | 27 |
BOS | 3 | 2 | 5 | 2 | 2 | 4 | 2 | 3 | 5 | 6 | 3 | 9 | 4 | 27 |
CHA | 3 | 0 | 3 | 4 | 3 | 7 | 3 | 2 | 5 | 0 | 2 | 2 | 4 | 21 |
CHI | 6 | 2 | 8 | 2 | 4 | 6 | 7 | 6 | 13 | 3 | 3 | 6 | 7 | 40 |
CLE | 6 | 4 | 10 | 3 | 0 | 3 | 2 | 5 | 7 | 2 | 3 | 5 | 0 | 25 |
DAL | 5 | 5 | 10 | 4 | 3 | 7 | 1 | 4 | 5 | 5 | 5 | 10 | 5 | 37 |
DEN | 6 | 5 | 11 | 5 | 3 | 8 | 2 | 0 | 2 | 4 | 2 | 6 | 7 | 34 |
DET | 3 | 4 | 7 | 4 | 4 | 8 | 4 | 3 | 7 | 4 | 2 | 6 | 5 | 33 |
GSW | 5 | 3 | 8 | 3 | 2 | 5 | 5 | 6 | 11 | 0 | 4 | 4 | 4 | 32 |
HOU | 5 | 5 | 10 | 3 | 7 | 10 | 3 | 8 | 11 | 7 | 3 | 10 | 2 | 43 |
IND | 2 | 5 | 7 | 3 | 2 | 5 | 2 | 1 | 3 | 6 | 2 | 8 | 7 | 30 |
LAC | 2 | 6 | 8 | 7 | 3 | 10 | 4 | 2 | 6 | 3 | 5 | 8 | 1 | 33 |
LAL | 6 | 7 | 13 | 3 | 8 | 11 | 1 | 4 | 5 | 4 | 6 | 10 | 3 | 42 |
MEM | 5 | 1 | 6 | 1 | 2 | 3 | 3 | 1 | 4 | 2 | 2 | 4 | 1 | 18 |
MIA | 2 | 4 | 6 | 3 | 6 | 9 | 7 | 6 | 13 | 6 | 0 | 6 | 1 | 35 |
MIL | 1 | 1 | 2 | 1 | 4 | 5 | 2 | 5 | 7 | 5 | 5 | 10 | 3 | 27 |
MIN | 4 | 5 | 9 | 2 | 3 | 5 | 1 | 4 | 5 | 3 | 5 | 8 | 5 | 32 |
NOR | 2 | 1 | 3 | 3 | 3 | 6 | 3 | 3 | 6 | 3 | 6 | 9 | 3 | 27 |
NYK | 8 | 2 | 10 | 5 | 1 | 6 | 2 | 4 | 6 | 4 | 3 | 7 | 4 | 33 |
OKC | 4 | 5 | 9 | 4 | 7 | 11 | 4 | 3 | 7 | 4 | 3 | 7 | 2 | 36 |
ORL | 4 | 2 | 6 | 3 | 0 | 3 | 4 | 1 | 5 | 4 | 1 | 5 | 3 | 22 |
PHI | 3 | 5 | 8 | 3 | 4 | 7 | 6 | 3 | 9 | 1 | 2 | 3 | 5 | 32 |
PHO | 3 | 3 | 6 | 6 | 4 | 10 | 3 | 6 | 9 | 5 | 1 | 6 | 0 | 31 |
POR | 4 | 5 | 9 | 5 | 4 | 9 | 7 | 2 | 9 | 2 | 5 | 7 | 4 | 38 |
SAC | 4 | 8 | 12 | 6 | 6 | 12 | 4 | 3 | 7 | 7 | 6 | 13 | 2 | 46 |
SAS | 1 | 2 | 3 | 2 | 2 | 4 | 1 | 0 | 1 | 4 | 3 | 7 | 3 | 18 |
TOR | 4 | 3 | 7 | 2 | 2 | 4 | 4 | 0 | 4 | 3 | 5 | 8 | 3 | 26 |
UTA | 1 | 3 | 4 | 3 | 0 | 3 | 3 | 2 | 5 | 3 | 3 | 6 | 3 | 21 |
WAS | 0 | 3 | 3 | 9 | 6 | 15 | 5 | 10 | 15 | 0 | 3 | 3 | 2 | 38 |
If you scroll to the far right of the above chart and click on “total” you’ll find the team most often victimized by the perfect lineup. As expected, the Sacramento Kings have been an opponent in the perfect lineup 46 times. Keep in mind that the Kings have only played 53 games so far. The perfect lineup does include several instances where two players from the same team are included. Even accounting for that, Sacramento is a team you want to target every time they play. If you click “total” again it will sort in reverse order. On the opposite end of the spectrum, it’s a pretty good idea to avoid San Antonio, Memphis, Utah and Charlotte. San Antonio and Memphis appear as an opponent the least amount of times at 18 each. In the case of the Spurs, that number would be lower but they played on several smaller slates and they also faced a Suns team that had eight healthy players allowing two to make the perfect lineup in the same night.
Overall, we know that we want to target Sacramento, Houston and the Los Angeles Lakers but we can also filter the chart above to determine which positions to attack. If you click on “C” in the chart you’ll notice we like to target centers (and PFs) against the Atlanta Hawks. That shouldn’t surprise you as the Hawks are tied for last in the league in rebounding differential. They allowed a C to be in the perfect lineup nine times and a PF nine times as well.
Feel free to click through the chart above to draw your own conclusions. I’ll point out a few other items of interest real quick. The Lakers and Kings allowed 13 and 12 perfect lineup point guards respectively. The Wizards are the worst against SG and SF at 15 each, but very solid against the other three positions. You can also click on columns such as SF1 where you’ll find the Hawks allowed seven perfect lineup instances against SF1 (usually players such as LeBron James or Carmelo Anthony). If you’d like to cross reference that data, refer back to the spreadsheet linked above and filter by opponent to see the specific player and date and output.
Which Individual Players Achieve Perfection?
Above, we discussed the average spend at each position and identified where the perfect lineup likes to pay up or down. We then looked at which teams we can target and which we should avoid. Last but not least, we’ll run through which players appear most often in the perfect lineup. This section will be a bit light on analysis. Mostly I’m providing this list to give you an idea what types of players to target. I will note that you don’t need to be incredibly contrarian in your approach to chasing a perfect lineup. There are some strange names on here like Rondae Hollis-Jefferson, Joseph Young, and Gerald Henderson but mostly the names on this list make sense if you consider the situation where they were included in the perfect lineup.
We’ll start things off at point guard where I’ll note that if you just played Russell Westbrook every single day you would be off to a great start. The Thunder have played 54 games and Westbrook made the perfect lineup 21 times. (Click on “Total” to sort)
Point Guards
As I mentioned earlier, shooting guard is where we try to find value on FanDuel.
James Harden makes the lineup 22 times but when he’s not in it, we see a lot of names like Zach LaVine, Kent Bazemore, Avery Bradley and Will Barton.
Shooting Guards
At small forward, we normally use the savings from SG2 and PF2 to pay up for a consistent option.
Kevin Durant leads the way but he’s followed closely by Carmelo Anthony, Paul George and Kawhi Leonard. We also see consistent mid-range options like Nicolas Batum and Danilo Galinarri make it quite often.
Small Forwards
Player | SF1 | SF2 | Total |
---|---|---|---|
Al-Farouq Aminu | 0 | 4 | 4 |
Alonzo Gee | 0 | 1 | 1 |
Andre Iguodala | 0 | 2 | 2 |
Andrew Wiggins | 2 | 3 | 5 |
Bojan Bogdanovic | 0 | 2 | 2 |
Carmelo Anthony | 11 | 1 | 12 |
Chandler Parsons | 2 | 3 | 5 |
CJ Miles | 0 | 2 | 2 |
Corey Brewer | 0 | 1 | 1 |
Danilo Gallinari | 3 | 4 | 7 |
Evan Turner | 2 | 4 | 6 |
Giannis Antetokounmpo | 2 | 0 | 2 |
Gordon Hayward | 6 | 0 | 6 |
Harrison Barnes | 1 | 1 | 2 |
Hollis Thompson | 0 | 1 | 1 |
Jae Crowder | 3 | 3 | 6 |
Jared Dudley | 0 | 1 | 1 |
Jeff Green | 1 | 7 | 8 |
Kawhi Leonard | 7 | 2 | 9 |
Kent Bazemore | 1 | 0 | 1 |
Kevin Durant | 15 | 0 | 15 |
Khris Middleton | 3 | 5 | 8 |
LeBron James | 12 | 1 | 13 |
Luol Deng | 1 | 4 | 5 |
Marcus Morris | 1 | 3 | 4 |
Matt Barnes | 2 | 5 | 7 |
Michael Kidd-Gilchrist | 0 | 1 | 1 |
Moe Harkless | 0 | 2 | 2 |
Nemanja Bjelica | 0 | 1 | 1 |
Nicolas Batum | 5 | 4 | 9 |
Nikola Mirotic | 2 | 3 | 5 |
Omri Casspi | 0 | 6 | 6 |
Otto Porter | 3 | 4 | 7 |
Paul George | 7 | 4 | 11 |
PJ Tucker | 0 | 1 | 1 |
Robert Covington | 3 | 1 | 4 |
Rondae Hollis-Jefferson | 1 | 1 | 2 |
Rudy Gay | 5 | 1 | 6 |
Shabazz Muhammad | 0 | 2 | 2 |
Stanley Johnson | 0 | 3 | 3 |
Thabo Sefolosha | 0 | 2 | 2 |
T.J. Warren | 1 | 3 | 4 |
Tobias Harris | 2 | 2 | 4 |
Trevor Ariza | 1 | 2 | 3 |
Wesley Johnson | 0 | 2 | 2 |
At power forward, “Mr. Consistent” Paul Millsap leads the way, but the biggest surprises were Kevin Love and Jared Sullinger each making it nine times. Kevin Love made it often during the early part of the season when he was priced near $7K and was putting up 40 FanDuel points almost nightly.
Jared Sullinger on the other hand is a good example how we should target matchups. The Celtics have a deep rotation and change things up based on opponent more than other teams do. Sullinger’s minutes fluctuate wildly but the teams he sees opportunity and production against are the teams that we target bigs (PFs and Cs) against. By paying attention to the matchup, you can get Sullinger at a nice discount relative to his role.
Power Forwards
Center is a bit of a mixed bag. I noted above that the perfect lineup usually spends $6700 . I used that information to make the case for why you shouldn’t punt.
I’ll clarify that stance a little. You only get to select one center which generally means you want to target points at this position. There are only six instances out of 105 where the perfect lineup center had less than 30 FanDuel points. Instead of looking at your center and asking, “will this player get 6x value?” (the multiplier commonly used for cash games) instead ask yourself if this player can get you 30 points.
Center
Player | C |
---|---|
Al Horford | 3 |
Al Jefferson | 2 |
Alex Len | 3 |
Alexis Ajinca | 1 |
Amir Johnson | 2 |
Andre Drummond | 8 |
Andrea Bargnani | 1 |
Andrew Bogut | 3 |
Bismack Biyombo | 1 |
Boban Marjanovic | 1 |
Brook Lopez | 5 |
DeAndre Jordan | 5 |
DeMarcus Cousins | 7 |
Dwight Howard | 5 |
Enes Kanter | 3 |
Gorgui Dieng | 4 |
Greg Monroe | 2 |
Hassan Whiteside | 7 |
Jahlil Okafor | 4 |
Jordan Hill | 1 |
Jusuf Nurkic | 1 |
Karl-Anthony Towns | 6 |
Kelly Olynyk | 2 |
Kosta Koufos | 1 |
Marc Gasol | 4 |
Marcin Gortat | 3 |
Mason Plumlee | 1 |
Nikola Jokic | 3 |
Nikola Vucevic | 4 |
Pau Gasol | 1 |
Robin Lopez | 3 |
Rudy Gobert | 1 |
Tim Duncan | 3 |
Tyler Zeller | 1 |
Tyson Chandler | 2 |
Willie Cauley-Stein | 1 |
Before we get out of here, I’d like to leave you with a couple takeaways.
First, thank you for reading. If you have any questions or comments feel free to drop them below and I’ll try to answer them.
Second, I’m not recommending you radically change your cash game theory based on this article. Well, at least not if it is working. The intent here is to determine what usually works and see if we can work that into our daily research routine. Third, I’ll try to provide updates to this article as we finish off the season. Keep in mind that things do change though. As the sites adjust player salaries, what used to work may not work anymore.
Last, I don’t recommend trying to adapt the data in this article to DraftKings. With a vastly different roster setup and pricing algorithm, the perfect lineup for FanDuel does not always translate to well to DraftKings. For example, it is unlikely that Russell Westbrook made the perfect lineup very often on DraftKings.
If time permits, I’ll try to provide this same data for DraftKings and we can cross-reference what works well on both sites. That would likely be things like targeting the Sacramento Kings and playing as many point guards and centers as you can.
Thanks for reading and best of luck chasing perfection in the second half of the NBA season.