Contact

FORECAST.ETS.STAT in ONLYOFFICE Spreadsheet Editor

Statistical Intermediate ONLYOFFICE Spreadsheet Editor

Read exponential-smoothing diagnostics with explicit statistic codes, a traceable clean-series control, error-metric units and source compatibility limitations.

Verification status: See the evidence and test scope described in this guide. How formula examples are checked

Quick answer: For timeline 1..8 and values 10,12,…,24, =FORECAST.ETS.STAT(B1:B8,A1:A8,8,0,1,1) has source-derived expectation 1, the timeline step. Error metrics for this exact nonseasonal control are 0.

Availability and evidence scope

  • Introduced: Original introduction release is not established by the checked sources.
  • Available: Listed in current unversioned ONLYOFFICE help, checked October 18, 2026.
  • Implementation inspected: Official SDKJS v10.0.0.169, commit 3679e0375a758d7dc59d31337a45461be3525ed8. The snapshot does not prove identical behavior in every installed editor.
  • Retired or deprecated: These sources do not establish retirement or formal deprecation.
  • Testing: Numerical examples are independent mathematical expectations, and implementation discrepancies are labeled source predictions. No ONLYOFFICE application or calculation-engine execution was performed.

The examples use English function names and commas. Use your locale’s argument separator if different. Retain full precision in formulas; round only the displayed result. The examples use clean, unique, equally spaced timeline columns. They establish only the stated mathematical and source-trace cases, not general forecast accuracy, application execution or cross-product numerical equivalence.

Syntax and statistic selectors

=FORECAST.ETS.STAT(values, timeline, statistic_type, [seasonality], [data_completion], [aggregation])

Three to six arguments are registered. values and timeline are paired historical observations. statistic_type selects one diagnostic. Seasonality defaults to 1 for automatic detection, 0 selects nonseasonal smoothing, and an integer at least 2 specifies a cycle length in samples. Completion and aggregation both default to 1.

Code Documented diagnostic Interpretation
1 Level smoothing parameter Weight controlling level updates
2 Trend smoothing parameter Weight controlling trend updates
3 Seasonal smoothing parameter Weight controlling seasonal updates
4 MASE Scaled absolute error
5 SMAPE Symmetric absolute proportional error
6 MAE Mean absolute error in response units
7 RMSE Root mean squared error in response units
8 Timeline step Spacing in timeline coordinates

The source internally calls the trend weight gamma and the seasonal weight beta, whereas help uses beta and gamma for those roles respectively. The semantic selector order is still level, trend, seasonal. Label a report by role as well as by code instead of copying a variable name without checking its meaning.

Step-by-step: an independently traceable diagnostic table

  1. Put timeline 1 through 8 in A1:A8.
  2. Put responses 10,12,14,16,18,20,22,24 in B1:B8.
  3. Put selector codes 1 through 8 in D1:D8.
  4. Enter =FORECAST.ETS.STAT($B$1:$B$8,$A$1:$A$8,D1,0,1,1) beside the first code and copy down.
  5. The source-derived expectation is 0 for codes 1 through 7, and 1 for code 8.

The nonseasonal initialization sets level 10 and trend 2. Each one-step prediction exactly matches the next response, independent of the candidate smoothing weights. The source’s equal-error tie branches select zero for the optimized level and trend weights; the unused seasonal weight is zero in this path. This is why the coefficient expectations can be traced for this special dataset without running a numerical engine.

MAE, RMSE and SMAPE are zero because all seven one-step residuals are zero. MASE is also zero here because its scaling denominator is positive: the six later observed changes each have magnitude 2. A constant series would instead have a zero scaling denominator and should not be assumed to share this valid MASE result.

What the error metrics actually measure

The inspected implementation computes errors for observations after the initial point. If e_i is forecast minus actual, MAE is the average of |e_i| and RMSE is the square root of the average of e_i² over those Nāˆ’1 positions. The sign convention does not affect these two measures.

SMAPE is twice the average of |e_i|/(|forecast_i|+|actual_i|). It is a ratio; percentage formatting multiplies the display by 100. If both denominator terms are zero, an individual contribution is undefined, so do not assume a numeric zero result for every zero-valued series.

The source’s MASE scaling uses the sum of observed absolute changes from the third observation onward, divided by Nāˆ’2, then scales the average forecast absolute error by that quantity. This exact indexing matters when comparing with another implementation or a textbook baseline that includes a different set of first differences. The synthetic linear control has the same change everywhere, avoiding a misleading discrepancy in its expected zero result.

Advanced application: compare models on a consistent sample

Create separate diagnostic columns for a fixed nonseasonal setting and a justified explicit seasonal length, using the same complete historical range. Record the preprocessing rules next to the metrics. A lower training RMSE can reflect additional flexibility and does not alone establish better future forecasts. Evaluate held-out periods separately rather than using fitted residual metrics as proof of predictive accuracy.

The coefficient values describe fitted update weights, not probabilities that the model is correct or percentages of causal influence. The clean control’s zero weights arise from a tie rule and exact fit. They do not imply that every real series should use zero smoothing.

Code 8 is useful for checking the processed timeline scale. Numeric period indices 1..8 have step 1. The source can convert same-day-of-month dates into month indices, so a returned step need not be a fixed day count. Interpret it alongside the actual timeline and date handling.

Preprocessing, errors and compatibility

The family shares material preprocessing discrepancies: default aggregation code 1 discards duplicate observations without averaging; median aggregation does not sort its values and uses a fractional middle index for odd run sizes; the gap path replaces an entry while increasing the recorded count. Use unique, complete, evenly spaced numeric columns and perform any aggregation or imputation explicitly. The help’s missing-data allowance does not establish reliable handling of every such case in this snapshot.

Completion other than exactly 0 or 1, or aggregation outside 1..7, predicts internal not_numeric (#NUM!). Use documented integer selector codes 1–8. The source also contains an undocumented selector 9 and lacks a rejecting switch default; neither fact establishes a supported portable interface for other codes or their native error displays.

Smoothing selection and error metrics can differ from those in other editors; source comments acknowledge cross-product differences. Exact fits, zero denominators, short series, singular seasonal initialization and dirty timelines deserve separate examination. The numeric control here is an independent source trace, not application execution, and no general confidence interval or forecast-quality guarantee follows from it.

Recalculate representative formulas when moving a workbook between editors. Matching names do not guarantee identical argument coercion, array behavior, numerical precision or error handling. These source-derived examples do not establish automatic spill behavior or a general import/export guarantee.

Official references