Shaded = the better side of each row. Rows with no clear “better” (plays, drives, attempts, penalties, possession) aren’t shaded. Efficiency, What it cost them and Early vs late downs use the nflfastR/rbsdm play filter, so a team’s EPA/play here can differ from its season figure on the team pages; Team stats follows the official box-score conventions instead.
WASEfficiencySF
| 0.00(64) | EPA / play(plays) | +0.16(62) |
| +0.05(49) | ↳ Passing | +0.07(35) |
| −0.18(15) | ↳ Rushing | +0.27(27) |
| 48% | Success rate | 52% |
| 49% | ↳ Passing | 40% |
| 47% | ↳ Rushing | 67% |
| 27% | 1st down rate | 32% |
| 31% | ↳ Passing | 31% |
| 13% | ↳ Rushing | 33% |
| 4(6%) | Explosive plays(rate) | 5(8%) |
| 4(8%) | ↳ Passing(20+ yd completion) | 4(11%) |
| 0(0%) | ↳ Rushing(10+ yd run) | 1(4%) |
| 0(TO +1, expl −1) | Toxic differential(turnovers + explosives) | 0(TO −1, expl +1) |
WASTeam statsSF
| 19 | 1st downs | 20 |
| 13 | ↳ Passing 1st downs | 9 |
| 2 | ↳ Rushing 1st downs | 11 |
| 4 | ↳ 1st downs from penalties | 0 |
| 3-12 | ↳ 3rd down efficiency | 7-14 |
| 1-3 | ↳ 4th down efficiency | 2-2 |
| 61 | Total plays | 60 |
| 314 | Total yards | 375 |
| 10 | Total drives | 9 |
| 5.1 | Yards per play | 6.3 |
| 261 | Passing | 249 |
| 29/40 | ↳ Comp/Att | 21/29 |
| 5.9 | ↳ Yards per pass | 8.0 |
| 0 | ↳ Interceptions thrown | 0 |
| 4-39 | ↳ Sacks-yards lost | 2-15 |
| 53 | Rushing | 126 |
| 17 | ↳ Rushing attempts | 29 |
| 3.1 | ↳ Yards per rush | 4.3 |
| 2-4 | Red zone(made-att) | 3-4 |
| 7-66 | Penalties | 11-88 |
| 0 | Turnovers | 1 |
| 0 | ↳ Fumbles lost | 1 |
| 0 | ↳ Interceptions thrown | 0 |
| 0 | Defensive / special teams TDs | 0 |
| 30:15 | Possession | 29:45 |
Why the play counts differ. Efficiency counts every run and dropback the way nflfastR and rbsdm.com do, including sacks, scrambles, plays wiped out by penalties and 2-point tries, so WAS has 64 plays there and 61 in the official total above. Rushing attempts count kneel-downs and QB scrambles, while rush plays are the designed runs in that efficiency set, which is why WAS shows 17 attempts and 15 rush plays.
WASWhat it cost themSF
| 0.0 | EPA lost to turnovers | −4.4 |
| −5.6 | EPA lost to sacks | −2.8 |
| −6.4 | EPA lost to penalties | −13.9 |
A strip-sack counts in both the sack row and the turnover row.
WASEarly vs late downsSF
| +0.11(47) | Early downs(1st–2nd) EPA / play | +0.06(45) |
| 53% | ↳ Success rate | 49% |
| −0.31(17) | Late downs(3rd–4th) EPA / play | +0.41(17) |
| 35% | ↳ Success rate | 59% |
Passing
| Player | C/ATT | YDS | TD | INT | SCK | RTG | EPA/DB | CPOE | SUCC% | aDOT |
|---|---|---|---|---|---|---|---|---|---|---|
| WAS | ||||||||||
| Jayden Daniels | 29/40 | 300 | 2 | 0 | 4 | 110.4 | +0.04 | +17.6 | 49% | 7.8 |
| SF | ||||||||||
| Brock Purdy | 21/29 | 264 | 1 | 0 | 2 | 111.9 | +0.11 | +7.2 | 41% | 8.7 |
Rushing
| Player | CAR | YDS | TD | YPC | EPA/CAR | SUCC% |
|---|---|---|---|---|---|---|
| WAS | ||||||
| Rachaad WhiteRB | 7 | 27 | 0 | 3.9 | −0.04 | 57% |
| Jeremy McNicholsRB | 5 | 13 | 0 | 2.6 | −0.31 | 40% |
| Jayden DanielsQB | 3 | 11 | 0 | 3.7 | −0.39 | 0% |
| Austin EkelerRB | 1 | 3 | 0 | 3.0 | −0.27 | 0% |
| SF | ||||||
| Christian McCaffreyRB | 16 | 64 | 2 | 4.0 | +0.34 | 69% |
| Kaelon BlackRB | 8 | 34 | 0 | 4.3 | +0.13 | 63% |
| Brock PurdyQB | 5 | 28 | 0 | 5.6 | +1.52 | 100% |
Receiving
| Player | TGT | REC | YDS | TD | TGT% | YAC | EPA/TGT | CATCH% | aDOT | Y/TGT |
|---|---|---|---|---|---|---|---|---|---|---|
| WAS · 35 team targets | ||||||||||
| Chig OkonkwoTE | 7 | 7 | 69 | 0 | 20.0% | 34 | +0.39 | 100% | 5.0 | 9.9 |
| Treylon BurksWR | 6 | 4 | 66 | 0 | 17.1% | 10 | +0.02 | 67% | 12.5 | 11.0 |
| Antonio WilliamsWR | 4 | 3 | 50 | 0 | 11.4% | 13 | +1.08 | 75% | 16.5 | 12.5 |
| Stefon DiggsWR | 7 | 6 | 44 | 1 | 20.0% | 10 | +0.61 | 86% | 5.6 | 6.3 |
| Rachaad WhiteRB | 5 | 4 | 30 | 1 | 14.3% | 18 | +0.34 | 80% | 1.4 | 6.0 |
| Terry McLaurinWR | 1 | 1 | 27 | 0 | 2.9% | 4 | +1.91 | 100% | 23.0 | 27.0 |
| Dyami BrownWR | 1 | 1 | 6 | 0 | 2.9% | 2 | +0.26 | 100% | 4.0 | 6.0 |
| Austin EkelerRB | 2 | 2 | 4 | 0 | 5.7% | 14 | −0.39 | 100% | −5.0 | 2.0 |
| John BatesTE | 1 | 1 | 4 | 0 | 2.9% | 3 | −0.34 | 100% | 1.0 | 4.0 |
| Luke McCaffreyWR | 1 | 0 | 0 | 0 | 2.9% | 0 | −0.48 | 0% | 27.0 | 0.0 |
| SF · 29 team targets | ||||||||||
| Mike EvansWR | 5 | 3 | 94 | 0 | 17.2% | 30 | +1.14 | 60% | 19.8 | 18.8 |
| George KittleTE | 8 | 5 | 69 | 1 | 27.6% | 19 | +0.10 | 63% | 9.4 | 8.6 |
| Christian McCaffreyRB | 10 | 9 | 53 | 0 | 34.5% | 46 | −0.60 | 90% | 1.7 | 5.3 |
| Jordan WatkinsWR | 1 | 1 | 22 | 0 | 3.4% | 6 | +2.16 | 100% | 16.0 | 22.0 |
| Brandin CooksWR | 2 | 1 | 13 | 0 | 6.9% | 7 | −0.47 | 50% | 6.5 | 6.5 |
| Kyle JuszczykRB | 2 | 1 | 10 | 0 | 6.9% | 6 | −0.11 | 50% | 16.0 | 5.0 |
| Kaelon BlackRB | 1 | 1 | 3 | 0 | 3.4% | 4 | −0.23 | 100% | −1.0 | 3.0 |
Player lines won’t always add up to team totals. TGT% is a share of the team targets above — the throws charged to a receiver — not of the pass attempts in Team stats, so the two counts can differ. Yards gained after a lateral belong to no receiver, and runs by receivers and kneel-downs don’t appear in the rushing table.