Trend-Busters Ep. 1: Road Teams ATS

I hate trends. If you look in enough places you will always find weird trends and correlations. As a bettor, following these trends is setting yourself up for at best, betting on something with no predictive power and at worst, being on the wrong side of regression to the mean. In this series, I will look at betting trends and investigate the numbers behind how it came to be.

 

The Trend

For the first installment, we will be looking at a statistic that a user posted yesterday in our CapWize Discord. The trend in question is this: Through the end of week 5, there are 8 teams that are still undefeated ATS on the road and these teams are a combined 17-0 ATS in these games. Overall, road teams are a combined 42-35 ATS. The first stat especially seems crazy at first glance. But I disagree. Let’s investigate further.

NFL Week 6 Model Predictions

 

The Investigation

There is one key assumption that we need to make in order to investigate this trend. That assumption is that in any given game, each team has a 50% chance of covering the spread. I think this is reasonable because this is more or less what Vegas is trying to do when they set lines in the first place.

Let’s look at the second trend first: Road teams are 42-35 ATS this year. If we trust our assumption that both teams have a 50% chance of covering the spread, this is the same as saying if we were to flip a fair coin 77 times, how likely are we to get 42 heads? The Binomial distribution allows us to calculate this probability exactly. It turns out that there is a 6.6% chance that away teams win exactly 42 out of the first 77 games in a season and an 18% chance that they win AT LEAST 42 out of the first 77 games.

For anyone who wants to follow along with the calculations, the R code dbinom(n=42, size=77, prob=0.5) gets you the first number and pbinom(n=42, size=77, prob=0.5, lower.tail=FALSE) gets you the second number.

Shouldn’t it also be equally likely that the home teams have that record? This means that there is a 36 percent chance that one of the two sides has at least 42 ATS wins out of the first 77 games in any given season, or that it should happen a little more than 1 in every 3 seasons.

Shouldn’t it also be equally likely that the home teams have that record? This means that there is a 36 percent chance that one of the two sides has at least 42 ATS wins out of the first 77 games in any given season, or that it should happen a little more than 1 in every 3 seasons.

 

The other trend seems next to impossible at first glance: Through 5 weeks, there are still EIGHT teams that are undefeated on the road ATS with a combined ATS record of 17-0. Using the binomial distribution from earlier, there is only a 1 in 131,000 chance of going 17-0 ATS if every spread is a 50/50. If you bet on all of those games, that’s a pretty decent chunk of change you’ve got for yourself there. If you put $1 on the the first game and re-invested your winnings through all 17 games, your $1 would now be almost $60,000. Seems like a pretty crazy trend. Before moving on, take a second to think about what the problem with this trend is.

There are more than TEN MILLION ways to pick 8 teams out of the league, so the fact that there is a 1 in 131,000 trend that’s hit this year sounds a little worse when you realize that there are more than 10,000,000 ways to try to configure that trend and only one of them hit.

So exactly how likely is it that there are 8 teams undefeated on the road ATS so far this season? Calculating the exact probability is much harder than it was the first time around, but we can get extremely close by whipping up a quick simulation. The guiding principle remains the same: each game is a 50/50 ATS.

To be as accurate as possible, let’s look at how many away games each team has played through week 5. Teams that are undefeated ATS on the road are in bold.

1 game: PIT

2 games: NE, NYJ, BAL, CLE, TEN, HOU, KC, DEN, DAL, WAS, GB, CHI, DET, NO, ATL, SEA, SF

3 games: BUF, MIA, CIN, IND, JAX, LV, LAC, PHI, NYG, MIN, CAR, LAR, ARI

The simulation will work like this: For each team, we will “flip a coin” once for each of the road games it has played this year. If the coin is heads, they win ATS. If its tails, they lose ATS. From this, we can calculate how many teams are undefeated ATS and what their record is. By repeating this process many times, we can get a very good idea of how often we should expect to see the trend that we’ve seen. Again, for anyone who wants to follow along, full R code for the simulation can be found at the end of the article.

 

It turns out that the average number of teams with no ATS losses through week 5 is 6.5 and they combine for an average record of 14.2-0. We see 8 or more teams with no losses 31.4% of the time and a combined record of 17-0 or better for the undefeated teams 31.7% of the time. To add to this, just like the first trend we investigated, this is only for away teams. The schedule structure is slightly different for home teams (i.e. no teams with only 1 home game so far this year), but the the chance of seeing this same trend but for home teams should also be around 30%.

So what do you all think? If we are seeing something that should be happening 30% of the time just by random chance, is that a trend we should be betting on or is it something we should just ignore? If you have any trends that you find yourself or that you see “sharps” tweeting about, @me on the CapWize discord (@nick.granered) with the trend and I’ll do a writeup.

 

Code for the above simulation:

#Away games played per team, sorted by default espn standings page
away.games=c(3,2,3,2,
                             1,2,2,3,
                             2,3,2,3,
                             2,3,2,3,
                             2,3,2,3,
                             2,2,2,3,
                             2,3,3,2,
                             2,3,3,2)

#For replicability
set.seed(12345)

#Calculate number of ATS lossses in their away games per team, repeat n.sims times
num.sims=1000000
losses=t(replicate(num.sims,rbinom(n=away.games,size=away.games,prob=0.5)))

#Calculate how many teams in each week (each row) are undefeated on the road ATS
no.away.losses=apply(losses, 1, function(x) {sum(x==0)})

#Calculate total wins by teams that are undefeated on the road ATS
no.away.loss.record=apply(losses, 1, function(x) {sum(away.games[which(x==0)])} )

#Histogram for no.away.losses
hist(no.away.losses,freq=FALSE,xlab=”Number of undefeated teams”,ylab=”Probability”,main=”Number of teams undefeated on the road ATS through week 5″ )

#Histogram for no.away.losses.record
hist(no.away.loss.record,freq=FALSE,xlab=”Wins by undefeated teams”,ylab=”Probability”,main=”Number of wins by teams undefeated on the road ATS through week 5″ )

#Calculate mean number of undefeated teams and probability of at least 8 teams undefeated
mean(no.away.losses)
mean(no.away.losses>=8)

#Calculate mean number of undefeated teams and probability of at least 17 wins by undefeated teams
mean(no.away.loss.record)
mean(no.away.loss.record>=17)