NFL Week 16: The Wentz vs. Foles Debate

Last week was quite the week for the model, to say the least. It all began with an atrocious 0-4 start for -17.163 units before rebounding in the Sunday afternoon games with two wins. This then set us up for the Monday Night Football game, which was covered in-depth in last week’s newsletter. When it was all said and done and the dust settled,  the model’s largest play of the year, CAR +6 for 8.8 units, cashed and brought Week 15 in the green with a 3-4 finish for +0.84u. For the year, the model is now 69-38-4 for +102.27 units and a 23.93% ROI. That includes an 11-6 record for +20.30 units since its introduction to the Bet It Up newsletter.

Before proceeding, I just wanted to highlight a few things from the 0-4 start to Week 15. Of those four losses, three were by a combined five points and two of them (NYJ and GB) were by a point or less. For reference, there were a total of two model losses by a point or less in the first fourteen weeks and of the season (104 plays). But even if we ignore that (which we probably should) the most important thing to remember about betting a model is that method of profiting is to accumulate edges over a relatively large sample. If we believe the model does have an edge, then even losing a bet or a stretch of bets should be okay in our frame of mind since we are aware that each placed bet accumulates positive expected value.

Through Week 15, the model has accumulated 415.8 points of disagreement across 111 plays (or 3.7 points per play). From that accumulated disagreement, the model has generated 102.27 units of profit. That means that simply the action of placing a bet on a model play has generated 0.92 units of expected profit this season, regardless of the outcome of the bet. Another way of looking at it is that every time someone chooses to not “tail” a model play due to their own disagreement or hesitation, they are losing 0.25 units of expected profit per point/unit of the play. Last week, I got plenty of people telling me they were passing on the CAR +6 play because “It’s the Saints” or something similarly arbitrary. Using the information I just highlighted, those people passed on nearly 2.2 units of expected profit on the spot by simply choosing to not “tail” and place a bet on CAR +6, regardless of the outcome of the game. If that doesn’t highlight the inefficiency of choosing to not follow any given model play, I’m not sure what can.

For this week I wanted to highlight a play that I’ve already shared on Twitter that has been met with some hesitation, which is obviously fitting with what we just discussed in regards to the value of model betting. This week we will focus on the Week 16 matchup between the Houston Texans (10-4) and the Philadelphia Eagles (7-7), and take a deeper look at the entire Wentz vs. Foles debate, which has now reared its head for the second consecutive season. In particular, I’d like to refute the idea that the Eagles are better with Foles at quarterback. I’ll do this by using actual comments I’ve received this week.

“I don’t know. Nick Foles > Carson Wentz.”

The two things that drive this sentiment are that the two most memorable things about Foles for public bettors and fans are A) his postseason run and Super Bowl win last year and B) the Eagles win this past Sunday against the Rams. It’s easy to forget that Foles was near irreprehensible in the first two games of this season and that he was very mediocre in the three starts he had in 2017 leading into that postseason. Below is a chart showing various stats and metrics comparing Wentz and Foles, using data only from their starts and I even included Foles’ postseason data to try and tip the scale in his favor. Note that Foles edges Wentz in only seven out of forty total splits shown here. All data was obtained from Pro Football Reference, ProFootballFocus, and Football Outsiders.

Talent-wise I believe the change with Foles stepping in at QB is important to note. He throws to the receivers much more often than Wentz did, who gave a lot of attention to the TEs.”

“I think the fact that he focuses on different receivers throws out some defending [preparation] for the majority of Eagles’ footage. [There is] different play-calling with a less mobile QB, which also changes gameplans.”

Both of these comments came from the same comment thread, so I’m combining them here. The overarching argument here is that the Eagles with Foles offer something different (and better) due to a supposed change in target share. But this is simply untrue as Alshon Jeffery is the only pass catcher who has seen a >5% change in their target share when going from Wentz to Foles in the last two seasons. But that’s nullified by the fact that Jeffery’s splits shows a whopping three game sample size with Foles, with one of those games (W17 2017) having Jeffery only in on 31% of offensive snaps when he is usually in on ~93-95%. The Eagles opted to rest many of their starters during that game as they had nothing to play for, having locked up the 1 seed regardless of the outcome of that game. Agholor’s smaller jump in target share (+3.7%) is largely driven by from Week 1 and 2 of this year in which he had 22 targets, which is an astounding 26.2% of his total targets on the season. His volume from those two games can be explained by Alshon Jeffery’s absence as well as having Mike Wallace as their WR2 that game, who has zero receptions on three targets this season.

