Packages

We build the forecasting software we use. smooth, greybox, legion, tsintermittent, tsutils, nnfor and muse are open-source packages for R and Python implementing dynamic forecasting models, intermittent demand methods, neural networks, and sound forecast evaluation. They are free, documented in full, and used by analysts worldwide — and they are the same tools we use in consulting work.

Why it matters to you

The whole workflow, not just the model

Exploring the data, classifying demand, building and selecting models, evaluating the results, and turning them into inventory decisions — the packages cover the full chain rather than one step of it. They are designed to work together, so you are not stitching together tools that disagree about what a forecast is.

Benchmarked, not asserted

The methods are tested on the M-competition datasets and against commercial tools, and the results are published rather than claimed. The underlying methodology is documented in full in a free monograph, so you can check what a model does before you trust it with a plan.

From simple benchmarks to neural networks

Naive methods, exponential smoothing, ARIMA, regression, Theta, temporal aggregation, multivariate models and neural networks are all implemented, alongside the tools to compare them properly. Having the full range in one place is what makes it possible to find out which one your data actually calls for, rather than assuming.

The hard cases are the point

Intermittent demand is handled natively rather than bolted on: occurrence and demand size are modelled together, producing proper predictive distributions rather than point forecasts you then have to guess an interval around. The same applies to short histories, multiple seasonalities, and catalogues of thousands of SKUs — the situations where general-purpose tools quietly fail.

Adoption

Our packages have been on CRAN since 2016 and are together downloaded at least 7,000 times a month. The ADAM monograph has been cited 80 times, and the Python port of smooth has passed 12,000 downloads on PyPI since its release in April 2026.

The toolkit

Forecasting models

smooth (R & Python)

Hex sticker of the smooth package for RThe core forecasting engine, built on the ADAM framework unifying exponential smoothing, ARIMA, and regression in one state-space model, with full probabilistic forecasts and dedicated handling of high frequency data and intermittent demand.

install.packages("smooth")
pip install smooth

GitHub · CRAN · PyPI

CRAN downloads per month for smooth PyPI downloads per month for smooth

tsintermittent (R)

Hex sticker of the tsintermittent package for R Intermittent demand forecasting: Croston’s method and its variants (Moving Average, SBA), and TSB, with parameters optimised on a choice of loss functions rather than fixed by convention. Also includes intermittent demand classification and iMAPA, which combines forecasts across multiple temporal aggregation levels.

install.packages("tsintermittent")

GitHub · CRAN

CRAN downloads per month for tsintermittent

legion (R)

Hex sticker of the legion package for RMultivariate forecasting via vector exponential smoothing, for when products, regions, or channels move together and shared dynamics carry information a univariate model throws away.

install.packages("legion")

GitHub · CRAN

CRAN downloads per month for legion

nnfor (R)

Hex sticker of the nnfor package for R Forecasting with neural networks, specified fully automatically, semi-manually, or by hand. Built on a published specification methodology rather than on hyperparameter guesswork.

install.packages("nnfor")

GitHub · CRAN

CRAN downloads per month for nnfor

muse (R, Python)

Hex sticker of the muse packageOur research frontier: the Multiple Sources of Error state-space framework, the counterpart to the single-source models underlying ETS.

install.packages("muse")

GitHub

Model building, evaluation and datasets

greybox (R & Python)

Hex sticker of the greybox package for RModel building and evaluation: bringing demand drivers into the model, selecting variables rigorously, and evaluating forecasts honestly. Also includes tools for demand classification.

install.packages("greybox")
pip install greybox

GitHub · CRAN · PyPI

CRAN downloads per month for greybox PyPI downloads per month for greybox

tsutils (R)

Hex sticker of the tsutils package for R Time series exploration and the practical scaffolding around modelling: tests and visualisations for decomposing series into components, lag matrices and seasonal dummies, an implementation of the Theta method, and ABC-XYZ analysis for designing the forecasting process.

install.packages("tsutils")

GitHub · CRAN

CRAN downloads per month for tsutils

fcompdata (Python)

The classic forecasting competition datasets (M1, M3, tourism), packaged for Python so you can benchmark your methods against the same data the field uses.

pip install fcompdata

GitHub · PyPI

PyPI downloads per month for fcompdata

Everything is developed in the open at github.com/openforecast-org. For technical documentation, worked examples and function guides, see the smooth and greybox sections of this site, or the ADAM monograph.

Using these in your own work? Bug reports and feature requests go on GitHub. If you are building something with them and get stuck, we are usually happy to point you in the right direction.

The tools are the engine. The results come from applying them.

The packages are free, and that transparency is the point: you can inspect exactly what our methods do before you ever hire us. What we sell is the application — understanding how your planning process actually works, cleaning and analysing your data, correcting for stockout-censored sales, aligning the evaluation with the decisions it feeds, and translating the output into safety-stock and replenishment decisions your team can run every week.

If your forecasts drive real inventory decisions, we should talk.
Or read about our consulting and training first.

Book a call

Prefer to write? Send us a message