Stealing Signals, Week 12, Part 1
Signal and Noise from Thanksgiving, Black Friday, and early Sunday games
I hope everyone had a great Thanksgiving filled with good family time and building fond memories, as I was lucky enough to.
Most weeks, I start to consider the topics I want to write about throughout the day Sunday, and into Sunday night. By Monday morning, I sometimes have a fully-built introduction just waiting to rattle off as I sit down to build out the newsletter. That might be in my head, or I might have gone as far as to type it in a notes app on my phone.
That’s not the case this week, where not only did I not have much last night, but nothing really struck me this morning. David Tepper finally fired Frank Reich, which made Reich the shortest-tenured coach in a lot of years, and yet I think we can still use the word “finally” comfortably here. This seemed inevitable since Reich sounded like a hostage victim after Week 5, which we talked about in the intro then.
But I don’t even have much to add to that. Generally, I feel like I don’t have much of value to add right now. Maybe that’s the end of a six-month sprint where I’ve written prolifically especially over the past four months, covering an incredible array of topics in a way I’m certainly proud of, and I know many of you appreciate. Maybe it’s because of the weather turning, and living pretty far up in the North, dealing with the shorter days and those things. I’m definitely ready to be somewhere warm, and wish I would have pulled the trigger on a potential trip to Vegas to see my Washington Huskies in the Pac-12 Championship this Friday night, when I was considering mapping that out a few weeks back (even then, flights were impossible, and my plan was to fly through SoCal, buying two different round trips, but before booking I realized my daughter has a morning band recital Saturday, which I didn’t want to miss).
Anyway, I’ve hit this wall in December before, and Stealing Signals as a product is very much at its most valuable in the earlier months of the season — my current take is this newsletter shouldn’t even exist after Thanksgiving, because what’s the point? For forward-looking matchups-based analyses, they start the season slow with little data, but build to this point where they can draw on quite a bit of information to make more accurate reads for those all-important late-season start/sit decisions.
But Signals has never been about weekly decisions, and takes a broader and longer-term view in its analyses, helping you build strong seasonal rosters through an understanding of how each offense evolves in a season. That means the early weeks are most vital, and that stretch where I pivot from hammering the August content to writing the early-season Signals posts is the most important for me on the calendar. I think I did very well during that stretch this year, and kept that up through October and now November.
But by the time December hits, the type of work I’m doing is just not as valuable. I hit it harder in September, but by now the fatigue has long since started to set in; one of the ways I recognize this is my reaction to opinions on social media, where I’m increasingly just kind of grumpy and annoyed. Recognizing when you’re not your best self is an important quality, I’ve come to realize. (And when I’m not, I don’t want to be communicating, and certainly not writing several thousands of words, lol.)
I am really excited about where my own teams are heading, and want to play out those strings, as so many of you want to do with your own teams. But breaking down the micro usage stuff in a game-by-game setting isn’t really moving the needle at this point, if we’re being honest. Most of these offenses are what they are; there will still be things to emerge, as there are every single week NFL games are played, but if I’m honest, at this point the majority of the stones we strive not to leave unturned — they’ve been flipped.
I’ll keep writing, of course. I did mention a while back that I won’t do Stealing Signals the week of Christmas, where the schedule this year makes it impractical without completely eschewing my family duties, which I’m not willing to do. But that still leaves this week’s editions of the newsletter, plus three more weeks, and you’ll get those emails as expected.
I just like being honest. And while I’ve struggled in the past with communicating this particular point, the reality is both myself as an analyst and this newsletter as content have diminishing returns at this point through the end of the season. The next invigorating thing I can imagine doing — the next piece of content where I will feel like I’m truly adding value — will be my early-offseason recap pieces, where I talk a bit about the story of the season, and how that might impact market perceptions and where edges might lie going into the future. I’ve always loved those pieces, and they’ve often been pretty accurate, which could prove to be vital for those of you playing early offseason best ball again next year, as fantasy football continues its march toward a constant, year-round activity.
But I probably won’t do much content around playoff fantasy football formats — other than my work at Ship Chasing for the FFPC contest, which is the format I have the most familiarity with — and I’m otherwise just not sharp enough at this stage of the year to churn out my best work. Last Friday’s one-off piece was a realization of that for me, where there was a much stronger piece there if I’d been able to attack that somewhat delicate topic in a better way, and with more care.
I don’t think I’m being overly self-critical, just practical. That’s why I emphasized my pride in what I’ve produced over the past four months, from the beginning of August through the end of November, which is really the key portion of the Stealing Signals content calendar. I’d hold up my body of work during that time period against anyone’s in the industry, and the fallout of that is that I’m now fatigued, as I noted, and it’s something I experience this time every year, since I started writing Stealing Signals back in 2017. This time around, I just want to embrace it, and be clear with you that I can’t hold myself to too high of a standard, and that I recommend cross-checking any advice you may take from me from here on out with other resources.
Hopefully your roster in your favorite league is strong, and the truth of the matter is that’s kind of the whole ballgame through Thanksgiving, where from here on out there’s not a whole lot you can do other than watch things play out and accept the variance that comes with that. That’s exactly how I’m approaching my own leagues, and some of them fell short this week as the FFPC regular season ended, despite being right on the cusp of the playoffs with rosters I was confident could make noise.
But that’s part of this. We have to go into December with clear eyes that the best teams don’t always win, and for the most part we’re just trying to increase that percentage chance we win our league before the all-important final weeks. What I mean there is that when you start your 12-team draft, all 12 managers have essentially an 8.3% chance to win the league. Even if your team is in first place with a stacked roster and a locked-in bye, you’re probably not more than a coinflip at best, and probably still under 50%, given you’ll still need to win back-to-back playoff matchups after your bye against really good teams. To have a 50% chance of winning your league, you’d need to be about a 70% favorite in both of those matchups, which is tough to do!
But hopefully you’re at least somewhere between the 8.3% you started with and that lofty goal of approaching a coinflip — which, obviously, that very impressive 50% chance of winning your league still carries a 50% chance of not doing so. If you’ve built a team that has a 20% or 25% chance of taking down your league, you’ve done extremely well, and that’s a successful season. Do that every year and you’ll take down your league once every four or five years, which is incredible. With some positive variance, you might win three times in a decade and hold all the bragging rights.
I guess I did find a topic to discuss. But I want to get to the games, because there are 10 to cover, and so I can get done with the games, not because I’m excited to dig into the analysis. That’s just my reality at this point.
Data is typically courtesy of NFL fastR via the awesome Sam Hoppen, but I will also pull from RotoViz apps, Pro Football Reference, PFF, Next Gen Stats, Fantasy Life, the Fantasy Points Data Suite, and I get my PROE numbers from the great Michael Leone of Establish The Run. Part 1 of Week 1 included a glossary of important statistics to know for Stealing Signals.
You can always find an audio version of the posts in the Substack app, as well as easier-to-see versions of the visuals at the main site, bengretch.substack.com.
Packers 29, Lions 22
Key Stat: Packers — +12.2% PROE (highest in Week 12, through Sunday)
Isn’t it funny how often a team looks really interesting, and then we dig into the numbers and find they were really aggressive in PROE? For most of the morning game on Thanksgiving, Packers’ reporters were tweeting about how this wasn’t the same 2023 team they’ve seen, and for most of the postgame we heard glowing Jordan Love praise about how they’ve found their guy. That came despite Love entering the game worse in some of the accuracy measures like CPOE than some of the results-driven metrics like EPA, an interesting note I picked up from Pat Kerrane’s Walkthrough recently, and which I had wanted to dive into to attribute to Matt LaFleur, as one of The Playcallers who is maybe elevating the talent he does have, though it is maybe not quite on the same level as the other young head coaches he’s often grouped with. Maybe that’s too much credit for LaFleur, but it’s one explanation for the gap between Love’s metrics and results, and then we see in this game where he looks like a Pro Bowler against a bad pass defense because LaFleur turns him loose with early-down passing and creative route concepts. It’s not not that; there was clearly an element in this game where Love was positively influenced by the team’s approach. At the same time, he does deserve some credit for a very strong game. I’ll be interested to see if he can keep building on it.
Christian Watson (7-5-94-1) hit on a 53-yard reception on the first play from scrimmage, and also found the end zone later, but honestly this was a bit underwhelming for a spike week where he did both those things (hit on a big play downfield and scored). Jayden Reed (8-4-34-1, 2-16) continues to look to me like an equal if not more consistent play, and Reed’s routes have been more consistent of late, as we tend to see with surging rookies. Romeo Doubs (4-3-37) was a little less involved target-wise, while Tucker Kraft (2-2-15-1) held down the TE position but wasn’t a huge hit or anything. He did run routes on 85% of dropbacks.
Patrick Taylor (3-11, 1-1-4) played a bunch alongside AJ Dillon (14-43, 3-3-38), who made a couple plays in the passing game but apparently doesn’t even have workhorse snap share potential when Aaron Jones is out at this point, which is just one more element of a disaster season for him. We’ll see below that guys like Zach Charbonnet and Devin Singletary were up over 80% snaps this week; part of the Dillon thesis would have been a hope he could approach that if Jones missed time, but he’s just not been good all year, and the Packers clearly see that.
Compared to the Packers’ aggressiveness, the Lions were downright lethargic, totaling a -8.1% PROE. I have a note that despite being down two possessions most of the time they had the ball, the Lions nonetheless ended the third quarter with 26 rush attempts and 24 passes, and the Packers — despite leading most of the game — had more passes at that point. It was a bizarre Lions game through and through, poorly coached and executed, without the typical tempo and aggression we’ve come to love from Dan Campbell teams. They essentially got a garbage-time TD to cut this one to a 7-point final score, but were slow and uncompetitive for most of the second half.
Amon-Ra St. Brown (11-9-95) and Sam LaPorta (8-5-47-1) had nice days, while the RB duo was also solid, with David Montgomery (15-71-1) handling plenty of touches but only playing 27% of snaps while Jahmyr Gibbs (11-54, 8-4-19) had a quieter day but saw far more time on the field, including 71% snaps and 80% routes. Gibbs continues to look like a PPR star down the homestretch, and if you still have trades and can buy, he’s a target. Montgomery did maintain the green zone role.
Jameson Williams (3-2-51) caught an early pass on a drag route on one of the game’s first plays, and I wondered if he’d be more involved through the game. It proved to be one of just two touches, but he does continue to look better and better the further we move through this season, which is saying something after the vibes were terrible in August.
Signal: Jahmyr Gibbs — 71% snaps, 80% routes (touches were closer to 50/50, but Gibbs played quite a lot more than David Montgomery, and has the potential for some big receiving lines down the stretch); Tucker Kraft — 85% routes in Luke Musgrave’s stead, but only 2 targets for a poor 7% TPRR (did score); AJ Dillon — only 53% snaps despite Aaron Jones missing (just hasn’t been good enough to get workhorse treatment, and Green Bay went with a lot of Patrick Taylor to spell Dillon)
Noise: Lions — (-8.1%) PROE, general uncompetitiveness (more of a film take, but they don’t usually look like that, and it’s a bummer that was an island game)
Cowboys 45, Commanders 10
Key Stat: Cowboys — +6.0% PROE, 470 air yards (sixth most by any team in a game this year)
An aggressive, pass-first team since the bye, the Cowboys attacked the Commanders’ weakness in the secondary relentlessly, racking up a whopping 470 air yards on just 32 attempts, for a 14.7-yard aDOT. In part because of this aggressiveness, Dallas ran just 50 plays — they scored on touchdown drives of six or fewer plays four separate times, and also had a pick-six, so were in many ways victims of their own efficiency.
Dak Prescott narrowly overthrew CeeDee Lamb (9-4-53-1) on an early deep shot, and it turned out to be his best chance for a big play, though he did still find paydirt. Brandin Cooks (5-4-72-1) turned in a nice receiving day as well, while KaVontae Turpin (1-1-34-1) scored on another one of his rotational go routes, for his third receiving TD this year on just 10 total receptions.
Sometimes I mention that no one else on a team had more than 10 receiving yards or something, but there were six Cowboys who had exactly one reception, and every one of them had at least 12 yards, with three of them going for over 20 on their only catch. Jake Ferguson (3-1-35) was the most fantasy-relevant of the bunch, and it was obviously a disappointment he didn’t catch any other balls. Jalen Tolbert (3-2-49) had two longer catches, as he continues to take reps from Michael Gallup (1-1-13).
Tony Pollard (13-79-1, 6-6-24) found paydirt again, while racking up 7 HVTs. His 7-yard TD rush was his only green zone touch of the day, and the regression seems to be hitting on those touches. Rico Dowdle (3-11, 1-1-15-1) also scored on a screen pass. Dallas didn’t dominate this game early like some of their other blowout scorelines, and instead pulled away late, which seemed to keep Pollard in the gameplan longer.
Sam Howell had an early rushing TD but couldn’t get there on the elevated late passing reps, unfortunately throwing a pick-6 with just over five minutes remaining that led to a give-up drive of rush attempts for Antonio Gibson (6-21, 4-3-16) and Chris Rodriguez (4-21). Brian Robinson (15-53, 3-2-11) dominated the backfield in the earlier part of the game; he had 12 of the team’s 15 RB touches at the half, but finished with just 17 total as the game got out of hand.
Curtis Samuel (12-9-100) had the big day in the receiving corps, with Terry McLaurin (11-4-50) not far behind in targets and Jahan Dotson (6-5-52) and Logan Thomas (4-2-15) just happy to be here. The routes did consolidate a bit more than they have been lately.
Signal: Sam Howell — 44 pass attempts (even with a give-up drive at the end after the pick-six, Howell continued to get in plenty of dropbacks)
Noise: Cowboys — 50 plays (high aDOT, attacked downfield, scored on four touchdown drives of 6 or fewer plays); Commanders RB touches — Brian Robinson had 12 of 15 RB touches in first half, while Antonio Gibson and Chris Rodriguez racked up touches in fourth-quarter garbage time
49ers 31, Seahawks 13
Key Stat: Zach Charbonnet — 86% snaps, 74% routes, 5 HVTs
The 49ers torched the Seahawks, taking a 24-3 lead into halftime before Brock Purdy threw a pick-six early in the third quarter that still never made this game competitive, and wound up being Seattle’s only touchdown. Christian McCaffrey (19-114-2, 6-5-25) scored twice in the second quarter, and racked up 9 HVTs to tie the Week 12 leaders in that stat. Seattle ran just 18 plays in the first half, totaling just 56 yards of offense, and while they got a little more going in the second half, it was mostly against soft defenses and didn’t lead to much. It hasn’t been a huge talking point due in part to their decent 6-5 record, but Geno Smith and the Seahawks have taken what I called a “general half step down” on offense while picking against them in this game for Stealing Lines. Smith did have an elbow injury that may have made things even more difficult here.
Beyond CMC, it was a Deebo Samuel (9-7-79, 4-15-1) game, and then Brandon Aiyuk (4-2-50-1) found paydirt late after losing a potential TD early on a fantastic play by rookie CB Devon Witherspoon, who peeled off another route to get in position for a blind deflection on the earlier Aiyuk target. George Kittle (5-3-19) was quiet in this one. Elijah Mitchell (7-39, 1-1-(-3)) looked solid and is a good guy to keep rostered.
We saw a couple great pass breakups in this game, as DK Metcalf (9-3-32) lost a potential third-quarter bomb to a great PBU from Charvarius Ward on what could have been a TD. Metcalf dominated volume with 161 air yards, while Tyler Lockett (5-3-30) was quieter, and Jaxon Smith-Njigba (3-2-41) made a loud one-handed reception for one of the catches of the year, but only saw three targets. JSN did run routes on 86% of dropbacks, and while I’m starting to lose some faith it’s gonna happen this year merely because we’re running out of weeks, my long-term expectations for JSN remain high. This guy can play, and he’ll be a target again in 2024. Sometimes you just wind up a little early.
Zach Charbonnet (14-47, 4-4-11) played a ton, including 74% routes on his 86% snaps, but had a hard time in this tough matchup. DeeJay Dallas (2-10, 1-1-5) played sparingly while backing him up, and the tight ends were in their typical rotation.
Signal: Elijah Mitchell — has looked good in limited work recently, remains a high-end handcuff; Jaxon Smith-Njigba — highlight-reel one-handed catch, continues to establish himself little by little
Noise: Zach Charbonnet — disappointing output (tough matchup, but workload was strong with 86% snaps, 74% routes, and he’s a clear start if Kenneth Walker misses anymore time)
Dolphins 34, Jets 13
Key Stat: Jets — +6.7% PROE, 38/10 pass/run ratio (tied second fewest rush attempts by any team in a game this year), 159 total yards
Well, at least I don’t have to write about Zach Wilson. Tim Boyle took over for Wilson in this one and was predictably bad, because there’s almost nothing in his backstory that suggests he should be on an NFL roster, which doesn’t mean that every single possible replacement QB would be equally as bad. But Boyle definitely wasn’t the answer, as we expected, looking worse than Wilson in a variety of ways, including just not having the ability to get the ball down the field while recording a super low 4.4-yard aDOT. And yet, there were parts that were better than Wilson, as well, and the most maddening parts of Wilson’s game at that. What Boyle did do better was he did at times get the ball out — and accurately — on those short throws, such that by the end of the game he had 27 completions, a number Wilson hit just twice in 10 games this year (and he went under 20 completions seven times). That wasn’t great for Garrett Wilson (10-7-44-1), but he did find paydirt late, after it looked like a near miss just a few snaps earlier was going to be his only realistic opportunity. Breece Hall (7-25, 9-7-24) also racked up 7 receptions, although the complete lack of a downfield threat pretty clearly allowed the defense to shrink the field and contain Breece. Boyle was obviously not the answer — in addition to all the short throws, he also took 7 sacks, which you just can’t do unless the tradeoff is an ability to get the ball downfield occasionally — and yet we did see different types of glimpses of what this offense could have been, and perhaps still could be, which more or less revolves entirely around Garrett and Breece.
Other than those two, Tyler Conklin (5-4-33) did his thing, but was down to a 56% route share as youngster Jeremy Ruckert (4-2-18) also mixed in again. And then with Allen Lazard inactive, Jason Brownlee (2-2-20) ran 100% routes and Xavier Gipson (2-2-15) stayed in his big WR3 role. Brownlee and Gipson both being this involved in the same Week 12 game would have come as an absolute shock back in the offseason when the Jets’ WR depth was a talking point, with Corey Davis, Mecole Hardman, and Denzel Mims among those that are no longer on the roster. It’s yet another example of the chaos of NFL seasons; there are few teams where I would have less expected these types of names to be running big routes by Thanksgiving, but that’s how it goes.
The Dolphins did Dolphins stuff, with Raheem Mostert (20-94-2, 1-0-0) ceding a little more work to Jeff Wilson (11-56, 3-3-17) this week, as De’Von Achane was out. Darrynton Evans (2-16), who had looked good with the Bears earlier this year, found his way onto Miami’s active roster for this one, and he’s at least a vaguely interesting name in deeper leagues, given his explosive profile feels like a perfect fit in Miami’s offense. I just want to see the because it would be fun.
Tyreek Hill (12-9-102-1) rolled his ankle a bit early in the game, but played through it. He had a pretty bad early drop on a fourth down in the end zone, but came back to still go over 100 with a touchdown. Jaylen Waddle (8-8-114) racked up plenty of volume as well, including a series of catches before half in the 2-minute drill. The rest of the WRs and TEs on the roster combined for one catch in an exceedingly concentrated game.
Signal: Tim Boyle — terrible, but in a different way than Zach Wilson, where his 4.4-yard aDOT and reasonable short-yardage accuracy allowed for a lot more completions than Wilson typically accumulates (PPR boost for Garrett, Breece); Tyler Conklin — 56% routes (second straight game under 60% as Jeremy Ruckert gets more involved with two straight season highs)
Noise: Miami RB usage — all of it feels very fluid and difficult to parse given De’Von Achane should be back and involved soon, plus potentially Salvon Ahmed, but Jeff Wilson was more involved here and looked good, plus Darrynton Evans was active and as thin as his path feels, I do think there’s adequate upside were it to someone come to fruition to justify stashing him in deep leagues where you’re looking for this kind of thing; Jets — 159 total yards (that’s real bad)
Falcons 24, Saints 15
Key Stat: Falcons — (-16.0%) PROE, 38.7% actual pass rate (second lowest by any team in a game this year)
Did somebody make the mistake of daring Arthur Smith if he could be even more run heavy coming out of the bye? The Falcons’ 38.7% pass rate was the second lowest by any team in a game this year, and Atlanta’s -16.0% PROE was their second lowest of the year behind only… Week 10, their last game played. With his back up against the wall, Art is going back to what he knows: the run game.
As he pivots to the run game, some of Art’s pet projects have to take a back seat to others. In this one, Jonnu Smith (0-0-0) fell to a 38% route share, his lowest since Week 1, and his first game below 55% since then. Smith was more focused on the RBs, with Bijan Robinson (16-91-1, 6-3-32-1) posting his first multi-TD effort, Cordarrelle Patterson (8-43) getting some run, and Tyler Allgeier (10-64) also working in positively. I can’t actually criticize that rushing efficiency too much, and it was a huge win, but we know Artie’s only regret is he couldn’t get even more rush attempts than the team’s 41 up on the board.
With just 21 pass attempts to go around and Bijan seeing 6 of them, Drake London (7-5-91) posted a really strong game, while Kyle Pitts (2-2-22) did not. Bijan was not only heavily used as a runner, but in the downfield passing game as well, including hitting on deep shot out of the backfield for a 26-yard TD reception. Bijan did have a couple drops in this game, but they weren’t necessarily great dump-offs, and Daryl “Moose” Johnston — who was on the call — had what I thought was a great point about how even on RB dumpoffs, the placement, timing, and velocity really impact how catchable the ball is. He felt the second Bijan drop in particular was not a great pass, particularly because it came in low and hard, despite still being obviously catchable.
There was a lot of concern about Derek Carr’s impact on Chris Olave (9-7-114) coming into the game, but Olave got loose for a 52-yard reception early, and put up a huge line given he was knocked from the game due to a concussion early in the third quarter. Despite running routes on just 55% of dropbacks, his WOPR for the game was still easily a team high at 0.60, and his wTPRR was an absurd 1.14.
Rashid Shaheed (5-2-9) similarly saw a ton of volume on limited reps, but he left even earlier, with about five minutes left in the second. That should have meant plenty of room for rookie A.T. Perry (2-1-7), but the youngster didn’t really step up. Juwan Johnson (7-4-45) had an alright day, and Taysom Hill (7-26, 2-2-55) caught a pair of balls for nice gains. But the Saints were left with very little in the way of receiving weapons, and wound up settling for five field goals, which was their undoing.
Alvin Kamara (15-69, 5-4-50) did his typical thing, getting there on a combination of rushing and receiving yardage that got him well over a 100-yard day, and adding the four receptions for 15.9 PPR points on a day where he didn’t score a TD. Jamaal Williams (2-6, 2-2-4) looks uncompetitive as his backup.
Signal: Falcons — two lowest pass rates of the year in past two games, only 21 pass attempts in each; Bijan Robinson — RB air yards (deep pass for big receiving TD);
Noise: Chris Olave — 55% routes (concussed early in the third, looked on his way to a 150-yard day at least)
Steelers 16, Bengals 10
Key Stat: Steelers — more than 400 yards of offense (first time since last game Matt Canada didn’t coordinate, 45 games ago)