DEV Community

Cover image for How to forecast next December's sales in a spreadsheet
Hanako H.
Hanako H.

Posted on

How to forecast next December's sales in a spreadsheet

Most sales plans start from last year's number plus a hopeful percentage. That works until the month has a shape of its own: a quiet February, a summer bump, a December that sells a third more than November. A forecast that ignores the shape either flattens December or predicts a January that never comes. The Forecast Sheet in the Spreadsheet Editor of the osFoundry desktop app looks for the repeating pattern in your history, extends it, and writes the result as a new sheet with a low and a high value for every month. The steps below use three years of monthly sales for a small shop. The figures are example data made up for this walkthrough.

Lay out the history

Two columns are enough: a date in the first, the sales in the second, one row per month. The dates need to be evenly spaced. Twelve first-of-the-month dates in a row is fine; a missing month is filled in by the dialog (interpolation by default), but a list that jumps between daily and monthly rows is not a timeline.

Thirty-six months is the practical minimum for yearly seasonality. With one or two years the editor has barely seen the pattern repeat, and the forecast has far less to go on.

Click any cell inside the list, then open the Data tab and choose Forecast Sheet.

The Data tab of the Spreadsheet Editor with the sales list selected and the Forecast Sheet button

Set the end date

A dialog called Create Forecast Worksheet opens. Timeline and values ranges can stay empty, because the editor takes the first and second column of the selection. The one field that matters is Forecast end. Type the last month you want, for example 2026-12-01.

Seasonality is on auto. The editor looks for the repeat length itself; in this data it finds twelve months, so each December is compared with the previous Decembers instead of being averaged into the other months. If the pattern is known, a season length can be typed instead, and 0 turns seasonality off. The confidence level is 95 by default.

The Create Forecast Worksheet dialog with Forecast end set to 2026-12-01, confidence level 95 and seasonality auto

Click OK.

Read the new sheet

The history stays where it is. A new sheet opens next to it with the original months, then three columns: Forecast, Lower Confidence Bound and Upper Confidence Bound, one row for every month up to the end date, and a line chart. The first forecast row repeats the last real value in all three columns, so the lines on the chart join up.

The new sheet with the forecast columns and the chart of history, forecast and range

For the example shop, the Forecast column says January 2026 will be $12,260 and December 2026 $20,654. The January figure is the interesting one: sales drop back from $19,480 in December to about $12,000, the same fall the two earlier Januaries show.

To go straight to a month, type its cell in the Name Box, for example C49 for December 2026, and press Enter. The formula bar shows =FORECAST.ETS(A49,$B$2:$B$37,$A$2:$A$37,1,1), so the number is an ordinary formula that can be copied or referenced from a budget sheet.

Cell C49 for December 2026, $20,654, with its FORECAST.ETS formula

Use the range, not just the number

Next to $20,654 are the Lower and Upper columns: $19,008 and $22,300. That is the 95 percent range, meaning the editor expects the real December to fall inside it nineteen times out of twenty if the pattern holds. It is the part to put in front of whoever approves the budget. A plan that works at $19,000 and survives at $22,000 is a better plan than one that depends on exactly $20,654.

The range also widens with distance. In the example, January's band is about $1,600 wide and December's about $3,300, because a month further out has had more room to drift. A forecast for the month after next is much tighter than one for a year ahead, and a sheet that shows both is honest about it.

Two limits are worth knowing before a number goes into a budget. A forecast only repeats what the history contains, so a new store, a price change or a one-off promotion in the data will be treated as part of the pattern. And a range assumes the next year behaves roughly like the last three; it is not a guarantee.

Everything runs on the computer. The spreadsheet is opened and calculated locally in the app, which suits sales numbers, and the app is free from the osFoundry download page. There is also a note on what stays on the device in osFoundry.

Top comments (0)