Build a Seasonality Adjusted Forecast

This guide shows you how to build a seasonality adjusted forecast in Model Reef by using scheduling, drivers and timing rules to represent recurring seasonal patterns in revenue and costs.

Before you start

You should have:

  • A baseline model with non seasonal drivers.

  • Historical data that shows a clear seasonal pattern, if available.

  • An understanding of how drivers and schedules work.

If needed, review:

  • Drivers and Variables Overview

  • Build a Unit Economics Model

What you will build

  • Seasonality drivers that represent monthly or quarterly patterns.

  • Revenue and cost variables that apply these patterns to baseline assumptions.

  • A forecast that shows peaks and troughs aligned with the real business cycle.

  • A structure that can be re used across years and scenarios.

1

Identify seasonal patterns

Examine historical or market data to identify:

  • Which metrics are seasonal:

    • Revenue.

    • COGS.

    • Marketing spend.

    • Staff or overtime costs.

  • The pattern shape, for example:

    • Strong Q4 sales.

    • Slower summer months.

    • Seasonal spikes in certain product lines.

Quantify this as a set of multipliers if possible, such as percentage of annual volume by month.

2

Create seasonality drivers

In the Data Library, create Modifier drivers for seasonality, for example:

  • Seasonality - Revenue.

  • Seasonality - COGS.

  • Seasonality - Marketing.

For each driver:

  • Set values per period such that the average is one point zero (or that the sum for a year matches a chosen total).

  • For example, if December is twice as busy as June, the December multiplier may be around two while June is below one.

These drivers represent relative intensity by period rather than absolute levels.

3

Apply seasonality to baseline drivers

Identify baseline drivers for:

  • Units.

  • Revenue per unit.

  • Spend per period.

For each affected variable:

  • Modify the formula to multiply the baseline driver by the relevant seasonality driver, for example:

Seasonal revenue formula (conceptual)
Seasonal Revenue = Baseline revenue driver × Seasonality - Revenue driver
  • Ensure that the seasonality driver uses the same periodicity as the model.

Now the model applies higher or lower values in specific periods while preserving the overall level over a full cycle.

4

Use scheduling for irregular events

For large, irregular seasonal events that are not simply pattern based, such as:

  • Annual conferences.

  • Major product launches.

  • One off campaigns.

You can use scheduled variables:

  • Create Revenue or Opex variables with schedules that fire in specific periods.

  • Combine these with the seasonality adjusted baseline variables if needed.

This lets you blend regular seasonality with occasional spikes.

5

Review seasonality effects in outputs

Open:

  • P&L to see seasonal revenue and cost patterns.

  • Cash Waterfall to see cashflow impact of seasonality and working capital.

  • Charts that display metrics across months or quarters.

You should see:

  • Peaks in high season periods.

  • Troughs in low season periods.

  • Working capital swings where seasonal volume interacts with payment terms.

Adjust seasonality drivers if the size or shape of the pattern looks unrealistic.

6

Re use seasonality drivers across scenarios

Because seasonality is often structural rather than scenario specific, you can:

  • Keep similar patterns in multiple models.

  • Only adjust seasonality drivers when business structure changes materially.

When you duplicate models for scenarios, the seasonality patterns come along with them, simplifying scenario creation.

Check your work

  • Seasonality drivers average out to a sensible pattern over a year.

  • Revenue and cost variables show seasonal patterns consistent with history or strategy.

  • Working capital and cashflows show plausible seasonal strain or release.

  • Seasonal adjustments are clearly documented and easy to find in the model.

Troubleshooting

chevron-rightSeasonality seems too extremehashtag

Re scale multipliers to bring peaks and troughs closer to the baseline level, or base them on a more robust historical sample.

chevron-rightSeasonality does not appear at allhashtag

Confirm that the variables use the seasonality drivers in their formulas and that the drivers are non constant over the year.

chevron-rightDifficult to explain to stakeholdershashtag

Build a simple chart that compares the baseline pattern to the seasonal pattern to make the intuition clear.

Last updated