The FORECAST.ETS function calculates or predicts a future value based on existing (historical) values by using the AAA version of the Exponential Smoothing (ETS) algorithm. The predicted value is a continuation of the historical values in the specified target date, which should be a continuation of the timeline.
Syntax:= FORECAST.ETS(target_date, values, timeline, [seasonality], [data_completion], [aggregation])
The FORECAST.ETS function syntax has the following arguments:
-
Target_date Required. The data point for which you want to predict a value. Target date can be date/time or numeric. If the target date is chronologically before the end of the historical timeline, FORECAST.ETS returns the #NUM! error.
- Values Required. Values are the historical values, for which you want to forecast the next points.
- Timeline Required. The independent array or range of numeric data. The dates in the timeline must have a consistent step between them and can’t be zero. The timeline isn’t required to be sorted, as FORECAST.ETS will sort it implicitly for calculations. If a constant step can’t be identified in the provided timeline, Forecast.ETS will return the #NUM! error. If timeline contains duplicate values, FORECAST.ETS will return the #VALUE! error. If the ranges of the timeline and values aren’t of same size, FORECAST.ETS will return the #N/A error.
- Seasonality Optional. A numeric value. The default value of 1 means Excel detects seasonality automatically for the forecast and uses positive, whole numbers for the length of the seasonal pattern. 0 indicates no seasonality, meaning the prediction will be linear. Positive whole numbers will indicate to the algorithm to use patterns of this length as the seasonality. For any other value, FORECAST.ETS will return the #NUM! error.Maximum supported seasonality is 8,760 (number of hours in a year). Any seasonality above that number will result in the #NUM! error.
- Data completion Optional. Although the timeline requires a constant step between data points, FORECAST.ETS supports up to 30% missing data, and will automatically adjust for it. 0 will indicate the algorithm to account for missing points as zeros. The default value of 1 will account for missing points by completing them to be the average of the neighboring points.
-
Aggregation Optional. Although the timeline requires a constant step between data points, FORECAST.ETS will aggregate multiple points which have the same time stamp. The aggregation parameter is a numeric value indicating which method will be used to aggregate several values with the same time stamp. The default value of 0 will use AVERAGE, while other options are SUM, COUNT, COUNTA, MIN, MAX, MEDIAN.
Example: Let’s look at some Excel FORECAST.ETS function examples and explore how to use the FORECAST.ETS function as a worksheet function in Microsoft Excel:
In the example below, we use the sales data for the 12 months of 2019 to forecast the sales for January to December 2020 in column C using the FORECAST.ETS function.
Syntax: =FORECAST.ETS(B14,$C$2:$C$13,$B$2:$B$13,3,1,1)
Result: 10498.62063
Notice the Seasonality argument is set to 3, which tells Excel that the seasonal pattern in this data is every 3 months. If there was a 6 month seasonal pattern we could change the 3 to 6 etc.
Based on the Excel spreadsheet above, the following FORECAST.ETS examples would return:
Syntax: =FORECAST.ETS(B15,$C$2:$C$13,$B$2:$B$13,3,1,1)
Result: 9472.432132
Syntax: =FORECAST.ETS(B16,$C$2:$C$13,$B$2:$B$13,3,1,1)
Result: 7595.153131
Syntax: =FORECAST.ETS(B17,$C$2:$C$13,$B$2:$B$13,3,1,1)
Result: 10667.82733
Syntax: =FORECAST.ETS(B18,$C$2:$C$13,$B$2:$B$13,3,1,1)
Result: 9634.112545
Syntax: =FORECAST.ETS(B19,$C$2:$C$13,$B$2:$B$13,3,1,1)
Result: 7923.792964
Syntax: =FORECAST.ETS(B20,$C$2:$C$13,$B$2:$B$13,3,1,1)
Result: 11041.87899
Syntax: =FORECAST.ETS(B21,$C$2:$C$13,$B$2:$B$13,3,1,1)
Result: 9905.741725
Syntax: =FORECAST.ETS(B22,$C$2:$C$13,$B$2:$B$13,3,1,1)
Result: 8195.422144
Syntax: =FORECAST.ETS(B23,$C$2:$C$13,$B$2:$B$13,3,1,1)
Result: 11313.50817
Syntax: =FORECAST.ETS(B24,$C$2:$C$13,$B$2:$B$13,3,1,1)
Result: 10214.02049
Syntax: =FORECAST.ETS(B25,$C$2:$C$13,$B$2:$B$13,3,1,1)
Result: 8410.040672
Chart Forecast Data
We can also visualise this data in a chart:
Tip: Make sure the last Sales figure is repeated in the Forecast column (in cell D13 in this example), to ensure continuity in the chart line:
Note:
- FORECAST.ETS Function is added in Excel 2016.
- This Function uses advanced machine learning algorithms, such as Exponential Triple Smoothing (ETS).
- This Function uses advanced machine learning algorithms, such as Exponential Triple Smoothing (ETS).
- If a constant step cannot be identified in the provided timeline, FORECAST.ETS returns the #NUM! error.
- If timeline contains duplicate values, FORECAST.ETS returns the #VALUE! Error.
- If the ranges of the timeline and values are not of same size, FORECAST.ETS returns the #N/A error.
- If the Seasonality is <0, or >8760, or a non-numeric value, FORECAST.ETS returns the #NUM! error.