Field NotesSports Analytics
July 21, 2026·12 min read

The small-data problem: why college sports AI can't just copy the pros

Pro sports analytics runs on oceans of data. A college season gives you twelve games, a roster that dissolves every year, and no time to wait for statistical significance. Building AI that works here is a different discipline — and a more interesting one.

AISports AnalyticsSmall DataStatisticsCollege Athletics
The small-data problem: why college sports AI can't just copy the pros — hero visualization

Most of what people know about sports analytics comes from environments drowning in data. Major League Baseball plays 162 games per team and has charted nearly every pitch for decades. The NBA plays 82. The NFL plays only 17, but compensates with density: RFID tags in every player's shoulder pads capture location ten times per second and generate more than 200 new data points on every play of every game.

Then there is college football: twelve regular-season games. Against wildly uneven opponents. With a roster that is guaranteed — by rule, not by chance — to be a different roster within a few years.

Working in analytics inside a college athletic department teaches you something the textbooks tend to skip: almost every famous technique in sports analytics was developed in a big-data environment, and most of it degrades badly when you carry it into a small one. The models don't announce this. They still produce numbers. The numbers just quietly stop meaning what you think they mean.

This note is about what actually changes when the data gets small, why the naive fix — "just apply machine learning" — makes things worse, and what a defensible small-data practice looks like.

Twelve games is not a sample. It's an anecdote with a schedule.

Start with the arithmetic, because it is brutal and nobody escapes it.

Imagine a team whose true quality is fixed: it wins exactly 60% of its games against average competition, forever. No injuries, no development, no luck in recruiting. The only randomness is the bounce of individual games.

Over 162 games, that team's observed win rate lands within about ±4 percentage points of the truth most of the time. Over 12 games, the standard deviation of its observed win rate is about 14 percentage points. Run the binomial math and a true-60% team finishes .500 or worse roughly a third of the time in a 12-game season. The same team, over an MLB-length season, finishes below .500 less than 1% of the time.

Flip it around and it gets worse: a genuinely average team — a true coin flip — wins 8 or more of its 12 games about one season in five. That's a team that is mediocre producing a record that looks like a program on the rise.

Don't take my word for it. Run the seasons yourself:

Interactive · The Season Lottery
True team quality60% — wins 60% of games, forever
Season length
Simulating seasons…
0%25%50%75%100% observed win rate
Every bar is 2,000 simulated seasons of a team whose true quality never changes. The gold bar marks the truth. Shorten the season and watch the truth get harder to see.

This is the whole small-data problem in one picture. The record — the most public, most discussed, most career-deciding number in the sport — is substantially a lottery ticket at n=12. Any model trained to predict or explain it inherits that noise, and any evaluation based on "did we predict the record?" is partly grading the lottery.

What one season can and cannot prove

The simulator shows the spread. Here is the same idea framed as a question every analytics staff eventually gets asked: after a full season, how sure are we about how good this team actually is?

Interactive · What One Season Can Prove
Take a team whose true quality is 60%. After one full season, where could its measured win rate plausibly land? Click a league.
In College Football, a true-60% team's single-season record lands anywhere from 32% to 88% (95% range). That interval spans everything from "fire the coach" to "conference title contender" — from the same underlying team.
95% interval for the observed win rate of a true-60% team, one season, binomial noise only. Real college data is noisier than this: schedules are unbalanced and opponents vary wildly.

The uncomfortable answer for college football: one season's record, taken alone, cannot reliably distinguish a conference contender from a middling team. The 95% range for a true-60% team's observed record spans roughly 32% to 88% — which, in the language of message boards, spans "fire everyone" to "extend the coach."

And this is the optimistic version. The binomial math assumes every game is an identical, independent trial against equal competition. Real college schedules are unbalanced by design — 136 FBS programs, and a non-conference slate can be three tune-ups and a ranked opponent — so the raw record carries even less information than the interval suggests. This is exactly why serious college models lean so heavily on opponent adjustment and point-level data rather than wins: the win column is the noisiest possible summary of a season.

Here's the version of this question that decides careers: two programs, one genuinely better. How long until the win column proves it?

Interactive · The Evidence Calculator
Two programs, fixed true quality, equal schedules. How many games until you can be 95% sure the better one shows it in the win column?
Team A60% true win rate
Team B50% true win rate
Games required
133
In college seasons
11.1
After 12 games
69%
chance the better team even looks better
VerdictThat is 2.2 entire college careers. Wins alone will never settle it — you need richer data per game.
One-sided 95% confidence via normal approximation; a college career is counted as ~60 games across five seasons. Equal schedules assumed — real college schedules make it harder, not easier.

Sit with the default setting for a second. A true-60% program against a true-50% program — a real, meaningful gap, the difference between a bowl team and a middling one — needs on the order of 130+ games of evidence before the record separates them with 95% confidence. That is eleven college football seasons. No player's career lasts that long. Most coaching tenures don't either. For realistic quality gaps, the record cannot settle the argument within the lifetime of the thing being argued about — which is why the entire discipline comes down to extracting more evidence per game, not waiting for more games.

The sample doesn't just stay small. It dissolves.

Small n would be manageable if you could accumulate it. Baseball's early sabermetric revolution worked partly because players produce stable, comparable statistics for a decade or more. You could wait for the data.