Lets step away from the whole Wentz vs. Foles debate for a second and just do a quick thought experiment. Just last week, the Eagles were 14 point underdogs for their game in Los Angeles against the Rams. This week, they are now -2 favorites at home against the Houston Texans. Nothing talent-wise has changed across those three teams. If we use a flat 3 point home field factor for this thought experiment, that means the Eagles would be +4 if this week’s game was in Houston (-2 -> +1 when moved to a neutral field, +1 -> +4 when moved to Houston). Comparing that to last week’s +14 spread @ LAR, these lines are implying that the Rams are approximately ten points stronger than the Texans. That means that in a game between the two, the Texans would either be 13 point underdogs in Los Angeles or 7 point underdogs at home. I don’t know about you, but I would take either of those lines in a heartbeat. So that should say to you that either A) last week’s line was an overreaction, B) this week’s line is an overreaction, or C) both are an overreaction.

What did the model think? Last week, the model made the PHI @ LAR game PHI +7.1 after Foles was declared the starting quarterback. This was obviously a pretty sizeable 6.9 point disagreement from the PHI +14 line that moved from +9.5 as a result of the news (Reminder: spreads of +7 or higher have been removed from model consideration as of Week 10 which is why PHI +14 was not a play). So if the public and the market saw Foles as having a significantly negative impact on the Eagles strength, why is it so high on him this week? The obvious answer is that beating the Rams on the road in primetime has drawn a lot of attention. And what have we learned in the past? Recency. Bias. Generates. Value. And the model thinks that that is the case this week. For the Texans / Eagles game, the model makes the game PHI +0.3, so a line of PHI -2 means there is 2.3 points of disagreement. This makes HOU +2 -104 a model play, risking 2.403 to win 2.3 units. This is obviously not a massive disagreement, but value is value and we’re here to accumulate any and all significant model edges.

NFL Week 15: The Largest Play To Date

The model continues to roll with another 4-1 week, this time good for +9.455 units. We even picked up a win on the SEA -3 play highlighted in last week’s newsletter, which was a nice touch. After it was all said and done, the model moved to 66-34-4 for the season with a +101.44 unit yield and a 25.89% ROI.

This week, I wanted to cover a play that will be the model’s largest of the season thus far. We’re going to take a look at another Monday Night Football game and take a deeper look at the Week 15 matchup between the New Orleans Saints (11-2) and the Carolina Panthers (6-7). On the surface we have a Saints team who rallied last week from a first half 14 point deficit to clinch the NFC South and a Panthers team who has now lost five straight games by a combined 48 points. Looks like the perfect spot to take the Superbowl contender Saints against the faultering Panthers, right?


Yes, the Panthers have fallen quite a bit as of late. But sometimes it’s not about if you fall, but rather where you fall from and where you end up landing. Prior to their skid, the Panthers hit their peak in the model following their Week 9 win against Tampa Bay. Their expected wins total at the time was 10.64, which had them as the fifth best team in the league. That same week, the Saints dismantled the unbeaten Los Angeles Rams which brought their expected wins total to 10.79, making them the fourth best team in the model at the time. At that point in the season, a neutral field game between the two would have given the Saints a 50.4% chance of winning and the Panthers a 49.6% chance of winning.

But a lot has happened since. The Saints in the five weeks since have seen a marginal drop in the model. In Weeks 10-12, the Saints whooped up on three teams (Bengals, Eagles, and Falcons) who have lost a combined 5.27 expected wins since their games against the Saints. In other words, the Saints’ wins against these teams haven’t been retroactively all too impressive in the model and they did not add much to the Saints strength as a result. In Week 13 the Saints lost a Thursday Night Football game against the Cowboys, which stunned many including the overwhelming majority of public bettors who sided with the Saints in what was the largest bet game for many sportsbooks. This result didn’t surprise the model nearly as much, however, as it had the game as DAL +0.6 before kickoff. And whatever “harm” was done to the Saints in the model from that game was mostly made up by their performance in the following week in which they pulled out an impressive victory against the Buccaneers, who the model has repeatedly viewed as being undervalued, backing them in 8 out of their 13 games for a 5-2-1 record and a +12.34 unit yield. In summation, the Saints haven’t changed much since their Week 9 win over the Rams despite a 4-1 record during that stretch, having kept them within 0.15 total expected wins over that span.

