SaberSim's grouping rules allow you to create combinations of players and then specify logical rules that the builder has to follow when building your lineups. There's a ton of power and control that you can have here. So, let's go ahead and just dive into this with some examples. You can find your grouping rules under the lineup rules tab here on the right side of the projections tab. Go ahead and click add new rule. From there we just want to specify that we're adding a group rule and then you're going to have a couple different options here. The first selection method here is manual, which is exactly as it sounds, you can manually select different players to add to the rule and then specify the logic you want to use. A very classic example here for this upcoming Steelers and Browns Thursday Night Football game might be to add Nick Chubb and Kareem Hunt as both captains and flex players in here and specify that you want to use no more than one player from this group.

In this case, we'll build your lineups for this showdown, but we'll make sure that there's never Kareem Hunt or Nick Chubb, both appearing in the lineup together. Now, going one step further, manual rules can also be conditional, which means the rule only activates if a particular player is used in the lineup. Let's do an example of what that might look like. We might say, for example, that we want to use Diontae Johnson at captain only if Mitch Trubisky is also used in the lineup. We can add him to the rule here and specify that this rule should only work if at least Diontae Johnson at captain is used, then we're going to use exactly one player at flex, which in this case would be Mitch Trubisky. Again, the rule logic states, if Diontae Johnson, and this could actually be exactly, if Diontae Johnson is used at captain, then use Mitch Trubisky at flex.

Now, we have another selection method that you can use for building your groups. This one is called automatic. The best way to think about automatic rules is that it will allow you to make a bunch of different manual rules that all follow the same logic all at once. Going back to the example we had before, let's say instead of not just wanting Kareem Hunt and Nick Chubb together in the same lineup for the showdown, we don't want to play any two running backs from the same team across the entire main slate. Now, going through and programming manual rules for every single team on the slate would be doable, but it would be pretty tedious. It would take a long time and you might make a mistake. You can use an automatic rule instead to do that all at once.

In this case, what we're going to say is, "Use no more than one primary player." We're going to be grouping them by the team, because we don't want to use two running backs from the same team. And we're going to specify that it's specifically running backs we're looking at. Again, our rule states, "Use no more than one primary running back from any given team." When it comes to saving these rules, you have two options. You can save this as an auto rule or save as 26 manual rules.

The difference here is saving as 26 manual rules will go through, look at the entire slate, figure out what rules this applies to and create those rules all at once. Saving as an auto rule will save this rule in the system, but the calculation of what manual rules actually fit that particular rule don't get made until you actually run your build. In other words, manual rules here are going to be static. Once you make them, they are what they are. Auto rules are dynamic. They will change with the slate. If, for example, we got news at the last second that a team's running back was scratched and they signed a new running back off the practice squad, an auto rule would automatically adjust to reincorporate that new information when you build your lineups, a manual rule would not.

How I recommend using these is, I would build your rules as manual rules first. The reason why is that's going to allow you to go in and actually check the logic of the rules and make sure they got built in the way that you expected. We can go in here and actually look at these individual rules and make sure they match up to what we wanted. In this case, for Minnesota, we can see that the rule is actually saying, "Use no more than one primary player from Dalvin Cook, Alexander Mattison and C.J. Ham," which is exactly what we expected. From here, we can now go ahead and go back and resave it as an auto rule instead, which will make this a dynamic rule that will adjust as the slates changes.

Now, let's take this one step further and start talking about stat requirements. Stat requirements create another conditional in the rule requiring that a player's stat reaches a certain threshold for the rule to take effect. Now, for baseball, one example of this is I might say something like, "If a player doesn't score at least 0.1 home runs per game on average in our sims, I only want to use that player when he's in a stack." Let's talk about how we would go about doing that.

We'll create another group here and we'll create an automatic group. In this case, we're going to say, "If at least one primary player is used," in this case, we're only looking at batters, so we're going to say, "Group by individual players," and our positions are going to be all of the hitting positions. But I'm going to add a stat requirement for this rule to be followed. In this case, I'm going to say, "Home runs and less than 0.1," which is kind of just an arbitrary number I've picked for this example here.

Then I want to make sure I'm using exactly five players on the same team. I want to create a five stack. Anytime I'm using a player in the lineup whose home run chance is less than 0.1. I want to avoid pitchers again here. In this case, I'm going to save. Following the exact same rule from before, I'm going to first save this as a manual rule, so you can see exactly what this looks like here. We'll expand this and then we can go ahead and start looking at this.

You're seeing, a lot of times we have guys that hit lower in the order, that have a little less power, which is exactly what this rule is trying to target. If Geraldo Perdomo, for example, is in the lineup, then it needs to be a Diamondbacks five stack, because I'm counting on a situation where Perdomo is getting a lot of points, not necessarily from his own power, but because the Diamondbacks stack is going off. Again, once I've looked and studied the logic in these rules, and I feel like it's working the way I want to, I can go back and I can convert this rule to an auto rule, which in this case will now automatically adjust to the new home run odds for each player as we run new sims throughout the day. I know that when it comes time to build lineups right before lock, this will rebuild those manual rules, readjust to new home run odds and follow the rule accordingly.

Now, as I'm sure you can imagine, there are a ton of different groups and rules that you might want to make depending on the sport you're playing, the contest you're playing, and just overall how you want your lineups to look. We go into more detail on what kind of groups we might recommend for different sports in our sport specific videos on our YouTube channel and in our Daily Office Hours live stream. But overall, there are some best practices that I can recommend for when you're building your groups out, regardless of what sport or what contest you're looking at.

The first thing to remember is that SaberSim is not just a dumb optimizer, because we have play-by-play game simulations of every game on the slate and a lineup builder that knows how to use that information. You're probably going to find that you need to make way less groups and lineup building rules than you're used to.

I would actually recommend starting off with a test build where you don't make any rules at all, study those lineups, see what lineup combinations and player combinations you don't like, and then make rules and groups to address those specific issues. From there, go slowly and iterate, figure out one thing that you want to change with your lineups, add a rule to address that, run another build and see what the impact of that is.

Finally, if you ever run into any trouble or you're having an issue where a build isn't completing, is failing, or is just building lineups really slowly, you've probably put in so many different groups that some of them are starting to conflict with one another and making it very hard for the builder to build lineups. In that case, I would recommend walking back your build rules that you've added slowly, where you're either unchecking those rules or deleting them completely, and then letting the lineup builder build more lineups to see if that works. By pulling off these different grouping rules one by one, you can identify what group rule might have caused problems and adjust the logic, or just remove that rule completely for your lineup build.

I hope this was a helpful overview of the SaberSim grouping rules, but if you have any other questions about the rest of the lineup building process, check out some of those other videos in our support documentation. And in the meantime, thanks and good luck.

Did this answer your question?