College sports removes that option structurally. Eligibility windows cap every career. The transfer portal moves rosters wholesale: in the 2026 cycle, more than 3,350 FBS players — roughly a quarter of all FBS players — entered the portal. Coaching changes rewrite schemes, which quietly redefines what every historical data point even meant — a "deep shot" in one offense is not a "deep shot" in another.

Interactive · The Dissolving Sample
Your Year-1 roster, seen from…
~100% of the original roster still producing data
Season one: every snap adds to a coherent dataset about this roster.
Illustrative retention pattern for a college roster's core contributors. Pro teams churn too — but only college guarantees that every single player exits within five years.

This is the part that breaks intuition imported from pro sports. An NFL franchise churns rosters too, but the entities in its data — teams, schemes, veteran cores — persist long enough to model. In college, "Toledo's offense" is not one thing across four seasons. It's four related but distinct systems that happen to share a stadium. Pool that history naively and you're training on a team that no longer exists.

The practical consequence: in college analytics, stationarity is the exception, not the default. Every modeling decision has to answer the question "is this pattern a property of the program, or a property of nineteen guys who just left?"

Why "just use machine learning" makes it worse

Here's the trap I think is most common, because I find it tempting myself: when the data is disappointing, reach for a more powerful model.

The logic of modern machine learning runs in exactly the wrong direction for this setting. Flexible models are data-hungry — their advantage over simple ones grows with sample size and shrinks, then inverts, as samples get small. Hand a gradient-boosted model or a neural network a few hundred team-seasons with dozens of features, and it will do what it's built to do: fit the noise beautifully. You'll see excellent backtests, because with that many degrees of freedom against that little data, the model can memorize luck. Then it meets next season — new roster, new scheme, new luck — and falls apart.

Small data doesn't just weaken machine learning. It weakens validation, which is more dangerous. With twelve games a season, your holdout set is a handful of noisy outcomes, so even the safeguard that's supposed to catch overfitting is itself a small sample. It is entirely possible — routine, actually — to be wrong about being right.

The mark of expertise in this field is not knowing the fanciest model. It's knowing the smallest model a dataset can honestly support, and having the discipline to stop there.

What actually works when n = 12

The good news: small-data sports analytics is not a resigned shrug. It's a real methodology with real tools — most of them older, humbler, and better-tested than the deep learning stack. These are the six that carry the most weight in practice:

Interactive · The Small-Data Playbook
Twelve games is a hopeless sample — but those twelve games contain roughly 800 offensive snaps, each with down, distance, personnel, formation, and outcome. Dropping one level of granularity turns n=12 into n=800. Two levels (player-play interactions) turns it into thousands. Most of the "small data problem" in sports is really a unit-of-analysis problem.
None of these tactics require more data to exist. They require taking the data you have seriously.

The unifying theme is that information has to come from somewhere. If it can't come from volume, it has to come from structure: smaller units of analysis, sensible priors, pooled strength across comparable teams, context that makes each observation more informative, and honest intervals where the data runs out. None of this photographs as well as a neural network. All of it survives contact with a new season better.

The data is open. The context isn't.

One objection is worth taking seriously: college football's public data ecosystem is actually excellent, and anyone who wants to work on these problems can start today, for free.

CollegeFootballData.com offers a free API covering games, drives, play-by-play, recruiting composites, and betting lines across all of FBS. The cfbfastR package (part of the open-source sportsdataverse project) wraps it into tidy, analysis-ready play-by-play. On the pro side, nflverse publishes NFL play-by-play back to 1999 — which makes it the perfect control group: run the same model on both ecosystems and watch how much of its accuracy was quietly borrowed from the NFL's sample sizes.

So access to rows is not the bottleneck anymore, and pretending otherwise is a decade out of date. The bottleneck is what the rows can't contain. Public play-by-play knows a pass fell incomplete; it does not know the receiver ran the wrong route, that the quarterback checked out of the called play, or that the left tackle was playing hurt. Everyone in the country has the same open data about your team. Almost nobody has the labels that explain it.

Which is exactly where a college analytics staff should look for its edge.

The quiet advantage of being small

That edge is the counterintuitive upside, and it's the reason I find this environment more interesting than the data-rich one.

When data is scarce, proximity to the data becomes the moat. A national model — trained on every team, tuned to the average — cannot know that your left tackle played through an injury in weeks four through six, or that the new coordinator's route tree makes last year's tags misleading. Inside a program, you know. Every film session, every correction from a coach, every mislabeled play you fix is domain-specific ground truth that exists nowhere else — and in a small-data regime, a few hundred verified, context-rich labels can outweigh a public dataset a thousand times larger.

Big-data analytics rewards whoever has the most compute pointed at the same shared feeds. Small-data analytics rewards whoever is closest to the truth-generating process. That is a game a college athletic department can actually win.

The line I would draw

If a method needs thousands of games to say something reliable, it belongs to the pros — using it on a college season is decoration, not analysis.

If a method is honest about uncertainty, borrows strength intelligently, and gets more out of each game instead of demanding more games, it belongs here.

The small-data problem isn't the obstacle to doing AI in college sports. It is the actual job. The teams that internalize that will trust their numbers for the right reasons — and be appropriately suspicious of them at exactly the right times.