Publish well ahead of the season, typically weeks to months before the peak, so Google has time to crawl the page, index it, and let it accrue signals and settle into position before demand actually arrives. The working frame is lead-time for indexing and settling, not a single fixed date, and you should lean early rather than cut it close. Newer domains and more competitive seasonal terms need even more runway, so when in doubt, give yourself more time, not less.
The reason early publishing matters is that ranking is not instant. After you publish, the page has to be discovered and crawled, then indexed, then evaluated against the competition, and it usually goes through a period of testing and movement before it stabilizes. All of that takes time, and a page published the week the season starts is still working through that process exactly when searchers are already looking. By then the demand has peaked and you have missed the window the page was built for, even if it eventually ranks well afterward.
Publishing ahead lets the page do its settling during the quiet run-up instead of during the rush. With weeks or months in hand, it can get indexed, ride out its early volatility, gather whatever links and engagement it earns, and be in a stable, trusted position by the time interest climbs. The exact lead time is a judgment call rather than a number to memorize, because it depends on how competitive the term is and how quickly your domain tends to get pages indexed and ranking. Treat any specific span as a working guide worth confirming against how your own site behaves.
The practical move is to publish seasonal pages weeks to months ahead of the peak, biasing toward the early end. Map backward from when demand starts, give the page enough runway to be indexed and settled before that, and add extra time if the domain is newer or the term is contested. Get it live early and let it ripen, so it is ready and ranking the moment searchers show up rather than still finding its footing.