My Weather Research Process for MLB DFS

A few years ago, I started playing daily fantasy baseball, without much success. I created player projections using aggregate data and tried to field an “optimal” lineup that ended up getting smoked quite a bit.

The following year, I set out to become a profitable MLB player. As with any new daily fantasy sport—or any new game in general—I had to think about where I might be able to find an edge. What important factor is the public not concerned about as much as they should be? What’s not priced into player salaries? What single area of lineup creation can I dominate as a stepping stone to profitability?

For me, that area was, and still is, weather. I tell people I care about the weather a lot, but I’m not sure most fully grasp how big of a factor it is for me in daily fantasy baseball. There are a couple reasons I care about the weather so much.

First, it’s important as shit; I have all kinds of data—as you’ll see—that shows that baseball stats are very heavily influenced by weather factors that might seem minor, such as small changes in temperature or humidity. So the weather just matters a whole lot.

Just as important, as I mentioned, is that I don’t think weather is properly valued by daily fantasy sites or the public. Sites like DraftKings and FanDuel have the ability to properly account for static inputs like ballpark factors, but the weather is flexible and thus difficult to fully incorporate into salaries. Plus, you could make an argument that their goals aren’t necessarily to have completely accurate pricing, but rather pricing that best aligns with public opinion.

And the crowd does not care about weather like they should. Everyone looks at the chance of rain to make sure they’re avoiding games that could get delayed or rained out, but for many, the research stops there. Outside of targeting hitters at Coors Field because of the thin air, most daily fantasy players don’t consider air pressure in other contests, for example.

Coors is an extreme example, but doesn’t it follow that we should be at least considering air pressure—as well as temperature, wind, and humidity—if it has the ability to affect offensive production in such a massive way?

DailyBaseballData.com

I start my daily fantasy baseball research at DailyBaseballData.com. The site has a bunch of cool data to analyze, but I use it mostly to quickly assess the probability of rain in each game.

As far as player selection goes, I avoid pitchers in games with even a minimal chance of rain (even 20-30%), especially in cash games. If a game gets delayed and your pitcher gets pulled, that can be devastating for your lineup.

With batters, I’m far more risk-tolerant, and even risk-seeking at times. I avoid hitters only if a game has a significant chance of getting rained out, and even then, I might take a chance in a tournament. If there’s a high likelihood of light rain in a game, that’s actually ideal for batters. I have some data (as you’ll see later in this course) suggesting rain benefits offenses, so as long as there isn’t a good chance of a contest getting postponed—which usually comes with thunderstorms—I’m not risk-averse when it comes to precipitation for my batters.

Forecast.io

I analyze some other numbers at Daily Baseball Data, but the probability of precipitation is the first thing I examine because that allows me to immediately cross certain players—usually pitchers—off my list.

However, I don’t completely rely on the Daily Baseball Data forecasts. I’m not even entirely sure where they get their data—it could be the National Weather Service, it could be AccuWeather, etc—but I like to aggregate data when it comes to making forecasts of any type.

For the most accurate weather predictions, I use Forecast.io. I don’t know of any other daily fantasy players who visit the site, but it’s a daily stop for me. Forecast.io imports forecasts for rain, temperature, wind, humidity, and air pressure from a variety of weather services and provides the average. This wisdom-of-the-crowd approach to forecasting has proven to beat out the majority of individual predictions taken in isolation.

Forecast.io is particularly useful when I’m looking to take a chance on a player—or avoid one with more risk than others believe. In the 2014 DraftKings Fantasy Baseball Championship, for example, pitcher Johnny Cueto was the chalk play. He was an obvious value, but there was a decent chance of rain in Cincinnati that day. Weather.com had it at 30%—not incredibly high—which led half of the field to roster Cueto.

Forecast.io and the actual radar were much less optimistic about the forecast in Cincy. I thought there was a decent chance that the game would get delayed, so I faded Cueto. The game did indeed get delayed, but it was so early in the contest that Cueto didn’t get pulled. Had that rain come a half-hour later, there’s a chance that half of the field would have gotten next to nothing from one of their pitchers.

