Methodology

How CFB Zeitgeist works.

Where the signal comes from, how we express confidence, what we don’t cover, and how we grade our own predictions.

What we track

Three things: where programs stand (competitive position, trajectory, recruiting), what their fanbases are saying (aggregated from fan communities and prediction markets), and whether our calls were right (every projection is logged before the outcome, then graded).

Reading fan temperature

Our fan temperature signals come from the communities that form around each team on Reddit. If a team’s fanbase maintains an active subreddit, we read it.

What this is: a measure of what active online posters are saying and feeling, in a rolling 8-week window updated weekly. What this isn’t: a survey, a sample of all fans, or a reflection of casual fans who don’t post. People who post in team subreddits tend to be more engaged—and more vocal—than the median fan. The signals describe the discourse, not the fanbase broadly.

Each post is assessed on three dimensions:

  • Tone — positive, negative, or neutral, using an NLP classifier trained on social media text.
  • Topic — what the post is mainly about: recruiting, coaching, offense, defense, team culture, or schedule.
  • Grounding — whether the post cites a specific verifiable fact (a score, a ranking, an announced roster move, a stat) versus expressing pure opinion or feeling.

What the labels mean

You’ll see two trust markers across the site:

  • ✓ fact-anchored — a fan cited a specific verifiable claim: a number, a transaction, a result. We identified that a claim was made and extracted the relevant text. We did not independently verify the claim is true—only that one was asserted.
  • ~ our read — a signal derived from classification or our own interpretation of the discourse. Treat it as texture and pattern, not a measurement. We’ll always label it.

When a team doesn’t have enough recent activity to support a reliable signal, we show Awaiting Signal rather than manufacture a number from thin air.

Signal confidence and baseline

A team needs a minimum volume of posts in the measurement window before we show any sentiment signals. Below that floor, you get Awaiting Signal—honest about the gap, not an invented placeholder.

All fan-sentiment signals are normalized against each team’s own historical baseline: how does this week compare to where this team’s fanbase usually is at this point in the season? We deliberately avoid ranking fanbases against each other. Different subreddits have different posting cultures, volumes, and histories. Saying “Team A fans are more optimistic than Team B fans” would compare apples to oranges. Saying “Team A fans are more optimistic than they usually are in June” is something we can actually back.

Our classifier outputs were validated against human-labeled examples from the teams we cover. We do ongoing spot-checks and update the model when patterns drift.

What we can’t measure

Fans who read but don’t post. Conversations on other platforms (X/Twitter, private Facebook groups). Game-day atmosphere and in-person sentiment. Irony, collective venting, and sarcasm-heavy posts that look like despair but function as community bonding. Coordinator data doesn’t exist in any reliable public source, so we skip it rather than model around the gap. Some smaller programs have genuinely thin signal.

When something is uncertain, we say so. The ~ tag signals our read. The Awaiting Signal state signals thin data. We’d rather name a limit than paper over it.

Ranking programs: the Zeitgeist List

The Zeitgeist List ranks all 138 FBS programs by stature — career-arc, weighted toward the present — on a published formula: 45% performance, 45% achievement, 10% talent, plus a capped signature-win bonus and a narrow bad-loss debit. The top two tiers are title-gated, and tiers move slowly on purpose. Every constant is published so a skeptical fan can recompute any score. Read the full Zeitgeist List methodology →

Home-field advantage

Our prediction model gives every home team the same flat edge — about 2.3 points, refit each week from results, one number for all 138 stadiums. That is a deliberate choice, not a shortcut. We tested whether individual stadiums deserve their own number and the answer was no: the apparent differences between programs tracked team strength almost perfectly (a 0.87 correlation with scoring margin), because good teams host easy games and bad teams travel to hard ones, and the one venue that should have stood out on physics alone — New Mexico, at 5,100 feet — did not. A per-stadium number would have been a strength number in disguise.

What team pages show instead is what actually happened: half the gap between a program’s average home margin and its average road margin against FBS opponents since 2018, with a 95% interval and its place among all FBS programs. And, separately, how much more the team has beaten the closing betting line at home than away — the fairest test of whether a building is worth more than the market already prices. For nearly every program that figure sits inside the noise eight seasons can resolve, which is exactly why the flat number is the honest one. The few that fall outside it are labelled as such.

Two facts from our own data, for scale: FBS home teams win about 59% and outscore visitors by about four and a half points a game; in 2020, with stadiums empty or capped, that margin fell to just over two — roughly half of the edge left with the fans.

Reading players

We describe players in three beats — what he is (his archetype), how good he actually is (a seventeen-rung accolade ladder), and the twist (a rare second strength, or one real worry) when the numbers earn one. The labels are cohort-relative and box-score-honest, and the flaw notes are strictly gated. Read how we read players — including what the box score can’t see →

Rating quarterbacks: the Zeitgeist Passer Rating

Every quarterback page shows two efficiency numbers side by side: the NCAA passer rating (the 1979 formula every broadcast uses) and our own Zeitgeist Passer Rating (ZPR). ZPR is built from play-by-play: the share of dropbacks that gained expected points, yards per attempt, and sack rate — each adjusted for the defenses faced, with garbage time removed — combined with weights chosen by how well each ingredient predicts a quarterback’s future production, then pulled toward average when the sample is thin. It is on a 0–100 scale where 50 is the FBS average. The two numbers disagree most often about quarterbacks who take a lot of sacks (passer rating cannot see them) or who threw a lot of interceptions (mostly noise inside a season). Read how ZPR is built, and the tests it had to pass →

Making predictions honestly

Every projection we publish is logged before the outcome is known, then graded afterward. We keep a public track record so the accountability is real, not decorative.

Sources

Game data and schedules: College Football Data (CFBD). Program ratings: SP+, Elo, and SRS. Recruiting: 247Sports composite via CFBD. Prediction markets: Polymarket and Manifold Markets. Fan community data: Reddit (via the Arctic Shift archive), Bluesky, YouTube comments, and independent team message boards. Team news: Google News and team beat publications. Podcast transcripts: Locked On network.

Game data, recruiting, and prediction markets update daily. Community signals and editorial cards update weekly.

For the live technical detail behind the fan-intelligence pipeline — per-source coverage counts, confidence-tier rules, and divergence leaderboards — see the fan-intelligence methodology page, and for a live last-run-per-source status table, see data freshness.