Learn R Programming

smooth

R:

Python:

Python wheels on PyPI ship with PEP 740 attestations — SLSA Build Level 3 provenance, signed via Sigstore on the GitHub Actions runner that built them. Verifiable client-side with pypi-attestations.

The smooth package implements Single Source of Error (SSOE) state-space models for forecasting and time series analysis, available for both R and Python.

Both the R and Python versions of smooth depend on the greybox package for distributions, information criteria, and supporting utilities (in Python this also provides the LOWESS smoother). It is installed automatically with smooth.

Installation

R (CRAN):

install.packages("smooth")

R (github):

if (!require("remotes")) install.packages("remotes")
remotes::install_github("openforecast-org/smooth")

Python (PyPI):

pip install smooth

Python (github, dev):

pip install "git+https://github.com/openforecast-org/smooth.git@master#subdirectory=python"

For development versions and system requirements, see the Installation wiki page.

Quick Examples

R

library(smooth)

# ADAM - the recommended function for most tasks
model <- adam(y, model="ZXZ", lags=12)
forecast(model, h=12)

# Exponential Smoothing
model <- es(y, model="ZXZ", lags=12)

# Automatic model selection for ETS+ARIMA and distributions
model <- auto.adam(y, model="ZZZ",
                   orders=list(ar=2, i=2, ma=2, select=TRUE))

Python

from smooth import ADAM, ES

# ADAM model
model = ADAM(model="ZXZ", lags=12)
model.fit(y)
model.predict(h=12)

# Exponential Smoothing
model = ES(model="ZXZ")
model.fit(y)

Documentation

Full documentation is available on the GitHub Wiki, including:

Book: Svetunkov, I. (2023). Forecasting and Analytics with the Augmented Dynamic Adaptive Model (ADAM). Chapman and Hall/CRC. Online: https://openforecast.org/adam/

About

smooth is developed and maintained by OpenForecast, a demand forecasting and inventory management consultancy. The package implements the methods we use in our consulting and teach in our training courses.

Copy Link

Version

Install

install.packages('smooth')

Monthly Downloads

1,879

Version

4.5.2

License

LGPL-2.1

Maintainer

Ivan Svetunkov

Last Published

September 4th, 2026

Functions in smooth (4.5.2)

forecast.adam

Forecasting time series using smooth functions
auto.om

Automatic Occurrence Model Selection
accuracy.smooth

Error measures for an estimated model
ces

Complex Exponential Smoothing
msarima

Multiple Seasonal ARIMA
gum

Generalised Univariate Model
adam

ADAM is Augmented Dynamic Adaptive Model
cma

Centered Moving Average
es

Exponential Smoothing in SSOE state space model
plot.adam

Plots for the fit and states
om

Occurrence Model
oesg

Occurrence ETS general model
omg

General occurrence model
oes

Occurrence ETS model
reapply

Reapply the model with randomly generated initial parameters and produce forecasts
orders

Functions that extract values from the fitted model
multicov

Function returns the multiple steps ahead covariance matrix of forecast errors
msdecompose

Multiple seasonal classical decomposition
pls

Prediction Likelihood Score
sim.sma

Simulate Simple Moving Average
simulate.om

Simulate methods for occurrence (om/omg) state-space models
reexports

Objects exported from other packages
rmultistep

Multiple steps ahead forecast errors
sim.ces

Simulate Complex Exponential Smoothing
sim.ssarima

Simulate SSARIMA
sim.gum

Simulate Generalised Exponential Smoothing
sim.oes

Simulate Occurrence Part of ETS model
sma

Simple Moving Average
sim.es

Simulate Exponential Smoothing
sowhat

Function returns the ultimate answer to any question
sparma

Sparse ARMA Model in State Space Form
ssarima

State Space ARIMA
smooth

Smooth package
smoothCombine

Combination of forecasts of state space models
is.smooth

Smooth classes checkers