On the other side, we have the Panthers and their five game losing streak. Obviously losing five in a row is never good, but sometimes losses and losing streaks are more than what they look like on the surface. Across those five losses:

  • Four were on the road
  • Two were on tail ends of a back-to-back road spot
  • Two were against playoff-bound teams
  • One was as the road TNF team against PIT
  • One was against SEA, who was coming off extended rest

Mind you, all of these games also came at a time when Cam Newton was clearly playing through an injury, which has been documented wide and far by various reporters. But that’s not to be excused, and any dips in the underlying data that came from suboptimal play stemming from Cam’s injury or elswhere would show in the model. And it does, as the Panthers expected win total has decreased by 1.53 over the course of this losing streak.

Bringing it all together, the model currently gives the Saints a 53.9% chance of winning on a neutral field and the Panthers a 46.1% chance. This makes the neutral field spread CAR +2. Now usually I blow through the game-specific factors but this week’s game actually has a little extra sauce on it. First off, we have the Saints on their third straight road game, which is a rare scheduling stretch to have (there are only two other instances this year). Granted, this stretch includes an extended rest period between the DAL and TB games, as well as an extra day between the TB game and this Monday Night Football game.

But even so, there is one more situational element to this game: the Panthers are seeking revenge for their playoff loss in last year’s postseason in which the Saints beat them 31-26 in the Wild Card round. This year alone, teams seeking playoff revenge are 5-2 straight up with all five teams being underdogs on the opening line. Against the spread, those teams are 6-1 and the six teams who covered did so by an average of 10.83 points. The model has backed three teams seeking playoff revenge this season and went 3-0 for +11.8 units in those games. Needless to say, playoff revenge spots are noteworthy and worth accounting for.

When it’s all said and done, the model makes the Panthers -2.8 for their Monday Night Football showdown with the New Orleans Saints. With the line currently CAR +6, there is an astounding 8.8 points of difference between the model and the Vegas spread. This disagreement is the model’s largest of the season, making a wager on CAR +6 -101 risking 8.924 to win 8.8 units the model’s largest play of the season. Now I know the vast majority of you are sensible, responsible bettors. But I think it’s my responsibility to tell you that this is not a “MEGA LOCK OF THE YEAR” or an “IF IT LOSES, YOU’LL BE REFUNDED” type play. This is just one numbers-driven play that happens to be larger than any before it. At the end of the day, the point of the model is to take every quantifiable edge in order to generate the most positive EV over the course of the sample. Let me repeat: It is NEVER about the result of any singular play, it’s about the accumulation of value.

Thanks for reading! As always, you can find the rest of the model plays by following me on Twitter. I hope the model can turn in another great week, and even if it doesn’t, we’ll stay the course and keep finding the edge.

NFL Week 14: Progression and Regression

Last week’s introduction to my NFL model proved to be fruitful for those that followed along, going 4-1 and yielding +10.01 units. This brought the model to a 61-34-4 record that has yielded 86.45 units and a 22.94% ROI (Note: the model record in last week’s newsletter had a few miscounted games, and has since been corrected). Yes that means the one play I chose to highlight for last week’s newsletter was the only losing play, which is a bit unfortunate. But enough about that, this week I wanted to dive into another model play and highlight some key model concepts relevant to the game.

For Week 14, we will be looking at the Monday Night Football game between the 6-5-1 Minnesota Vikings and the 7-5 Seattle Seahawks. Before we dive into this game, I would actually like to rewind quite a bit to demonstrate what I believe to be one of the model’s strengths. As I was building the model this offseason, I colllected various data from the 2017 season and used hand-made adjustments for each team based on coaching changes, player movement, scheme changes, talent development trajectories, and more. The Vikings were coming off a strong 2017 campaign in which they finished one win away from a Superbowl appearance. On top of that, they added Kirk Cousins as their long-term solution at quarterback, were getting a returning Dalvin Cook, and had a plethora of young talent on both sides of the ball that were set to take the “next step” in 2018. Following the preseason, the model had the Vikings as the fourth best team, expected to win 10.40 games.

The Seahawks on the other hand were a very unimpressive 9-7 team in 2017 that performed well above their 6.57 adjusted Pythagorean expected win total. The team then proceeded to lose Richard Sherman, Michael Bennett, Paul Richardson, Sheldon Richardson, Jimmy Graham, and more in the offseason, and were set to be without their top wideout Doug Baldwin for an indeterminate amount of time. They also burned their first round pick on USC running back Rashaad Penny, which I thought was an awful use of the pick given that they already had the serviceable Chris Carson and had more glaring team needs. With all of this in mind, I’m not ashamed to share that by the end of the preseason the Seahawks were the 29th best team in the model, expected to win only 6.31 games in 2018. 

