How the forecast works
The price forecast is a simple regression fitted to Mississippi State home games since 2023. It uses the cheapest resale ticket on ticketdata.com, the get-in price, compared with the rest of that season. Relative price alone performed better in our historical comparisons than adding opponent ratings. The same price formula is refit as data is updated; the schedule-only model remains the fallback when a price is unavailable.
What goes in
One price variable. The date the price was observed matters: today's price is not necessarily the price near kickoff.
- Get-in price, relative to the season
- The cheapest resale ticket on ticketdata.com, compared with that season's median price on a log scale. All listed home games contribute to the reference. A doubling relative to that reference has the same effect in any season.
How much each variable weighs
The price model starts from an average training game, 53,037 fans, and moves that number by each variable's weight times how far the game sits from average. The bars show the full swing each variable can produce: its weight times the gap between the lowest and highest value seen in training.
- Get-in price, relative to the seasonweight 6,432, give or take 738 +18,248 seats
The weight applies to the natural log of price divided by the season reference. Doubling a game's price relative to that reference adds about 4,458 predicted attendees before the capacity cap. If every price rises by the same percentage, the reference rises too and the forecasts stay the same.
The schedule-only fallback
When a game has no listed get-in price, or the season has fewer than three priced games, the forecast uses a model with the opponent variables only. Its average game is 52,103 fans.
| Variable | Price model weight | Schedule-only weight |
|---|---|---|
| Average game | 53,037 | 52,103 |
| Get-in price, relative to the season | 6,432 ± 738 | not used |
| Opponent ranked in the AP Top 25 | not used | 8,048 ± 1,990 |
| Opponent Elo rating | not used | -10.71 ± 5.37 |
| Opponent SP+ rating | not used | 186 ± 85.12 |
How accurate it is
Each game's attendance was held out while fitting the other games (leave-one-out). These are retrospective comparisons using historical prices and season references, not a record of forecasts made before kickoff. RMSE gives extra weight to large misses; typical miss is mean absolute error. R² compares squared error with the variation around the sample mean.
| Model | Games | RMSE | Typical miss | R² |
|---|---|---|---|---|
| Season mean (all games) | 23 | 4,698 | 3,602 | 0.01 |
| Schedule-only (all games) | 23 | 3,270 | 2,724 | 0.52 |
| Season mean (games with a price) | 18 | 5,369 | 4,571 | -0.19 |
| Raw log-price only (games with a price) | 18 | 3,652 | 3,063 | 0.45 |
| Relative price only (games with a price) | 18 | 2,200 | 1,567 | 0.80 |
| Schedule-only (games with a price) | 18 | 3,698 | 3,260 | 0.44 |
| Price model (games with a price) | 18 | 2,200 | 1,567 | 0.80 |
The track record shows every one of those games.
How well it transfers between seasons
The price formula stays fixed while its weights are fitted on other seasons. The forward test uses earlier seasons only. Both tests still use archived prices and full-season references, so they do not establish accuracy weeks before kickoff.
| Test | Games | RMSE | Typical miss |
|---|---|---|---|
| Each season held out | 18 | 2,327 | 1,679 |
| Earlier seasons only | 10 | 2,535 | 1,760 |
Where the price model misses
| Season | Games scored | RMSE | Average over / under | Inside range |
|---|---|---|---|---|
| 2023 | 8 | 1,938 | -1,146 | 7 / 8 |
| 2024only 2 recorded prices | 2 | 4,458 | +4,374 | 0 / 2 |
| 2025 | 7 | 1,479 | -595 | 7 / 7 |
| 2026 | 1 | 1,425 | +1,425 | 1 / 1 |
Positive values mean the forecast was too high. Sparse historical seasons remain in training and in these comparisons, even though their price references are less reliable. New forecasts require at least three listed prices.
How the variables were chosen
The production price model uses relative log-price alone. The comparisons below include raw price and the former combinations with opponent ratings, but they do not automatically change the production formula. The schedule-only fallback separately selects up to three schedule variables by leave-one-out error, preferring a smaller subset within 5% of the best.
| Candidate | Leave-one-out RMSE |
|---|---|
| opponent ranked in the ap top 25 + opponent elo rating + opponent sp+ rating | 3,270 |
| opponent ranked in the ap top 25 | 3,529 |
| opponent sp+ rating | 4,193 |
| sec game | 4,213 |
| power-conference opponent | 4,262 |
| season-relative price | 2,200 |
| get-in price | 3,652 |
| opponent ranked in the ap top 25 + opponent elo rating + opponent sp+ rating + season-relative price | 2,637 |
| opponent ranked in the ap top 25 + opponent elo rating + opponent sp+ rating + get-in price | 3,357 |
Where the data comes from
- Get-in prices from ticketdata.com, recorded by hand. Historical prices came from the past-events table and have unknown observation dates. Each upcoming game shows its latest recorded price and observation date; price and pregame forecast history is now preserved for future evaluation.
- Schedule, attendance, AP polls, Elo and SP+ from CollegeFootballData, refreshed daily during the season.
- Missing attendance can be filled from a documented official source. Southern Miss 2023 uses the official postgame attendance of 53,855.
- Every number on this site is available as one JSON file: games, forecasts, weights and accuracy.
What to keep in mind
- Small sample: a couple of dozen games across three historical seasons. These are retrospective tests, not forecasts recorded before kickoff.
- The target is announced attendance, not ticket scans or ticket sales. Predictions are capped at 60,417; nominal 80% coverage is conditional on model assumptions and has not been established for weeks-ahead forecasts.
- Historical prices were collected from the past-events table; their observation dates are unknown. Current prices may be weeks before kickoff, and price age matters.
- The season reference uses all available prices, including upcoming games. Historical final-price references were not necessarily available on the forecast date. A common percentage change in every price leaves relative-price predictions unchanged.
- The price model specification is fixed to relative log-price alone. Alternatives are diagnostics and do not automatically change production. It was chosen after examining this small dataset, so its retrospective scores may still be optimistic.
- schedule-only features are selected using the same leave-one-out scores reported. Its opponent ratings are collinear and cached SP+ values are season-level, not verified pregame snapshots.
- Live price model forecasts require at least 3 priced games. Sparse historical seasons are retained in training and shown separately in diagnostics rather than dropping difficult outcomes; their season references are less reliable.
- Sellout odds are an uncalibrated model probability of reaching 60,417 announced attendees, not a verified probability that ticket inventory sells out.
Questions people ask
Why does the ticket price matter more than who Mississippi State is playing?
Resale prices reflect demand for a game and can respond to the opponent, team record and kickoff time. In the historical sample, season-relative price alone predicted attendance better than adding opponent ratings. Prices do not measure every source of demand, and this relationship is not proof that raising prices increases attendance.
What does the 80% range mean?
It is a prediction interval. If the model's assumptions hold, the announced crowd lands inside that range four times out of five. It includes game-to-game variation and is wider for unusual price ratios. Small samples, price changes and future team performance make that coverage uncertain, especially weeks before kickoff.
Why is every forecast capped at 60,417?
That is the upper attendance figure used in the training data; official capacity is listed a little lower. A linear model can produce numbers above it, so the forecast and the range are clipped. The associated sellout percentage is a model estimate, not a calibrated measure of ticket inventory.
How often does the forecast change?
Every morning a job refreshes the schedule and ratings from CollegeFootballData, retrains the model and rebuilds this site. Get-in prices are pasted in by hand, because ticketdata.com blocks automated access; a forecast moves whenever its price is updated.
How good is it, honestly?
On the 18 games with both a price and an attendance figure, the price model's leave-one-out error is 2,200 seats (root mean square), against 5,369 for guessing the season average. That is a small sample; the weights are rough and will shift as games are added.