Attendance and no-show forecasting
The announced attendance figure counts tickets distributed. The turnstiles count a smaller number. This model forecasts both figures for each of the 41 home dates, splits the gap by buyer type, and turns the difference into a staffing plan.
Focus date
Each button is a query against the forecast, so the date it resolves to moves when the levers move.
Levers
Winter severity index
1.00×
Scales each month's severe-weather probability. Weather carries the largest coefficient in the model.
Playoff-race relevance
50 / 100
How much the standings still matter in March. Moves both tickets distributed and the decision to actually go.
Season-ticket share of house
40%
2,400 accounts at roughly 2.6 seats each is about 6,300 seats, near 40% of the average house.
Net per-cap margin
$27
Concessions, merch, and parking margin per scanned attendee — the same $27 default the pricing model uses.
Driver contributions
Log-odds, Tue Dec 15. Base rate 11% before drivers. Right of center raises the no-show rate; left of center lowers it.
Day of week
+0.26
Start time
+0.18
Opponent tier
+0.14
Giveaway / theme night
0.00
Playoff-race relevance
0.00
Severe weather
+0.29
Buyer mix in the house
+0.04
Forecast scanned attendance · per home date
14,242
against 16,421 tickets distributed — the announced figure — in a building that holds 19,070
13.3%
Forecast no-show rate
$2.4M
Per-cap margin lost to empty seats
75%
Seats actually occupied
Distributed against scanned, by month
The two bars are the same inventory counted twice: what left the box office, and what came through the gates. The gap widens through the lake-effect months and closes again in the spring.
October
5 dates
12.0%
9,938 empty
November
7 dates
12.5%
14,094 empty
December
6 dates
14.1%
13,894 empty
January
6 dates
15.2%
14,838 empty
February
5 dates
15.1%
12,542 empty
March
8 dates
12.7%
16,436 empty
April
4 dates
10.9%
7,577 empty
tickets distributedforecast scanned
One date, decomposed · Tue Dec 15, 8:00 PM
Each driver is added to the log-odds in turn; the effect column is the change in forecast no-show rate at that step, so the steps are not interchangeable. Tier C opponent, recent expansion club, no giveaway.
| Driver | This date | Coefficient | Effect | Running rate |
|---|---|---|---|---|
| Base no-show rate | league-typical neutral date | −2.09 | — | 11.0% |
| Day of week | Tue — weekday night | +0.26 weekday | +2.8 pts | 13.8% |
| Start time | 8:00 PM | +0.18 after 7:30 | +2.3 pts | 16.1% |
| Opponent tier | Tier C — recent expansion club | +0.14 | +2.0 pts | 18.1% |
| Giveaway / theme night | none | 0.00 | 0.0 pts | 18.1% |
| Playoff-race relevance | index 50 | −0.70 × (index − 50) / 100 | 0.0 pts | 18.1% |
| Severe weather | 26% chance | +1.10 × P(severe) | +4.6 pts | 22.7% |
| Buyer mix in the house | 40% season-ticket seats | +0.45 member / −0.30 single | +0.6 pts | 23.3% |
13,757
Tickets distributed
10,545
Forecast scanned (55% of capacity)
$86,707
Per-cap margin at risk
The twelve dates most likely to scan short
Ranked by forecast no-show rate. These are the dates worth a targeted resale push, a midweek reminder to members, or a lighter concessions call.
| Date | Opponent | Start | P(severe) | Distributed | Scanned | No-show | At risk |
|---|---|---|---|---|---|---|---|
| Tue Dec 15 | Tier C · recent expansion club | 8:00 PM | 26% | 13,757 | 10,545 | 23.3% | $86,707 |
| Tue Feb 9 | Tier C · bottom-five opponent | 7:00 PM | 30% | 14,088 | 11,122 | 21.1% | $80,085 |
| Tue Jan 26 | Tier C · bottom-five opponentPoster night | 7:30 PM | 34% | 14,624 | 11,722 | 19.8% | $78,361 |
| Thu Jan 7 | Tier B · top-ten offense | 7:00 PM | 34% | 16,372 | 13,223 | 19.2% | $85,009 |
| Thu Feb 4 | Tier B · conference opponent | 7:00 PM | 30% | 16,707 | 13,604 | 18.6% | $83,772 |
| Wed Mar 3 | Tier C · recent expansion club | 7:00 PM | 14% | 13,434 | 10,971 | 18.3% | $66,505 |
| Mon Mar 29 | Tier C · recent expansion club | 7:00 PM | 14% | 13,074 | 10,676 | 18.3% | $64,722 |
| Thu Nov 12 | Tier C · bottom-five opponent | 7:00 PM | 10% | 13,908 | 11,446 | 17.7% | $66,464 |
| Wed Jan 20 | Tier C · bottom-five opponentYouth hockey night | 7:00 PM | 34% | 14,021 | 11,611 | 17.2% | $65,083 |
| Tue Feb 23 | Tier C · non-conference visitorMilitary appreciation | 7:00 PM | 30% | 15,022 | 12,531 | 16.6% | $67,274 |
| Wed Oct 28 | Tier C · non-conference visitor | 7:00 PM | 2% | 13,697 | 11,440 | 16.5% | $60,938 |
| Tue Mar 9 | Tier B · top-ten offense | 7:00 PM | 14% | 16,242 | 13,627 | 16.1% | $70,620 |
Staffing call · the focus date and the five that follow
Coverage is one concessions associate per 70 scanned attendees, one scanner per 500, one guest-services position per 400. The last column is how many extra positions the announced number would have put on the floor.
| Date | Band | Forecast scanned | Concessions | Scanners | Guest services | vs. announced |
|---|---|---|---|---|---|---|
| Tue Dec 15Tier C | Minimum | 10,545 | 151 | 22 | 27 | +60 |
| Sat Dec 19Tier B | High | 16,142 | 231 | 33 | 41 | +39 |
| Tue Dec 22Tier C | Light | 12,628 | 181 | 26 | 32 | +45 |
| Sat Dec 26Tier A | Full | 17,282 | 247 | 35 | 44 | +34 |
| Fri Jan 1Tier A | Full | 17,137 | 245 | 35 | 43 | +37 |
| Thu Jan 7Tier B | Standard | 13,223 | 189 | 27 | 34 | +58 |
Across all 41 dates the difference is 1,676 associate-shifts, about $250,562 at a loaded $23 an hour over a 6.5-hour call. Not all of it is capturable: stands carry minimum crews and call-in rules are contractual. Treat it as the size of the opportunity rather than a savings target.
Scan rate is also the renewal signal
The renewal model’s largest coefficient is seat utilization, at +2.30 per unit of scan rate, centered at 50%. That makes this forecast an input to next spring’s renewal book as well as tonight’s staffing call.
Season-ticket seats
already paid, no marginal cost to skipping
18.5%
Single-game & secondary
bought for a specific night
9.8%
Blended house
40% member seats
13.3%
At the current settings the member base scans 81.5% of its seats, which carries +0.72 in log-odds and implies a 92.1% renewal rate against the renewal model’s 85% baseline. At that operating point every ten points of member scan rate is worth about 1.7 points of renewal probability. 7 of the 41 dates forecast member scan below 75%. The renewal model scores an account on its season scan rate rather than on any single night, so no one date decides anything, but an account that skips ten winter weeknights lands in the 60–80% utilization cohort, where projected renewal sits well below the top band.
Reading the model
- 01
The slate distributes 673,261 tickets and scans 583,942. The 89,319 seats that go unused forgo $2.4M of per-cap margin at $27 a head — margin on inventory the club has already sold and cannot collect against.
- 02
Season-ticket seats are forecast to no-show at 18.5% against 9.8% for single-game and secondary seats. The member has already paid, so skipping a Tuesday in February costs nothing at the margin. At 40% of the house, member seats produce 56% of the empty ones.
- 03
December through February hold 17 of the 41 dates (41%) and 46% of the empty seats. Tue Dec 15 is the worst single date at 23.3% — 13,757 distributed, 10,545 forecast through the gates.
- 04
Staffing to tickets distributed rather than to forecast scans puts 1,676 extra associate-shifts on the floor across the season, roughly $250,562 at a loaded $23/hr over a 6.5-hour call.
Method
The 41 home dates are generated once from a seeded draw over the real 2026-27 calendar: each month gets a fixed number of Friday-to-Sunday dates and weeknights, spaced at least a day apart, with Thanksgiving and Christmas dark. Opponent tiers and the ten giveaway nights are allocated within each month rather than across the whole season, so marquee dates spread over the calendar and promotions land on each month’s weakest inventory. That constraint matters: if the draw decides month composition, one month lands the good slate and the weather signal disappears under scheduling noise. Tickets distributed is a demand index over tier, day of week, start time, promotion, and holiday timing, scaled by one constant solved by bisection so the baseline slate averages the club’s reported 16,421.
No-show is a seat-level logistic model. A base rate of 11% is moved by weekday nights, late starts, opponent tier, giveaways, playoff-race relevance, and severe weather, which carries the largest coefficient in the set. Tier effects are centered on the 8/16/17 tier split so the base rate stays interpretable. Season-ticket seats and single-game seats then take different intercepts — +0.45 and −0.30, centered on a 40% member house — so the blended rate is a mixture of two populations rather than one curve. Because a mixture of sigmoids is not itself a sigmoid, the mix effect in the sidebar is read back off the blend rather than looked up as a coefficient.
Weather is handled as a probability rather than a coin flip: every date carries its month’s chance of a materially bad night, and the forecast is the expected value across those outcomes. That is the right form for a staffing plan built in September and the wrong form for the call made at four o’clock on game day, which needs an actual forecast and a live sales feed. In production this model would train on several seasons of scan logs joined to distribution records, add secondary-market listing velocity and a same-day weather feed, and publish a per-date scan forecast on a rolling horizon, with the member-level version routed to the renewal model rather than to operations.
The schedule, the demand index, and the no-show coefficients are simulated (seeded, stable across visits) and calibrated to the club’s published 2025-26 average attendance and capacity. Coefficients are illustrative rather than fitted; a real model would be estimated from turnstile data and validated on a held-out season.