# Seasonal Index Calculator for Demand Forecasting

> Source: https://netray.co/tools/seasonal-index-calculator
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Free Tools

## Short answer

Calculate the seasonal index for a month from three years of history and apply it to next year's annual forecast to get the monthly forecast.

## Category

supply-chain

## Audience

- Demand planner
- Supply chain manager
- Production planner

## Tool

**Kind:** calculator

**Inputs:**

#### Demand in this month, year 1

**Key:** m1

**Type:** number

**Default:** 1450

**Min:** 0

**Step:** 10

**Unit:** units

#### Demand in this month, year 2

**Key:** m2

**Type:** number

**Default:** 1520

**Min:** 0

**Step:** 10

**Unit:** units

#### Demand in this month, year 3

**Key:** m3

**Type:** number

**Default:** 1580

**Min:** 0

**Step:** 10

**Unit:** units

#### Total annual demand, year 1

**Key:** t1

**Type:** number

**Default:** 12000

**Min:** 1

**Step:** 100

**Unit:** units

#### Total annual demand, year 2

**Key:** t2

**Type:** number

**Default:** 12600

**Min:** 1

**Step:** 100

**Unit:** units

#### Total annual demand, year 3

**Key:** t3

**Type:** number

**Default:** 13100

**Min:** 1

**Step:** 100

**Unit:** units

#### Next year annual forecast

**Key:** next_annual

**Type:** number

**Default:** 13800

**Min:** 0

**Step:** 100

**Unit:** units

**Outputs:**

#### Year 1 ratio to average month

**Key:** r1

**Expr:** m1 / (t1 / 12)

**Format:** decimal

#### Year 2 ratio to average month

**Key:** r2

**Expr:** m2 / (t2 / 12)

**Format:** decimal

#### Year 3 ratio to average month

**Key:** r3

**Expr:** m3 / (t3 / 12)

**Format:** decimal

#### Seasonal index

**Key:** idx

**Expr:** (r1 + r2 + r3) / 3

**Format:** decimal

**Primary:** true

**Description:** 1.00 is an average month. Above 1 is a seasonal peak.

#### Month vs average month

**Key:** vsavg

**Expr:** (idx - 1) * 100

**Format:** percent

#### Spread of yearly ratios

**Key:** spread

**Expr:** max(max(r1,r2),r3) - min(min(r1,r2),r3)

**Format:** decimal

**Description:** A small spread means the pattern is stable across years.

#### Forecast for this month next year

**Key:** month_fc

**Expr:** next_annual / 12 * idx

**Format:** integer

**Primary:** true

**Chart:**

#### Monthly forecast vs next-year annual forecast

**Type:** line

**X:** next_annual

**From:** 6000

**To:** 24000

**Steps:** 19

**Series:**

- month_fc

**Disclaimer:** Run this once per calendar month, then check that the twelve indexes average close to 1.00. Three years is a minimum; use more history if demand is erratic.

## Content

**Intro:** Many manufacturing products sell more in some months than others. A seasonal index measures how much a month sits above or below an average month, so you can spread an annual forecast into months or strip seasonality out of history before fitting a model.

**Sections:**

#### How to use the calculator

**Body:** Pick one calendar month, for example December. Enter demand for that month in each of the last three years, then the total annual demand for the same three years. Enter your annual forecast for next year. The calculator divides each year's month by that year's average month, averages the three ratios to get the index, and multiplies next year's average month by the index to produce the monthly forecast. Repeat for every month, then check that the twelve indexes sum to about 12.

#### The method

**Body:** This is the ratio to average method. For each year, the month's ratio is month demand divided by (annual demand / 12). The seasonal index is the average of those ratios across years. An index of 1.45 means the month typically runs 45 percent above an average month. Dividing actual demand by the index gives deseasonalised demand, which can be used with moving average or exponential smoothing. Multiplying a deseasonalised forecast by the index reapplies the season. Because the method divides by each year's own average, it controls for growth between years.

**Bullets:**

- Index above 1.00: seasonal peak.
- Index below 1.00: seasonal trough.
- Twelve indexes should average 1.00; rescale if they do not.

#### Worked example

**Body:** With 1,450, 1,520 and 1,580 units in the month and annual totals of 12,000, 12,600 and 13,100, the ratios are 1.450, 1.448 and 1.447. The index is about 1.448, a stable peak month 45 percent above average. With a next-year forecast of 13,800, an average month is 1,150 units, so the forecast for this month is about 1,665 units. The tight spread across years suggests the seasonal pattern is reliable.

#### Common mistakes

**Body:** Using only one year of history mistakes an event for a season. Leaving one-off orders or promotions in the data inflates the index. Ignoring the number of working days can shift a month's index without any real seasonal effect, so adjust if your plants run different days per month. And do not apply a single index to every item: group items with similar seasonality, such as outdoor products versus industrial spares, and calculate each group separately.

**Cta:** If you want seasonal indexes calculated per product family directly from your ERP history and loaded back as a forecast, we can build that read-only pipeline for you.

**Faq:**

#### How do you calculate a seasonal index?

**Answer:** For each year, divide the month's demand by the average monthly demand for that year, then average those ratios across years. An index of 1.2 means the month is typically 20 percent above an average month. Do this for every month and check they average 1.0.

#### How many years of data do I need?

**Answer:** Three years is a practical minimum and five is better for erratic items. With only one or two years, a single unusual event can look like seasonality. If history is short, group similar products and share one index across them.

#### What is deseasonalised demand?

**Answer:** It is actual demand divided by the seasonal index for that period. It shows the underlying level and trend without the seasonal swing, so smoothing and trend models work better on it. Multiply the resulting forecast by the index to get back to real units.

#### Should seasonal indexes be updated every year?

**Answer:** Yes, refresh them at least annually with the newest year of data, and review mid-year if the business changes. A rolling three to five year window balances stability and responsiveness to changing seasonal patterns.

## Search terms

seasonal index calculator, how to calculate seasonal index, seasonal index worksheet, seasonality factor forecast, seasonal index excel, deseasonalize demand, monthly seasonality index formula, seasonal forecast from annual forecast

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