As I highlighted last week, the model is good at dynamically identifying what parts of the game teams are good at and what parts of the game being good at matters. After just a month into the season, the model had already downgraded the Vikings to a league average team (16th) and adjusted their expected wins to 8.36 The Vikings have since floated around those numbers. Seattle’s progression has been a bit more gradual as the model gave more credence to their performance week after week (29th – 28th – 27th – 24th – 23rd – 22nd – 18th – 14th – 12th – 11th – 9th – 6th – 6th). It was these two massive corrections and swings that made this game so interesting to me, because it is certainly outside of the norm for the model.

As of the conclusion of Week 13, the model has only changed 18/32 teams’ expected win total from the preseason by more than one game. That may sound like a lot at first, but a deeper dive into those eighteen teams paints a different picture. Eleven teams have lost an expected win or more over the course of the season, but seven of those teams are either currently starting (or have started for a significant portion of games) a backup quarterback and have lost expected wins in the process. On top of that, we have the Browns who ditched Hue Jackson (the model doesn’t project coaching changes) and have since crossed that one-game threshold in the positive direction. So if we take out the teams that have been subjected to backup quarterbacks or head coaching changes, the model has been within one expected win for 22 of the 32 teams. That’s not too bad if you ask me.

Back to the actual game at hand, the model has a lot to like about the Seahawks this week. Looking at the model’s five factors, the Seahawks possess a significant advantage in pass offense, rush offense (MIN has the league-worst), and special teams (shoutout to Michael Dickson). On the other side of the ball, the Vikings have a very slight edge in pass defense and a significant advantage in rush defense. Circling back to the model’s dynamic correlation coefficients discussed in last week’s newsletter, Seattle’s advantages amount to much more with offense contributing to league-wide success three times as much as total defense. As a result, the model gives the Seahawks a 56.25% probability of winning on a neutral field, and after factoring in the various game-specific factors which include Seattle’s second-best home field factor and the Vikings being in a back-to-back and three-in-four travel spot, the model makes the game SEA -6.5 which puts us in a position to lock in a SEA -3 -100 wager risking 3.514 units to win 3.5 units.

Thanks again for reading. The response and feedback I received for last week’s write-up was overwhelmingly positive and encouraging, so thank you for that. If you would like to follow the rest of the model’s plays, make sure to follow me on Twitter.

NFL Week 13: Model Introduction

Due to some recent travel and work obligations, I’m unable to share a full write-up for this week. Instead of skipping this week, I thought it would be a good idea to highlight some others’ work in the community and give them a chance to share some new ideas and concepts. Below is the first “guest” appearance on the Bet It Up newsletter by Shawn. Hope you enjoy!

Hello there! As you may have already noticed, this Bet It Up newsletter is being brought to you by a new face. My name is Shawn, and a handful of you may know me from Twitter as @SamkonGado. No I am not the real Samkon Gado, just an avid fan of his and his tragically short tenure on the Packers who I am (currently unfortunately) a fan of. If you’re unfamiliar with my work, I have built an NFL model this past offseason that has accumulated a 60-34-4 record yielding a return of 82.46 units and a 22.11% ROI. I have been sharing the model’s plays on Reddit and Twitter since around October, and I am pleased to be sharing it with the Bet It Up subscribers here today.

A look at how the model has done so far.

So how does the model work?

The model takes various data inputs and assigns each team a rating for each of the following: pass offense, rush offense, pass defense, run defense, and special teams. The model then looks at the ratings of all teams in the league and determines the correlation of category performance to overall team strength, and generates a correlation coefficient for each of the categories. The model then uses a formula I devised to spit out a season-long expected wins number for each team using their category rankings and the league-wide correlation coefficients. This process is repeated after each week, and as a result, the correlation coefficients change over time. That change is where I think a lot of value is being generated.

So how does the model project a game?

For each game, each team’s expected wins number is divided by 16 to give their expected win probability for a single game. Those probabilities are then pooled and redistributed to give a final average expected win probability for each team on a neutral field. The model then assigns a best-fit spread to the game using historical data that analyzes the win probability of teams at each half-point spread interval (I will come back to this later). Then various game-specific factors (home field advantage, travel, rest, etc) are added to generate the final spread for that specific game.

So how does the model select plays?

