R packages for business forecasting

R-packages logo

Here we present an overview of R packages maintained by members of the Centre for Marketing Analytics and Forecasting and a brief description of their functionality:

  1. diffusion: A package which allows to fit and forecast with growth curves. These models are frequently used for forecasting new product sales and adoption of technologies. The package includes a variety of curve types including Bass, the Gamma/Shifted Gompertz and Weibull.
  2. greybox: This package is a toolbox for building regression models. It offers various functions for variable selection and model combination. These functions are helpful in the context of promotional modelling and demand forecasting. Ivan Svetunkov provides further details about the functionality of this package on his blog.
  3. MAPA: This package contains functions to generate forecasts with a Multiple Aggregation Prediction Algorithm (MAPA). The algorithm uses temporal aggregation to improve upon the established exponential smoothing family of methods. As one of the latest addition, the package is now also able to handle exogenous information such as promotional information. Nikos Kourentzes provides further information about his package on his blog.
  4. nnfor: This package contains functions for automatic time series modelling with neural networks. The package allows for specifying inputs with lags of the target and exogenous variables. It can also automatically deal with pre-processing such as differencing and scaling. On his blog, Nikos Kourentzes, provides several tutorials about this package.
  5. smooth: The package implements exponential smoothing, ARIMA, simple moving average and several other models (including vector exponential smoothing) in state-space form. The models work with exogenous variables and on intermittent data. Ivan Svetunkov provides extensive material including examples and details about the model on his blog.
  6. tsintermittent: The package supports the analysis and forecasting of intermittent demand and slow-moving items. It implements Croston, TSB, SBA and iMAPA with different estimators. Further details on the package with some examples can be found on Nikos Kourentzes’ blog.
  7. thief. This package includes methods and tools for generating forecasts at different temporal frequencies using a hierarchical time series approach. In that seasonal time series are computed in all possible temporal aggregations. For example, monthly data is aggregated to 2-monthly, quarterly, 4-monthly, biannual and annual time series. In contrast to the MAPA package, thief allows the incorporation of any forecasting model such as ARIMA or ETS. You can read more about the function package here.
  8. tsutils: The package provides functions to support various aspects of time series and forecasting modelling. In particular this package includes: (i) tests and visualisations that can help the modeller explore time series components and perform decomposition; (ii) modelling shortcuts, such as functions to construct lag matrices and seasonal dummy variables of various forms; (iii) an implementation of the Theta method; (iv) tools to facilitate the design of the forecasting process, such as ABC-XYZ analyses. You can read more about the function details here. 
  9. TStools: This package is a collection of experimental R functions for time series modelling and analysis developed by the group available on Github. Most will later graduate after some time into a own package.

If you have any questions or suggestions regarding these R packages, do not hesitate to get in touch with us.

Back to News