Cal Football 2025: How's the offense looking? Pt. 2
Comparing the 2025 offense to the 2024 offense halfway through the season
Intro
I last checked in after Cal’s 3-0 start. Energy and expectations were high following a gritty win in a coin-flip game against Minnesota. Since then, things have looked . . . different. Or more accurately, they have looked incredibly familiar — Cal’s offense has struggled to live up to early season hype with one hard fought victory at Boston College and two demoralizing defeats at San Diego State and now Duke. Midway through the season, how does this team’s offense compare to last year’s?
The data
A reminder about what I am doing here. I am not trying to draw causal conclusions about what needs to be done at a coaching or personnel level. The math (and football knowledge) necessary for that kind of thing are beyond me. I am simply presenting descriptives of how the team is performing. These descriptives should be thought of as a starting point for identifying larger team strengths and areas for improvement — the data are represented in a way that illustrates what happens on game day, not why they are happening.
Question: What is the proportion play calls are rushes/passes?
Here are the play calls so far with the 2024 offense in blue and the 2025 offense in gold:
Comparing this graphic with the Week 3 version, the gold bars are indistinguishable. Interesting, the 2024 bars evened out between Games 1-3 and 4-6; Cal ran the ball more after their first three games last year. We have remained a pass-heavy team, and depending on who you ask, we have either given our freshmen phenom QB the opportunity to make the kind of mistakes crucial to developing his natural talent, OR we have relied too heavily on our freshman phenom QB to make up for weaknesses elsewhere on the offense.
Question: How distributed is our passing game among the receiver room?
This graphic is formatted differently than I had it three weeks ago, but you can see that JKS continues to complete the bulk of his catches to only three receivers: De Jesus, Mini, and Grizzell (players with more catches are higher up on the chart), with King, Hamper, and Raphael the only other players averaging at least one catch per game. Contrast that with nine players averaging at least one catch per game last year.
I have no insight into the development of the receiver room, but the fact that we only have three viable threats to make catches severely limits the team’s ability to threaten attacking the backfield.
When we plot the team yards by season, we see that the median passing play for both the 2025 and 2024 teams nets around 8-10 yards (indicated by the vertical lines inside the blue and gold boxes). The gold line hasn’t budged since my post-Minnesota analysis, while the blue line has increased. Last year, Cal saw a relative increase in passing yards per catch as the season progressed, while this year, Cal has stayed consistent.
Here are the above data disaggregated by game. Games with a higher number of completions are higher — so we have completed more catches in every game so far this season than in any game in the first half of last season. The question for the next three games and beyond: Is this sustainable?
Question: How distributed is our run game?
Turning now to the run game, who is putting in the work to establish a threat in the trenches (and open up the passing game?) Compared to last time, these are the same four players (in 2025) and six players (in 2024) averaging at least one carry per game. LJ Johnson Jr. has overtaken Brandon High Jr. as our number 2 back (players with more carries are higher up), but beyond that, there has not been much movement among the 2025 players.
Here are the team box plots:
What jumps out to me is that the backs are generating some explosive plays between 10-35 yards. But when we draw the plots by game…
… those explosive plays are mostly from our wins against Texas Southern, Minnesota, Boston College, and Oregon State. The Duke game saw only one run breaking 10 yards, and the 2025 San Diego State game saw none. At this point last year, the Cal offense had at least one run above 20 yards in every game.
Conclusion and Questions
Midway through the season, Cal remains pass-heavy with a small number of receivers for JKS (and opposing defenses) to key in on. At the same time, the run game has been consistent to the point of being predictable. Barring a revelation during the bye week, we can expect one of two kinds of plays for the rest of the season. Either JKS will throw the ball to Jacob De Jesus, Mason Mini, or Trond Grizzell, or he will hand off the ball to Kendrick Raphel, LJ Johnson Jr., or Brandon High Jr. for a somewhat reliable 4 yards.
To return to the limitations of this analysis, I am not working with any data on the offensive line, which was a massive issue in 2024. Cal’s opponents have seemingly figured out that JKS has yet to develop the ability to respond under pressure. How much of Cal’s stagnant offensive can be attributed to O-line play this year? What would it take for our receivers to take advantage of more stacked boxes?
Early in the season, the team was able to ride on the arm talent of our QB, but as opponents have responded to that strength (and as the quality of our opponents has increased), we are losing the rock-paper-scissors game by being one dimensional. In an ideal world, this would be the time when the offensive line finally figured out how to play together — to give our QB more time to make magic happen or to create gaps for our backs to burst through. In an ideal world, now would be the time to re-establish the run, to draw attention away from our receivers and make opponents respect us in the trenches. In an ideal world, Cal would be 6-0, taking the bye week to prepare for an unprecedented season against a winnable schedule.
We are not living in an ideal world.










Remember, we have an incredibly gifted QB, but he is a freshman. He will only get better. We have solid receivers but not great speed, and only two are tall enough to go up for the 50/50 ball. The next part is scheme, and that means Harsin needs to figure out how to get guys open for short passes when defenses stack the box and press cover. Otherwise it's going to be a long season.
Yeah i didn’t have a place to put my original post after he got fired so this was the closest article to the timing of his firing… he succeeded at Vandy and Bill O’Brien wasn’t very good at PSU before he got there so I think he’d be a good fit for us…