Eagles-49ers film: Christian McCaffrey’s touches, dangerous George Kittle, and where Brock Purdy struggles
The 49ers have a deserved reputation as a prolific offensive team, but there are elements the Eagles can exploit on Sunday.

A fascinating chess match should unfold on Sunday when one of the best defensive units in the NFL matches up with one of the league’s brightest offensive minds. Kyle Shanahan’s San Francisco 49ers squad, including stars Christian McCaffrey and George Kittle, will face off against Zack Baun, Quinyon Mitchell, and the rest of a stout Eagles defense.
This will be the best offense the Eagles have faced since the Chicago Bears on Black Friday. Quarterback Brock Purdy, Kittle, and several other key pieces have missed time at various portions of the season, but they will arrive at Lincoln Financial Field with an offense that challenges defenses pre- and post-snap.
From defending McCaffrey’s versatile skill set to exploiting a clear weakness on San Francisco’s defense, here are the keys for the Eagles in Sunday’s NFC wild-card showdown:
McCaffrey’s dual-threat ability
According to Fantasy Points, McCaffrey had the NFL’s most touches (413) and touches per game (24.3) this season. He had 311 carries, ranking second in the league.
The San Francisco offense depends on him in many ways, and his usage is a reflection of it. Starting in the running game, McCaffrey primarily carries the ball from under-center alignments, with 905 of his 1,202 rushing yards coming from those formations. Of the 27 runs for McCaffrey that have gone for 10-plus yards, 21 have come from under center.
Under Shanahan, the Niners execute an outside zone scheme, but they mix in gap scheme runs to allow McCaffrey to get downhill as a runner.
The numbers back it up, too. According to Next Gen Stats, McCaffrey has a 50% success rate on runs between the tackles as opposed to a 32.6% success rate outside the tackles. Still, McCaffrey has found daylight outside the tackles, especially on San Francisco’s outside toss play with fullback Kyle Juszczyk leading.
Even when McCaffrey is not rushing, the Niners and Shanahan are scheming up ways for him to get the football. San Francisco has a dynamic screen passing game, and at the center of it is McCaffrey. The running back often receives screen passes off play-action or on angle screen actions, when the running back fakes going out for a route and comes back toward the middle of the field with blockers in front.
Running screen passes not only slows down a pass rush, it plays to the strengths of McCaffrey, who is dynamic in making defenders miss in the open field. In the regular season, he led all running backs in receptions (102) and receiving yards (924), and ranked third in the NFL in yards after the catch (721).
McCaffrey aligns all over the formation for San Francisco, from the backfield to the slot and even as an off-ball tight end. Because he’s a dynamic route runner out of the backfield, McCaffrey can present mismatches wherever he’s aligned on the field.
According to Pro Football Focus, McCaffrey has played 86 snaps in the slot, 19 out wide, nine as an in-line tight end, one at fullback, and the remaining 817 in the backfield. While he rarely runs vertical routes, his movement around the formation can cause confusion and has led to big gains in the passing game.
Kittle and the intermediate passing game
The second-most dangerous player on the Niners offense is Kittle, who missed six games but finished with the second-highest catch rate (82.6%) and ranked third in expected points added (+43.5) among qualified NFL tight ends, according to Next Gen Stats.
Like McCaffrey, Kittle is moved all over the formation, with most of his snaps coming from in-line alignments (397). He also spent a considerable amount of snaps as a slot receiver (115), out wide (26), and in the backfield (16), according to PFF.
Purdy, who played in only nine games this season, has found comfort in the passing game throwing to Kittle over the middle of the field and down the seam. Kittle has caught 14 passes for 202 yards and two touchdowns on 20 targets between 10 and 19 yards, including 5 of 7 contested catch targets, according to PFF.
Kittle is a matchup nightmare for whoever is defending him. The Niners make a concerted effort to set him up for one-on-one opportunities with smaller secondary players when the 6-foot-4 tight end is aligned in the slot, or out wide with pre-snap motion.
Of Kittle’s 57 catches this season, 20 came from the slot or out wide, and he’s athletic enough to create separation on in- and out-breaking routes facing one-on-one coverage.
Most of the Niners’ passing game operates in the short and intermediate areas of the field. Purdy has accumulated 1,734 of his 2,167 passing yards on passes between zero and 19 air yards, according to Next Gen Stats.
One of their staple passing game concepts to exploit zone coverage is a Sail concept, which has an outside receiver running a vertical route and the slot receiver running a corner route than can convert to an out route. The passing concept is especially effective facing Cover 2 and Cover 3, as it puts the cornerback on that side of the concept in a bind to either run with the deeper route or try to undercut the outbreaking route.
Between the numbers, the Niners offense is known to run a lot of deep, in-breaking routes and the Dagger passing concept, which has a clear-out vertical route occupying the deep safeties and the deep dig route coming in behind it. It is where Purdy is the most aggressive in pushing the ball downfield to hit big gains to receivers Ricky Pearsall, Jauan Jennings, and Kendrick Bourne. According to PFF, Purdy has 83 of 107 passes for 788 yards and four touchdowns on passes between the numbers from behind or at the line of scrimmage to 20 yards downfield.
The passing concept is especially effective against one-high safety structures on defense and against zone coverage, often vacating space between the linebackers and safeties. The teams that have defended the play effectively this season have linebackers who have the range to take away the deep in-breaking route window, and the Eagles have Baun, who is capable of doing so.
X factors: Turnovers and running game
While Purdy has played at a high level to close the regular season, he has thrown an interception in six of his nine starts this year, including three against Carolina in November. He has been pressured 34.9% of the time, the fourth-highest rate among qualified quarterbacks this season, according to Next Gen Stats, but has been sacked only 11 times across 312 drop backs because of his mobility to escape the pocket.
Where he struggles, though, is locating the football consistently targeting the middle of the field. Half of his 10 interceptions this season have been due to either throwing the football too high or behind his receivers. With pressure in his face, too, Purdy is susceptible to airmailing a pass.
San Francisco’s defense ranks third in snaps out of a light box (45%, six or fewer players in the box) in the NFL, with only the Eagles and Patriots playing a higher percentage of snaps with a light box. That, coupled with the injuries piling up at linebacker, could mean a big day for Saquon Barkley and the Eagles running game.
The defense has also been prone to giving up big plays in the passing game. The Niners, according to Next Gen Stats, gave up the seventh-highest total yards per game on throws that traveled 20 or more air yards (49.9) and tied the Bears for the second-highest total of touchdowns allowed on such throws.
Expect Jalen Hurts and the Eagles offense to take their shots downfield, especially if the Niners load up to stop the running game.