You need to build lineups that take advantage of correlation to beat DFS in 2022. But 95% of the tools out there make this a pain.
What does it mean to take advantage of correlation?
It means combining positively correlated players into stacks (like batters from the same team in baseball) and avoiding combinations of negatively correlated players (like two studs on the same team in basketball).
Think of it this way: If your lineup is filled with players with no correlations, you’re rolling a die for each player and hoping they all come up with a big number. When you have correlated players you don’t need to roll as many dice because when one of them has a big game, the others are likely to as well
This idea isn’t groundbreaking, but there are two problems with actually applying this to your lineups.
First, it’s hard to get good correlation data. You can find average historical correlations, but no site publishes predictive correlations Why does this matter? Average historical correlations aren’t useful because they are averages. They lack the game-to-game nuance of what makes that particular game on that slate unique. We don’t care about average performance, we care about correlation when a player has a big score. This means you have to figure out the correlations yourself, which isn’t easy because correlations are not simple. Sure, a QB and RB have positive correlation, but that relationship varies based on styles of play, what other options the QB has on the team, how skilled of a pass-catcher the RB is, etc. Another example: a running threat QB uses his pass catchers than a pocket passer
Second, traditional optimizers don’t understand correlation. You still need to program rules and groups to force them to give you correlated lineups. Either you use simple heuristics and lose out on important details, or you spend hours creating custom rules for every situation. To be honest, both options suck.
That’s why we take a different approach at SaberSim, and we call it "upside correlation".
We start with play-by-play game simulations to generate the full range of outcomes of each game on the slate. For example: On an NFL slate, we’ll simulate every game, keeping track of what makes that game unique:
What do the starting lineups look like?
What injuries are these teams dealing with?
How do these teams match up against each other?
What is the weather?
Once we have the sims, we calculate “upside correlation” between players. Upside correlation essentially measured how much more likely a player is to score above their expectation when another player in the game has a ceiling score. When JaMarr Chase scores 25+ DraftKings points, how much more should that make you want to play Joe Burrow? And we answer this question for every combination of players playing in that game, in every game on the slate.
And if you’re saying right now: “Look, I get it, I’m a sharp DFS player, and I know how to stack my QB and WR in the NFL.” How do you handle teams with different play-calling tendencies? What about surprise injury news that breaks at the last second? But how do you adjust for different size slates? How do you weigh correlation amongst all the other factors of DFS? And how much time does it take you to try to account for this? Handling the complexity of correlations is where most players make big mistakes.
Sabersim quantifies these correlations between players in our simulations immediately, as quickly as we simulate games. These are not historical average correlations. These are predictive outputs from our sims, so the data is specific and useful for that exact game on the slate. And by focusing on upside, we target outcomes that are actually needed to take down a GPP. And this all gets updated every time we run new sims to account for the latest news, like injuries, new starting lineups, etc.
How do we use this data to build better lineups?
We built an optimizer that weighs this data based on the sport you’re playing, the slate size, and the contest you’re building lineups for Not only do you get strong predictive correlation data, but you get a tool that knows how to build lineups using it.
Let me show you what this looks like in practice. I’m going to build 20 MLB lineups on our default settings and show you what kinds of lineups we get. While this is building, I want to contrast this to what a traditional optimizer would do. A traditional tool doesn't know what the correlations between players are. All it wants to do is maximize the average projected points. You have to set all the stacking rules to take advantage of correlation, and you are responsible for figuring out the nuances of each game.
Without setting a single rule or even looking at the slate, we get lineups with great stacks right out of the box. Is it perfect? No, but like I mentioned before, if we want to fine-tune, we can do so. Can you see how powerful this is?