In any event, the idea is that I use Forecast.io (and radar) to more closely examine possible precipitation. Daily Baseball Data is good enough to efficiently get me most of the way there—it isn’t like their forecasts are typically off in any major way—but I like to spend another minute or two making sure my knowledge of how little pellets of water will fall to Earth is as accurate as possible.

Home Run Weather

When I first began playing daily fantasy baseball, I knew of the importance of various weather factors, but it was still difficult to build a model that incorporated things like humidity and temperature without a background in meteorology. I know how 65-degree temperatures differ from 85 degrees in terms of run-scoring potential and I know how various levels of air pressure affect home run ability, but getting those two variables to work in conjunction with one another is challenging; the temperature causes changes in air pressure, for example—or else it’s the other way around, I’m not sure—such that the two aren’t independent of one another.

What I’m trying to say is that building a really precise model for MLB weather is really tough. But as is typically the case nowadays, there’s an app for that. And the app I use is called Home Run Weather, available on iOS and Android.

Developed by statisticians and meteorologists, the app considers a number of variables and gives you a single rating—from 0 to 10—representing the likelihood of a home run occurring in a particular game. And it’s been extremely accurate. Here’s a look at the number of home runs per game based on the app’s weather rating.

raweather

In games with a rating of 0—typically those in cold weather with no wind—there have historically been around 1.1 home runs hit per game. Compare that to around 2.6 home runs per game in contests with a ‘10’ rating—a massive difference. These numbers alone show you the incredible effect that weather can have on offensive upside.

The app provides a rating that’s updated by hour. I typically take the average rating for the three-hour period when a game is being played. If I’m analyzing a contest that begins at 7pm EST, for example, I use the average rating for 7pm, 8pm, and 9pm as that game’s total weather rating. I wait as long as I can in my research process to collect this data to make sure it’s as accurate as possible. If you’re analyzing things a few hours out, there typically aren’t significant changes.

Why Home Runs?

You might think an app that predicts solely home runs would have limited uses in daily fantasy baseball. I don’t think that’s the case at all, for a couple reasons. One is that we’re rewarded so heavily for home runs that we should generally be seeking as many as possible anyway, especially in GPPs. If a player can’t steal bases or go deep with regularity, I generally won’t roster him, even in cash games.

The second reason is that home runs don’t come in isolation; home-run hitters rack up fantasy points in other ways, too, so home runs are a good proxy for offensive upside, both on the individual and team level. If a team is likely to hit home runs, they’re also probable to score a lot of fantasy points. By targeting home runs, we’re indirectly gaining access to other sources of fantasy production.

Note that I care a whole lot more about home run upside for offenses than for pitchers. The weather matters for every player, but if a pitcher is dealing and not getting hit hard, it really doesn’t matter too much if it’s 65 or 85 degrees. I care a lot more about controllable factors for pitchers—like strikeout upside—than the external variables like the weather and ballpark that are more valuable when selecting batters.

Adjust for Ballpark, Offense, and Pitcher

The Home Run Weather app is extremely useful, but it projects home runs based solely on weather. I actually think that’s ideal because it means we know exactly what we’re getting; we don’t need to try to figure out how the rating reflects weather versus pitcher strength, the ballpark, or other factors.

Those variables are obviously of extreme importance, though, so we need to account for them. In my view, there are four foundational components to projecting daily fantasy baseball players: the weather, ballpark, offense (or batter), and pitcher. There are other minor factors, like defensive strength, that could play a minor role, but I believe they are very difficult to use in a predictive way.

In any event, there are obviously a whole lot of ways to forecast players using these four components. I’ve back-tested the importance of each and created a Batter HR Predictor model (at the end of this RotoAcademy course) that uses a few basic numbers to rate batters and project home runs.

Check it out and you’ll see the weight that I give to weather and atmospheric conditions is way greater than what I’ve seen from most other daily fantasy players.

In the Rest of this Course, You’ll Learn…

About the Author

JonBales
Jon Bales (JonBales)

Jonathan Bales is the founder of RotoAcademy and author of the Fantasy Sports for Smart People book series.