# The Correlation Matrix that Answers Every Question You’ve Ever Had About DFS Stacking

Got a little overdramatic with the title of this article but I wanted to really go for it. Truth be told, you might still have questions after reading this post. In fact, you might have more questions… anyhoo…

One of the things that’s common to hear in DFS related discussion is that when constructing GPP lineups you actually want your players to be correlated so that if your QB goes off, you can also take advantage of the QB’s receivers having good games as well. Then you’ll also hear people say that they might stack a defense and a kicker, or a kicker and a RB. I’m always interested to hear various theories about ways to build a lineup, but I also like to test things. So I decided to create a correlation matrix for each position to see how correlated the positions are to each other. This is the heatmap that I produced using this information. Try not to give yourself a seizure when you look at it.

The first thing you need to know when looking at the matrix is that “x” and “y” signify teams. So x.RB1 is one team’s top RB, and y.RB1 is the opposing team in that game’s top RB. You can see that team x’s kicker has a very negative correlation with team y’s DST. WR1, WR2 and so on are determined by their finish in fantasy points for their team based on the full season.

Some takeaways:

- QBs enjoy the highest correlation with their WR2. That makes sense I suppose, or at least I can shoehorn a narrative into that data point. The correlation is only barely higher than a QB has with WR1, but it is higher. When a QB does really well, or poorly, the WR2’s production is the one that is affected the most.
- RB1 enjoys slightly negative correlations with all of the WR and TEs from the same team. It’s only slightly negative, but this is why people don’t usually stack RB with WR.
- K is just as correlated with QB as WR1 is. I’ve heard people say that you want at most two to three players from the same team to win a GPP, so I don’t know if K is included there, but it does look like K is decently correlated with QB at least.
- If you’re trying to take down a GPP you probably don’t want your K to be facing your DST (y.DST vs x.K). The two are negatively correlated. When your DST has a good game it’s likely your K will suffer. That’s probably common sense and a correlation matrix might not be needed to make that point.
- You can see that x.RB1 has a negative correlation with y.RB1. There might only be room in most matchups for one RB to go off. That also makes sense. While one RB is on the field grinding clock and trying to put the game away, the other is on the sidelines and even when his team gets back on the field they’re likely to be throwing.
- You can see that while a QB1 has a mildly negative correlation with the opposing team’s WR1, it has a positive correlation with the opposing team’s WR2. The correlations are still small but I found the direction of that correlation interesting.
- Of the same position pairs (like x.QB1 and y.QB1) only WR3 has a positive correlation with the other team’s WR3. So if one passing game gets going enough to get the 3rd WR involved, the odds are slightly greater that the other team’s WR3 will also get going.

Here’s a table version of the matrix that’s sorted by absolute correlation. Because this is based on position pairs, the table is full of duplicate entries, which I apologize for.

Var1 | Var2 | Correlation |

y.K | x.DST | -0.5 |

y.DST | x.K | -0.5 |

x.K | y.DST | -0.5 |

x.DST | y.K | -0.5 |

y.QB1 | x.DST | -0.46 |

y.DST | x.QB1 | -0.46 |

x.QB1 | y.DST | -0.46 |

x.DST | y.QB1 | -0.46 |

y.K | x.K | -0.41 |

x.K | y.K | -0.41 |

x.WR2 | x.QB1 | 0.39 |

x.QB1 | x.WR2 | 0.39 |

y.WR2 | y.QB1 | 0.39 |

y.QB1 | y.WR2 | 0.39 |

x.K | x.DST | 0.35 |

x.DST | x.K | 0.35 |

x.QB1 | x.K | 0.35 |

x.K | x.QB1 | 0.35 |

x.WR3 | x.QB1 | 0.35 |

x.QB1 | x.WR3 | 0.35 |

y.K | y.DST | 0.35 |

y.DST | y.K | 0.35 |

y.QB1 | y.K | 0.35 |

y.K | y.QB1 | 0.35 |

y.WR3 | y.QB1 | 0.35 |

y.QB1 | y.WR3 | 0.35 |

x.WR1 | x.QB1 | 0.34 |

x.QB1 | x.WR1 | 0.34 |

y.WR1 | y.QB1 | 0.34 |

y.QB1 | y.WR1 | 0.34 |

y.DST | x.DST | -0.33 |

x.DST | y.DST | -0.33 |

y.RB1 | x.RB1 | -0.31 |

x.RB1 | y.RB1 | -0.31 |

y.RB2 | x.DST | -0.23 |

y.DST | x.RB2 | -0.23 |