For a play to qualify as a “model play”, the model’s spread must differ from the Vegas spread by two or more points. The “play” is to equate the points of disagreement to the amount of units in the “to win” amount in a wager. For example, if the model has Team X as -6.4 and the Vegas spread is -3, there are 3.4 points of disagreement and the model play would be to place a wager on Team X -3 to win 3.4 units. There are two exceptions to this which I introduced after Week 9 after monitoring how the model performed on particular sets of plays: 1) Thursday games and 2) spreads of +7 or higher. Both were sets of plays that I had actually flagged as potentially problematic as I was building the model.

Thursday games were flagged simply due to my experience watching, betting on, and analyzing those games. To me, Thursday Night Football is almost an entirely different type of game that I believe would need to be modeled differently from “regular” games. Spreads of +7 or higher were flagged for two reasons. The first is that declining motivation, coach’s “losing their locker room”, deliberate tanking, etc. can be hard to identify and even harder to quantify, and a vast majority of spreads that high this late into the season usually belong to teams that are experiencing one or more of those things. The other is that the previously mentioned historical data that shows the win probability of each team at each spread shows a lot of variance and fragility at higher spreads. A 10% swing in win probability covers the run from 2.5 to 3.5, while a similar 10% swing also covers the run from 7.5 to 12. Subjecting ourselves to questionable motivation at those spread ranges where small changes in win probability can move spreads with ease is a dangerous proposition. Since those adjustments, the model has gone 13-6-2 for +22.18u and a 32.48% ROI.

So what does the model think this week?

I’ll key in on one model play for this newsletter: CIN +4.5 -105 (3.797 for 3.6u). As Kieran touched in the previous newsletter, recency bias is a huge source of value in sports betting markets.

The Bengals just got destroyed by the Browns., they stink.

Andy Dalton is on the IR and the Bengals are starting a backup QB.

Denver just manhandled the playoff-bound Steelers.

Denver is in the playoff hunt., this game means more to them.

These are all statements you could find far and wide amongst casual NFL fans and bettors. These takes aren’t necessarily wrong, but this type of mindset and surface-level analysis is a big source of sportsbooks’ rakes everywhere. Yes, the Bengals are starting a backup QB this week – Jeff Driskel. Last week Driskel went 17/29 for 155 yards, 1 TD, and 0 INT, and reduced the Bengals’ deficit by 13 points against a pretty respectable CLE passing defense that ranks fourth in the model. By my model’s metrics, Driskel’s performance was the 16th best Week 13 QB performance, but if you extrapolate his production to a full game his performance would have likely landed him the 11th or 12th best Week 13 QB performance. But as we’ve seen in the past and especially this season, a backup QB starting or playing unexpectedly yields much different results than when the make consecutive or expected starts. This season alone we saw Osweiler beat the Bears in Week 5, Nick Mullens terrorize the Raiders in Week 9, Colt McCoy nearly lead a comeback against the Texans in Week 11, and Chase Daniels roast the Redskins in Week 12. The common theme of each of these quarterback’s following expected starts (with Chase Daniels to be determined) weren’t nearly as magical.

So what if we assume Jeff Driskel will regress?

That is my actual approach with the model when slotting in a backup QB: I insert worst-case scenario numbers that I think are still within the realm of reason. One caveat to this example is that the Bengals do get A.J. Green back this week, who in the model is one of the most important non-QB players in in terms of added win probability. With that in mind, a worst-case scenario for the Bengals pass offense this week yields a pass offense that produces around the level of the Jets’ current pass offense. There are obviously many other factors that go into the game that help determine the model’s win probability and spreads, but even with this worst-case scenario adjustment the model gives CIN a 37.73% chance of winning on a neutral field, making the spread CIN +3.

Some of you might be thinking “37.3% seems low, how did the model end up on CIN +0.9?”. If you recall, I previously mentioned that there is a one point spread run from 2.5 to 3.5 that eats up 10% of win probability. This game is an example of one that lands in that range. And once you add in the various factors specific to this game (home field advantage, travel, rest, etc.), CIN nets 2.1 points in their favor bringing the model spread to CIN +0.9 for this game.

So there you have it. Even with a presumed worst-case scenario passing offense performance from Jeff Driskel and the Bengals, the model still finds value in CIN +4.5. If you compared the Week 13 lookahead line of CIN -2.5 to the opening line of CIN +3.5 or even the current consensus line of CIN +5, you’d see that the implication is that Andy Dalton’s absence (as well as some other factors) is worth a swing of 6-7.5 points. That, to me and the model, sounds like a huge source of value due to recency bias.