Navigator
Startup
Analytics Fundamentals

Seasonality: Understanding Your Annual Business Rhythm

Why your revenue goes up and down predictably—and how to plan around it instead of panicking.

Navigator Team
seasonality forecasting planning annual patterns

Every January, your revenue is down 30% compared to December.

You panic. You think the business is broken.

Then February bounces back. March is even better.

By April, you forget that January was weak. You’re back to normal.

Then October hits. Revenue is down 20%. Again, you panic. Again, it recovers.

This pattern repeats every year. But you’re surprised every time.

This is seasonality.

What Is Seasonality?

Seasonality is predictable variation in your metrics based on time of year.

It’s not random. It’s not your fault. It’s just the calendar.

Examples:

E-commerce:

  • November-December (holiday shopping): Revenue up 200-300%
  • January (post-holiday): Revenue down 40%
  • Back-to-school (August-September): Revenue up 50%
  • Summer (June-July): Revenue down 20%

B2B SaaS:

  • Q4 (budget season): New deals spike (customers spending annual budgets)
  • Q1 (post-holiday): Slower deal flow
  • Summer (June-August): Deal flow down (people on vacation)
  • Fall (September-November): Deal flow normalizes

Fitness industry:

  • January (New Year’s resolutions): Highest signups
  • June (summer body goals): Second highest signups
  • November-December: Lowest signups

Restaurants:

  • Summer (outdoor dining): Revenue up
  • Winter: Revenue down (fewer people want to go out in cold)

Travel industry:

  • Summer (vacations): Highest demand
  • Winter: Winter vacation spike (holidays and skiing)
  • Spring and fall: Lower demand

How to Detect Seasonality

Look at the same months year-over-year, not month-over-month.

Wrong comparison:

  • December $500k
  • January $350k
  • Conclusion: “January is down 30%. Something’s wrong.”

Right comparison:

  • January 2022: $350k
  • January 2023: $345k
  • January 2024: $360k
  • Conclusion: “January is consistently between $345-360k. This is normal.”

If you have 2+ years of data, you can see the seasonal pattern clearly.

Chart your monthly revenue for the last 2-3 years and overlay them:

2022: |  $350  |  $380  |  $420  |  $450  |  ...  |  $500  |
2023: |  $345  |  $375  |  $410  |  $445  |  ...  |  $510  |
2024: |  $360  |  $390  |  $430  |  $460  |  ...  |  $520  |

You’ll see the pattern. January is always lower than December. June is always lower than May.

How to Plan Around Seasonality

Once you know your seasonal pattern, you plan differently.

Cash planning: If December is always your biggest revenue month, you need extra cash to cover January (when revenue is low) until it bounces back.

Instead of: “We make $400k/month average,” you say: “We make $500k in December, $350k in January, $380k in February.”

Your cash runway isn’t “we have 12 months of cash at $400k burn.” It’s “we have enough cash to get through January without hitting $0.”

Hiring: If you know September-November is busy (enterprise budget season), you staff up in August.

If you know June-August is slow, you don’t hire in July.

You hire ahead of busy seasons and pare back before slow seasons.

Marketing spend: If conversion rate is higher in Q4 (customers want to spend budgets), your CAC is lower. You should spend more on acquisition in Q4.

If conversion rate is lower in June (people are on vacation), your CAC is higher. You should spend less in June.

Forecasting: Instead of assuming next month will be the same as last month, you account for seasonality:

  • Last month: $400k
  • This month normally: 95% of last month (seasonal pattern shows June is 95% of May)
  • Forecast: $380k
  • Reality comes in at $375k (close!)

Without seasonality adjustment:

  • Forecast: $400k (just copy last month)
  • Reality: $375k
  • Conclusion: “Down 6%. Did something break?” (It didn’t; it’s just June)

Quantifying Seasonality

We calculate a Seasonality Index for each month:

Seasonality Index = Average revenue for that month / Overall average revenue

January: $350k average / $425k overall average = 0.82 (January is 82% of average)
December: $500k average / $425k overall average = 1.18 (December is 118% of average)

Now you can forecast:

  • If next January comes, expect $425k average × 0.82 = $348.5k

The Challenge: Extracting Seasonality From Growth

Here’s the tricky part: What if your business is growing?

Your January 2022 revenue: $350k Your January 2024 revenue: $360k

Is January seasonal (lower than average) or is it just that January 2022 was lower because the business was smaller?

You need to extract seasonality from trend growth.

Method:

  1. Calculate month-over-month growth (accounting for overall business growth)
  2. Remove the growth trend
  3. What’s left is seasonality

Example:

  • Jan 2022: $350k
  • Jan 2023: $420k (20% growth)
  • Jan 2024: $500k (19% growth)

If you’re growing 19-20% per year, what should January 2024 be?

  • Expected (with growth only): $420k × 1.19 = $500k
  • Actual: $500k
  • Difference: $0

In this case, January 2024 grew perfectly in line with trend. There’s no additional seasonal weakness.

But if actual was $450k, that’s $50k below trend. That’s a seasonal dip worth noting.

Seasonal Opportunities and Challenges

Opportunities:

Your slow season is an opportunity to prepare for your busy season.

If June is slow, use that time to:

  • Train your team
  • Build new features
  • Run campaigns to set up busy season
  • Do customer success work (reduced customer volume means you have time)

If January is slow, do your annual planning, build your budget, invest in tools.

Challenges:

Cash flow. If you have to pay salaries in January but revenue is down 30%, you need cash reserves.

If you’re a startup with limited cash, January might be the month you run out. Plan for it.

Team burnout. If your busy season is extremely busy (3x normal volume), your team will burn out.

You need to plan for that: Extra hiring, temporary staff, process improvements to handle the volume.

When Seasonality Breaks

Sometimes your seasonal pattern changes.

  • 2020: COVID-19 destroyed traditional seasonality. E-commerce saw huge January spikes (people stayed home shopping) instead of the traditional December peak.
  • 2022: Recession hit B2B. Enterprise budget season (Q4) was weak because companies were cutting spending.
  • 2024: AI drove unexpected demand spikes in sectors that benefited from AI adoption.

When seasonality breaks, your year-over-year comparison doesn’t work anymore.

When you notice the pattern breaking, stop using the old seasonality index. Give yourself time to build a new one (you need at least 6 months of new data).

The Takeaway

Your business has a rhythm. January might always be slower. December might always be stronger. You just need to see it.

Once you see the pattern, you stop panicking every January. You plan around it.

You hire before busy season. You build cash reserves for slow season. You adjust your marketing spend based on seasonal conversion rates.

We help you identify your seasonality, quantify it, and build it into your forecasts so you’re never surprised again.