x.RB2 | y.DST | -0.23 |

x.DST | y.RB2 | -0.23 |

x.RB2 | x.K | 0.21 |

x.RB2 | x.QB1 | 0.21 |

x.K | x.RB2 | 0.21 |

x.QB1 | x.RB2 | 0.21 |

y.RB2 | y.K | 0.21 |

y.RB2 | y.QB1 | 0.21 |

y.K | y.RB2 | 0.21 |

y.QB1 | y.RB2 | 0.21 |

y.WR1 | x.DST | -0.19 |

x.RB1 | x.K | 0.19 |

x.K | x.RB1 | 0.19 |

y.DST | x.WR1 | -0.19 |

x.WR1 | y.DST | -0.19 |

y.RB1 | y.K | 0.19 |

y.K | y.RB1 | 0.19 |

x.DST | y.WR1 | -0.19 |

y.WR3 | x.DST | -0.18 |

x.WR1 | x.K | 0.18 |

x.K | x.WR1 | 0.18 |

y.DST | x.WR3 | -0.18 |

x.WR3 | y.DST | -0.18 |

y.WR1 | y.K | 0.18 |

y.K | y.WR1 | 0.18 |

x.DST | y.WR3 | -0.18 |

y.WR2 | x.DST | -0.16 |

y.RB1 | x.K | -0.16 |

x.TE1 | x.QB1 | 0.16 |

y.K | x.RB1 | -0.16 |

x.QB1 | x.TE1 | 0.16 |

y.DST | x.WR2 | -0.16 |

x.WR2 | y.DST | -0.16 |

x.RB1 | y.K | -0.16 |

y.TE1 | y.QB1 | 0.16 |

x.K | y.RB1 | -0.16 |

y.QB1 | y.TE1 | 0.16 |

x.DST | y.WR2 | -0.16 |

y.QB1 | x.K | -0.15 |

y.K | x.QB1 | -0.15 |

x.QB1 | y.K | -0.15 |

x.K | y.QB1 | -0.15 |

x.WR3 | x.RB1 | -0.14 |

x.RB1 | x.WR3 | -0.14 |

y.WR3 | y.RB1 | -0.14 |

y.RB1 | y.WR3 | -0.14 |

x.WR2 | x.WR1 | 0.13 |

x.WR1 | x.WR2 | 0.13 |

y.WR2 | y.WR1 | 0.13 |

y.WR1 | y.WR2 | 0.13 |

y.TE1 | x.QB1 | -0.12 |

x.TE1 | x.RB1 | -0.12 |

x.RB1 | x.TE1 | -0.12 |

x.WR2 | x.TE1 | -0.12 |

x.WR3 | x.TE1 | -0.12 |

y.QB1 | x.TE1 | -0.12 |

x.TE1 | x.WR2 | -0.12 |

x.TE1 | x.WR3 | -0.12 |

y.WR3 | x.WR3 | 0.12 |

x.TE1 | y.QB1 | -0.12 |

y.TE1 | y.RB1 | -0.12 |

x.QB1 | y.TE1 | -0.12 |

y.RB1 | y.TE1 | -0.12 |

y.WR2 | y.TE1 | -0.12 |

y.WR3 | y.TE1 | -0.12 |

y.TE1 | y.WR2 | -0.12 |

x.WR3 | y.WR3 | 0.12 |

y.TE1 | y.WR3 | -0.12 |

y.WR1 | x.QB1 | -0.11 |

y.WR2 | x.TE1 | 0.11 |

y.QB1 | x.WR1 | -0.11 |

y.TE1 | x.WR2 | 0.11 |

x.WR1 | y.QB1 | -0.11 |

x.WR2 | y.TE1 | 0.11 |

x.QB1 | y.WR1 | -0.11 |

x.TE1 | y.WR2 | 0.11 |

y.RB1 | x.DST | -0.1 |

x.WR3 | x.K | 0.1 |

y.WR3 | x.QB1 | 0.1 |

y.DST | x.RB1 | -0.1 |

y.TE1 | x.TE1 | -0.1 |

x.K | x.WR3 | 0.1 |

y.QB1 | x.WR3 | 0.1 |

x.RB1 | y.DST | -0.1 |

y.WR3 | y.K | 0.1 |

x.WR3 | y.QB1 | 0.1 |

x.DST | y.RB1 | -0.1 |

x.TE1 | y.TE1 | -0.1 |

x.QB1 | y.WR3 | 0.1 |

y.K | y.WR3 | 0.1 |

x.QB1 | x.DST | 0.09 |

