The BABS Guide to DFS
If you missed my previous DFS articles, they are here (free) and here (not free).
Assuming you’ve read them, let’s jump right in.
My DFS planning process typically takes about 60-75 minutes, sometimes less. Depending upon my schedule on a given day, I might prep my starting pitcher options in the morning (15-20 minutes) and then do the rest before game time. Most lineups are posted by about 4:30pm ET for the 7:00 games, so I try to carve out my prep hour sometime in the 4:30-7:00 window.
This is important to me. When I hear some of the big money winners talk about spending six hours a day to prep for each night’s action, I worry about DFS taking over my life. I lay no claims to such prizes; I just want to have some fun. So knowing I can knock off my prep in an hour or so is very appealing.
There are several standard variables that most DFS players use in setting their lineup on a given night. My approach doesn’t stray much from those standards, but I do add one data point that most others eschew. Here is my process, step by step.
It starts with this blank worksheet (PDF). Print it out and follow along.
Weather
Since I am going to pick the nights with the best odds for success, I want to have as many games to choose from as possible. If there is a monsoon passing through Appalachia that’s expected to hit Baltimore, DC, Philly, New York and Boston by game time, I’m going to save my money for another day.
Monsoons aside, if there is more than a 50 percent chance of steady rain in the forecast for a particular game, I’m going to assume there’s a good chance it will be called. So, I will not consider any players from those teams. If there are more than a few games that I have to pass over because of bad weather, I’ll sit that night out.
Compiling Pitcher Options
Admittedly, part of the reason I can turn my prep around in an hour is I do make use of the tools at BaseballHQ.com. This does save some time. I am not intimately familiar with all the other DFS info support sites, but I expect that much of what I find at BHQ can be found elsewhere. Still, if you are not a BHQ subscriber, I do recommend it. And you know that’s an honest recommendation because I derive no financial benefit from pimping my former site.
My first pass at compiling the starting pitcher options is just to list all the arms with the highest ratings for that night. BHQ has a Probable Pitchers Report that rates each night’s starting pitcher based on his skill versus the particular offense he’ll be facing. For instance, this past Wednesday, the Padres’ RHP Andrew Cashner was at AT&T Park to face the Giants. His rating was based on his skill on the road pitted against the Giants’ lineup performance facing right-handers at home. The metric used is aggregated Pure Quality Starts (PQS). The scale is -5.0 (strong sit) to +5.0 (strong play); Cashner’s sub-zero -0.85 rating meant that he should not be used (and, in fact, he couldn’t get out of the second inning).
These ratings are nice to have, but similar information can be found elsewhere; it just might take a little longer to compile.
For my second pass, I look at each pitcher’s last five starts. This is the data point that most DFS experts warn against. They’ll say, don’t try to game a player’s streaks or slumps. I strongly disagree. For one thing, there is research that supports the validity of pitchers being able to maintain a string of strong outings. From the Baseball Forecaster:
“Once a pitcher enters a dominant streak of any length, the probability is that his next start is going to be better than average. The further the pitcher is into such a streak, the higher the likelihood that the subsequent performance will be high quality. In fact, once a pitcher has posted six dominant starts in a row, there is greater than 70 percent probability that the streak will continue. When it does end, there is less than a 10 percent probability that the streak-breaker is going to be a disaster start.”
On the PQS scale, a dominant start is one that rates a 4 or 5. However, with BHQ’s recent recalibrating of the scale, I will now be looking at 3s as well. It waters down the process a bit, but there would be very few 5-start strings rated as consistently dominant without that adjustment.
So, my second pass at starters looks at each pitcher’s last five starts, regardless of his opponent. Once again, while PQS provides a nice shorthand, this information can be found in any game log.
Finally, I look at each pitcher’s BABS rating. I will always opt for a pitcher with a foundation of positive assets over someone with a lesser profile. I will not use a starter unless he has at least an [e] ERA rating, and in the case of two pitcher games, at least one needs to also have a minimum [k] strikeout rating. Higher ratings are always better.
The complete list of my starter options includes each pitcher’s DFS price, his BABS rating and his last five PQS scores. I divide this list into HOME starts and AWAY starts; those at home always get a slight preference. All of this appears on the top section of the worksheet.
Compiling Hitter Options
The first part of compiling the hitter data is to identify which teams have the best potential for strong offensive games. For that, I run the pitcher analysis in reverse. I look at all the arms with the lowest ratings for the night, and all those with poor performances over their last five starts.
I don’t need to know the pitchers for these games, but I do need to know if they are LHPs or RHPs. I then list the opposing ballclubs and the opposite handedness I need to target among the hitters in their starting lineup. In the example above, if RHP Cashner was among the low rated options for the night, I’d make a note to target left-handed batters on the Giants.
The result of this exercise usually yields about 10 or so team targets; that should be enough to pull some decent batter options. These appear on the right side of the worksheet.
Now it’s time to identify the batters, and for this we need the starting lineups for the evening. All DFS sites include this information, and the BHQ Daily Dashboard includes it as well.
(NOTE: I try to avoid using late games. The lineups are not posted until after the deadline, which means it’s more work for me to figure out which players will be starting. If I can’t compile enough options from the early games, it leaves me no choice, but I’ll be cursing the West Coast time difference throughout that added research effort.)
The first pass in reviewing the lineups is to choose those teams on the target list, look only at the top five batters in the lineup and only those who bat opposite the pitcher handedness. That is already identified on the worksheet’s target list.
For each batter that meets those criteria, I then need to look at his performance over the past week, specifically an OPS over 1.000. Here, too, this runs completely counter to most expert advice. But consider: When a player is hitting well, he’s in a groove. While he might face a pitcher who shuts him down, we’ve already filtered the list so we know he’s facing a lesser arm on this night. If we stock our roster with all surging players, odds are at least some of them are going to continue to hit well, and those performances could carry your team. In my experience over the past year, at least five of eight hitters, on average, will continue to hit well. That’s usually more than sufficient to score enough points to finish in the top half of a contest.
On the worksheet, I list only those hitters who’ve posted an OPS over 1.000 over the past week (preferably at least 25 plate appearances). I also list each player’s BABS rating. As with pitchers, I will always opt for a player with some positive assets over someone with a lesser profile. I want at least six of my eight players to have a minimum [p] power rating. I’m okay sprinkling in a few speed guys but want to make sure they don’t represent the majority of players. And nobody with [AV-} liability will ever make it onto my roster.
Now, you may not be able to fill your batting spots with hitters who meet all of the above criteria. So, sometimes you will have to fudge:
– Very few catchers are going to bat in the top 5 lineup spots. If you find a reasonable option that does, he may bat from the wrong side or have a low OPS. If I have to choose between a catcher batting 5th with a low OPS and one batting 8th with a high OPS, I might opt for the one batting lower. It’s a judgment call. Sometimes BABS is the tie-breaker.
– If all the reasonable options at a position have a low OPS, start looking at same-side hitting players. You will face that quite often with shortstops since there are so many right-handed pitchers and so few left-hand-hitting shortstops.
– If any position can’t meet the 1.000 OPS threshold, relax the benchmark carefully, looking at players between .900 and 1.000. Consider same-side batters before you start looking at anyone below .900.
– If a player meets all the major criteria but has a poor BABS rating, it becomes a judgment call. I will tempt fate and roster no more than one player like this since all the other criteria point to some potential to post a decent game. But I’ll tend to stay away from guys who don’t have a minimum skills profile, and BABS is the final arbiter of that.
The preparation process, summarized:
- Eliminate all games with a forecast of at least 50 percent rain.
- *List all starting pitchers with highest ratings.
- *List all pitchers with the best starts over their last five games.
- *Add in each pitcher’s BABS ratings.
- *Identify teams starting poorly-rated pitchers (and whether RHP/LHP).
- *Identify pitchers with the worst 5-start trend (and whether RHP/LHP).
- Looking only at the target teams, review their starting lineups. Select all players from the top five lineup spots who bat from the opposite side from the opposing pitcher and have an OPS over 1.000 during the preview week (min. 25 PA).
- Add in each batter’s BABS ratings.
- Fudge as necessary to create a final list of player options.
* These items can be done in advance, typically in the morning before the day’s games.
Putting the Pieces Together
Needless to say, the goal is to assemble the best team within the salary cap.
Sometimes there are players with terrific profiles and low salaries; I’ll start by locking those in. Whenever there is a position where there might be only one option, I’ll lock those in as well. Then I’ll see how much of my budget is left for everyone else.
Sometimes, if there are no good options at a particular position, I’ll leave it blank and fill out the rest of my roster. That will tell me how much I have to spend for the last slot. I can then go into the DFS listing and see who my options are at that price point. This is not the optimal approach, but sometimes it is unavoidable.
When it comes to my starting pitcher(s), I am not going to cut corners. This position represents such a large percentage of a team’s eventual point total, skills often have to trump price. Then it becomes a juggling act, trying to fit the pieces into the remaining available budget.
The last part of the process is just locking in all the players, maybe entering them in a few more contests, and then becoming a spectator. It’s actually pretty fun having a different rooting interest each night.
My Winning Tout Wars Daily Team
One week ago, I entered a team in the Tout Wars Daily competition, and finished first overall. I was pretty confident with the lineup going in, so I entered it in several other pay contests, all single-entry 50-50s. Just to provide some perspective, as good as the lineup was, it didn’t finish first in any of the other contests, though I did cash in on all of them.
Here was the completed worksheet I used. (PDF) Here are some notes:
It’s never a good thing when four of the positions only offer a single player option. However, most were decent plays so I locked them all in.
Cameron Rupp (CA) was a same-side hitter, but was batting 5th and met the OPS and BABS requirements. He went 1 for 3, a double, with a HBP an SB. He scored 6 points.
Lucas Duda (1B) met all the criteria. He went 1 for 4 and scored 1 point.
Logan Forsythe (2B) met all the criteria but was a BABS no-show. He was my only option there so I bit the bullet. He went 2 for 5 with 2 doubles and 2 RBI and scored 7 points.
Mike Moustakas (3B) met all the criteria despite falling a tad short on OPS (.937). He went 3 for 4, with 2 doubles and a HR, and 3 RBI and scored 12 points.
With those four locked in, I started looking at my pitching options. Given that there were not enough starts in the books to consider anyone’s last five outings, I had to rely on lesser information. Jon Lester and Jose Quintana were the only ones with some higher skill and consistency over three starts so I penciled them in. If I needed budget space, I kept Matt Moore and Aaron Nola as lower cost backup options.
Brandon Guyer (OF) was an easy choice here, meeting all my criteria and at a budget basement price. He’d go 1 for 5 with an RBI and scored 2 points.
I had four other options for the last two outfield spots. Given that Guyer was a speed guy, I eliminated Dexter Fowler from consideration. With Duda already on board, did I want two more Mets? If I chose Curtis Granderson and Michael Conforto, I’d effectively roster the 1,3 and 5 batters in the Mets lineup, not a traditional stack, but intriguing nonetheless. I decided to lock them in. Granderson ended up going 2 for 5 with 2 HRs, for 16 points. Conforto went 1 for 5, for 1 point.
That left shortstop. When I started the process, that was a blank position on my worksheet. If I rostered all the rest of the players I wanted, it left only $2,900 in my budget. I looked at all the shortstops I’d be willing to consider at around that price point. As it turned out, Eduardo Nunez was a near-perfect fit, posting a .972 OPS and batting lead-off that night for the Twins despite facing a tough match-up in the Nats’ Gio Gonzalez. He’d go 1 for 5 with 2 RBI, scoring 3 points.
Had I opted for another shortstop, I would have had to scale down one of my pitchers to Moore or Nola. As it turned out, I was able to keep my prime choices, and they delivered. Lester and Quintana each pitched 7 innings and won their games, scoring 14 and 15 points, respectively.
The team finished with 77 points, edging out Todd Zola (75) for the Tout title.
From an information provider perspective, the biggest downside of DFS is that it’s not that feasible to provide this type of information on the night of a given DFS slate. Once I’ve finished the prep work and entered my team, it leaves little time for me to write it up and post before that night’s deadline. But if you find this information useful, I’ll provide the occasional DFS deconstruction. Love to hear your comments.
Ron,
How do you evaluate your stud pitchers vs good hitting teams? I dont have a BBHQ sub so what would be an alternative to evaluating the L5 for SP?
My approach to stud pitchers vs good-hitting teams is simple: I don’t use them. There are usually several alternatives.
An alternative to using the BHQ data fir L5 for starting pitchers is to just eyeball their game log (which you can find just about anywhere; I’d use ESPN.com). Look for pitchers who are consistently allowing fewer hits than innings, about as many strikeouts as innings, at least 3x as many Ks as walks, and no HRs. Those are the components of the PQS metric.
when looking at L5 OPS guys who bat in the top 5 of the order facing good pitching, how do you rate that? Ie Pedroia over his last 7 is rocking a 1.270, but facing a RHP or Diaz with a 1.402 facing a stud?
Again, the process has to begin with the matchup. If it’s not a good pitcher vs a bad offense or a good hitter vs a bad pitchers, the L5/L7 doesn’t matter at all. The only reason leveraging L5/L7 works is because of the favorable match-up.
handedness doesnt matter if the matchup is prime and hitting in the top 5 of the order?
Handedness always matters. But if all the other criteria are met and there are no other players who meet ALL the criteria (including handedness), then you have to start relaxing the filters. At that point, I think handedness would be the first filter you relax. If I’ve got a RH on RH hitter who’s batting in the top 5, has an OPS over 1.000 over the past week and has a solid BABS rating, and there are no LHed options, I’d be perfectly fine with that.
how do you handle platoon players in good spots with OPS exceeding with limited ABs? Ie Rajai Davis.
Use your judgment. This is more art than science. FWIW, I’m playing Davis tonight.
Ron,
Thanks so much for sharing your insights into DFS strategy. After dipping my toes into the Daily Fantasy pool a bit last year, I’ve committed to being a more regular player this season.
I’ve been following your methodology and spreadsheet for the past three weeks and have found encouraging results. As an example, even though he’s been hitting a bit further down in the Boston lineup, the other criteria helped point me in the direction of a cheap Jackie Bradley Jr. at the beginning of his current hitting streak.
Looking forward to seeing more previews or recaps of the plan in action.
Thanks, and yes I am learning more as I go along as well. My latest revelations are which filters are best to relax ahead of the others. When optimal choices are not available, I’ve been selecting same-side hitting batters high in the lineup (who fit the other criteria) before reaching for a hitter with a sub-1.000 OPS over the past week. Six weeks of Tout Daily action and I’ve finished first twice!