Seasonality in eCommerce SEO: Forecasting Traffic with Time Series Models

Key takeaways

  • Festivals move. Diwali is 8 November in 2026 and 29 October in 2027, so comparing October with last October will mislead you.
  • Search Console only keeps 16 months. Export it, or last year’s festive season quietly disappears.
  • Line up festivals, not months, before going near a model.
  • Prophet copes with moving holidays if you hand it the dates.
  • Festive pages need to go live weeks early. Google won’t rank them overnight.

Any store owner in India will tell you Diwali matters. Obviously. Ask them when their own traffic starts going up and you mostly get a shrug and “around Navratri?” That gap costs money. A gifting store in Jaipur might see searches lift three weeks before Diwali while a lehenga label barely notices Diwali at all and peaks in the wedding months (November, then February again), and if your festive collection page goes live the same week people are already unwrapping things, you’ve basically built it for next year. Most of what’s written on this topic is American. Black Friday this, Christmas pyjamas that. We’ve written this one for stores here, where the big festivals land on a different date every year, and we start with a spreadsheet long before anyone mentions Python.

Why does seasonality matter more for Indian stores?

The dates won’t sit still. Diwali runs on the lunar calendar and lands on 8 November in 2026, then 29 October in 2027. Raksha Bandhan wanders too. So does Navratri, and Holi. Put this October next to last October and you can easily see a 40% drop that’s nothing more than Diwali sliding into November and dragging your peak along with it.

Plenty of seasons are festival-free. Wedding months. Board exams for stationery shops and coaching centres. Monsoon is raincoat and waterproofing season, May is coolers. Then the marketplace sales. Amazon and Flipkart hoover up shoppers for a week and your own site goes weirdly quiet right when demand is highest, which spooks plenty of owners into thinking something’s broken.

What data do you need?

One year, minimum. Two’s better. Search Console is the obvious place to start, except it only holds 16 months of performance data. Last Diwali starts dropping off the end of that window sometime next spring unless somebody on the team remembers to save it before it goes. A monthly export into a Google Sheet or BigQuery is enough. Set it up once and stop thinking about it.

GA4 gives you sessions and revenue on top. Google Trends is the sanity check, the thing that tells you whether a dip was you or the whole market, because if interest in “silver jewellery” fell 30% across India the same week your clicks did, nobody penalised you. People just stopped searching.

What’s the simplest way to forecast seasonal traffic?

Forget months. Pull last year’s daily clicks into a sheet and mark Diwali and Dhanteras plus whatever else your category lives on. Then line up “three weeks before Diwali” this year against the same three weeks last year. Adjust for growth. If normal weeks are running 20% up on last year in your data, a festive week up 20% is about where it should be, and one up 5% is worth a closer look.

That’s the whole method. Most small stores never need more.

When is a time series model worth it?

When there’s money riding on the number. Think a few years of data across dozens of categories, with someone deciding how much stock to order or how many people to bring on for the October rush. Below that, stick with the sheet.

ARIMA and its seasonal sibling SARIMA are the textbook picks and they’re fine when patterns repeat on fixed dates. Indian festivals don’t. So we tend to start with Meta’s free Prophet, which breaks a series into an overall trend and repeating yearly or weekly patterns, then layers holiday effects on top. Tell it Diwali moved and it’ll believe you.

How do you use Prophet with Indian festivals?

Feed it a holidays table. Prophet’s documentation on holiday effects wants every occurrence of the holiday listed (past and future) and lets you stretch each one with a window so the run-up days count as well. For a gifting store, 21 days before Diwali is a decent first guess.

import pandas as pd
from prophet import Prophet

# df has two columns: ds (date) and y (daily organic clicks)
diwali = pd.DataFrame({
    "holiday": "diwali",
    "ds": pd.to_datetime(["2025-10-20", "2026-11-08", "2027-10-29"]),
    "lower_window": -21,
    "upper_window": 2,
})

m = Prophet(holidays=diwali)
m.fit(df)
future = m.make_future_dataframe(periods=180)
forecast = m.predict(future)

Then keep adding rows. Rakhi matters for gifting. Karva Chauth for jewellery, and the two wedding windows for ethnic wear. Prophet does ship a built-in country holidays option, but we’d still keep our own list, because no official calendar knows your lehenga sales go mad in the second week of February.

How do you turn a forecast into an SEO plan?

Count backwards from the peak. Google needs time to find a new page and decide where it ranks, so if your clicks start climbing three weeks before Diwali then the festive collection and gifting guides want to be live six to eight weeks out. Pages that already rank just need a refresh about a month ahead. New year in the title. This season’s products and prices in, plus whatever people were searching for last time that the page didn’t answer.

Same URL every year, please. A /diwali-gifts/ page that’s been live since 2022 and updated each autumn has links and history behind it, whereas /diwali-gifts-2026/ starts from nothing and gets thrown away in December. Our Diwali 2026 ecommerce checklist has the last-minute fixes, and the jewellery seasonal SEO post walks through one category in detail.

What do people get wrong about seasonal forecasts?

Mostly they compare the wrong weeks. October against October when the festival moved, and then someone panics about a penalty that never happened, when a quick look at Google Trends would have settled it in about two minutes flat.

The other big one is trusting a model after the history broke. If the site migrated platforms or got redesigned last year, the old numbers describe a different site, and the forecast inherits that problem without telling you. A few more we see:

  • Nobody exported Search Console, so last year’s festive data is gone.
  • Festive pages published a week before Diwali, far too late to rank.
  • A forecast built once and never re-run after a big core update.

Want it built for you? Our ecommerce SEO team in Jaipur sets up the forecast and the content calendar before each festive season.

Picture of Pooja Garg

Pooja Garg

Pooja Garg is the founder of Sky Storm Digital, a creative digital marketing agency dedicated to helping brands grow through strategy, storytelling, and design. With a passion for blending creativity and data-driven insight, Pooja writes about digital marketing trends, brand building, and the ever-evolving online landscape.

When she’s not crafting campaigns, she’s exploring new ways to connect creativity with technology.

What do you think?
Leave a Reply

Your email address will not be published. Required fields are marked *

What to read next