x.RB2 | x.DST | 0.09 |

x.WR1 | x.DST | 0.09 |

x.DST | x.QB1 | 0.09 |

x.RB1 | x.QB1 | 0.09 |

y.WR2 | x.QB1 | 0.09 |

x.QB1 | x.RB1 | 0.09 |

x.DST | x.RB2 | 0.09 |

y.WR1 | x.TE1 | -0.09 |

x.DST | x.WR1 | 0.09 |

y.TE1 | x.WR1 | -0.09 |

y.QB1 | x.WR2 | 0.09 |

y.WR3 | x.WR2 | 0.09 |

y.WR2 | x.WR3 | 0.09 |

y.QB1 | y.DST | 0.09 |

y.RB2 | y.DST | 0.09 |

y.WR1 | y.DST | 0.09 |

x.WR2 | y.QB1 | 0.09 |

y.DST | y.QB1 | 0.09 |

y.RB1 | y.QB1 | 0.09 |

y.QB1 | y.RB1 | 0.09 |

y.DST | y.RB2 | 0.09 |

x.WR1 | y.TE1 | -0.09 |

x.TE1 | y.WR1 | -0.09 |

y.DST | y.WR1 | 0.09 |

x.QB1 | y.WR2 | 0.09 |

x.WR3 | y.WR2 | 0.09 |

x.WR2 | y.WR3 | 0.09 |

x.TE1 | x.DST | 0.08 |

y.RB2 | x.K | -0.08 |

y.WR2 | x.K | -0.08 |

x.TE1 | x.RB2 | -0.08 |

x.WR1 | x.RB2 | 0.08 |

x.WR2 | x.RB2 | -0.08 |

x.WR3 | x.RB2 | 0.08 |

y.K | x.RB2 | -0.08 |

y.WR2 | x.RB2 | -0.08 |

x.DST | x.TE1 | 0.08 |

x.RB2 | x.TE1 | -0.08 |

x.WR1 | x.TE1 | -0.08 |

y.WR3 | x.TE1 | -0.08 |

x.RB2 | x.WR1 | 0.08 |

x.TE1 | x.WR1 | -0.08 |

y.WR2 | x.WR1 | -0.08 |

x.RB2 | x.WR2 | -0.08 |

y.K | x.WR2 | -0.08 |

y.RB2 | x.WR2 | -0.08 |

y.WR1 | x.WR2 | -0.08 |

x.RB2 | x.WR3 | 0.08 |

y.TE1 | x.WR3 | -0.08 |

y.TE1 | y.DST | 0.08 |

x.RB2 | y.K | -0.08 |

x.WR2 | y.K | -0.08 |

x.K | y.RB2 | -0.08 |

x.WR2 | y.RB2 | -0.08 |

y.TE1 | y.RB2 | -0.08 |

y.WR1 | y.RB2 | 0.08 |

y.WR2 | y.RB2 | -0.08 |

y.WR3 | y.RB2 | 0.08 |

x.WR3 | y.TE1 | -0.08 |

y.DST | y.TE1 | 0.08 |

y.RB2 | y.TE1 | -0.08 |

y.WR1 | y.TE1 | -0.08 |

x.WR2 | y.WR1 | -0.08 |

y.RB2 | y.WR1 | 0.08 |

y.TE1 | y.WR1 | -0.08 |

x.K | y.WR2 | -0.08 |

x.RB2 | y.WR2 | -0.08 |

x.WR1 | y.WR2 | -0.08 |

y.RB2 | y.WR2 | -0.08 |

x.TE1 | y.WR3 | -0.08 |

y.RB2 | y.WR3 | 0.08 |

x.WR1 | x.RB1 | -0.07 |

x.RB1 | x.WR1 | -0.07 |

y.WR1 | y.RB1 | -0.07 |

y.RB1 | y.WR1 | -0.07 |

y.TE1 | x.DST | -0.06 |

x.WR2 | x.K | 0.06 |

y.TE1 | x.RB1 | 0.06 |

y.DST | x.TE1 | -0.06 |

y.RB1 | x.TE1 | 0.06 |

x.K | x.WR2 | 0.06 |

y.WR2 | x.WR2 | -0.06 |

x.TE1 | y.DST | -0.06 |

y.WR2 | y.K | 0.06 |

x.TE1 | y.RB1 | 0.06 |

x.DST | y.TE1 | -0.06 |

x.RB1 | y.TE1 | 0.06 |

x.WR2 | y.WR2 | -0.06 |

y.K | y.WR2 | 0.06 |

y.RB2 | x.QB1 | -0.05 |

x.WR2 | x.RB1 | -0.05 |

y.WR3 | x.RB1 | 0.05 |

y.QB1 | x.RB2 | -0.05 |

y.WR1 | x.RB2 | -0.05 |

y.RB2 | x.WR1 | -0.05 |

x.RB1 | x.WR2 | -0.05 |

y.RB1 | x.WR3 | 0.05 |

x.RB2 | y.QB1 | -0.05 |

x.WR3 | y.RB1 | 0.05 |

y.WR2 | y.RB1 | -0.05 |

x.QB1 | y.RB2 | -0.05 |

x.WR1 | y.RB2 | -0.05 |

x.RB2 | y.WR1 | -0.05 |

y.RB1 | y.WR2 | -0.05 |

x.RB1 | y.WR3 | 0.05 |

x.WR2 | x.DST | -0.04 |

y.RB2 | x.RB1 | 0.04 |

y.RB1 | x.RB2 | 0.04 |

y.WR3 | x.RB2 | 0.04 |

x.DST | x.WR2 | -0.04 |

y.RB2 | x.WR3 | 0.04 |

y.WR2 | y.DST | -0.04 |

x.RB2 | y.RB1 | 0.04 |

x.RB1 | y.RB2 | 0.04 |

x.WR3 | y.RB2 | 0.04 |

y.DST | y.WR2 | -0.04 |

x.RB2 | y.WR3 | 0.04 |

y.WR2 | x.RB1 | 0.03 |

y.RB2 | x.RB2 | 0.03 |

y.TE1 | x.RB2 | -0.03 |

y.RB2 | x.TE1 | -0.03 |

y.WR1 | x.WR1 | -0.03 |

y.RB1 | x.WR2 | 0.03 |

x.WR2 | y.RB1 | 0.03 |

x.RB2 | y.RB2 | 0.03 |

x.TE1 | y.RB2 | -0.03 |

x.RB2 | y.TE1 | -0.03 |

x.WR1 | y.WR1 | -0.03 |

x.RB1 | y.WR2 | 0.03 |

x.RB1 | x.DST | 0.02 |

x.TE1 | x.K | 0.02 |

y.WR3 | x.K | 0.02 |

x.DST | x.RB1 | 0.02 |

x.RB2 | x.RB1 | -0.02 |

x.RB1 | x.RB2 | -0.02 |

x.K | x.TE1 | 0.02 |

x.WR3 | x.WR1 | -0.02 |

x.WR1 | x.WR3 | -0.02 |

y.K | x.WR3 | 0.02 |

y.RB1 | y.DST | 0.02 |

x.WR3 | y.K | 0.02 |

y.TE1 | y.K | 0.02 |

y.DST | y.RB1 | 0.02 |

y.RB2 | y.RB1 | -0.02 |

y.RB1 | y.RB2 | -0.02 |

y.K | y.TE1 | 0.02 |

y.WR3 | y.WR1 | -0.02 |

x.K | y.WR3 | 0.02 |

y.WR1 | y.WR3 | -0.02 |

y.TE1 | x.K | -0.01 |

y.WR1 | x.K | -0.01 |

y.K | x.TE1 | -0.01 |

y.K | x.WR1 | -0.01 |

y.WR3 | x.WR1 | -0.01 |

x.WR3 | x.WR2 | -0.01 |

x.WR2 | x.WR3 | -0.01 |

y.WR1 | x.WR3 | -0.01 |

x.TE1 | y.K | -0.01 |

x.WR1 | y.K | -0.01 |

x.K | y.TE1 | -0.01 |

x.K | y.WR1 | -0.01 |

x.WR3 | y.WR1 | -0.01 |

y.WR3 | y.WR2 | -0.01 |

x.WR1 | y.WR3 | -0.01 |

y.WR2 | y.WR3 | -0.01 |

x.WR3 | x.DST | 0 |

y.QB1 | x.QB1 | 0 |

y.RB1 | x.QB1 | 0 |

y.QB1 | x.RB1 | 0 |

y.WR1 | x.RB1 | 0 |

y.RB1 | x.WR1 | 0 |

x.DST | x.WR3 | 0 |

y.WR3 | y.DST | 0 |

x.QB1 | y.QB1 | 0 |

x.RB1 | y.QB1 | 0 |

x.QB1 | y.RB1 | 0 |

x.WR1 | y.RB1 | 0 |

x.RB1 | y.WR1 | 0 |

y.DST | y.WR3 | 0 |

## No Comment