A local, full-featured companion to the hosted Forecast Dashboard Shiny app. Where the hosted app deliberately sticks to Prophet + ARIMA to fit a ~1GB-RAM free hosting tier, this package has no such constraint and adds:
register_model()/get_model()/list_models()) — every
model implements a fit/forecast/to_tibble contract, so adding a new model later
is one file + one register_model() call.prophet), ARIMA, SARIMA (both with auto
and manual p,d,q/P,D,Q order entry), ETS, TBATS, NNETAR, Holt-Winters, and LSTM
(optional, requires torch).run_app()) with all models exposed, Plotly always on, and
a dataset-driven model recommendation step.datasets, ggplot2 -- picked by package then dataset name, no library() or
data() call needed first), a link-shared Google Sheet, a CSV URL, or pasted
delimited text..R file, or copyable to the
clipboard in one click.install.packages("remotes")
remotes::install_local("forecastsuite")
forecastsuite::run_app()
In RStudio, the app is also available from the Addins menu ("Run forecastsuite") -- no need to type the command.
vignette("forecastsuite") walks through the bundled app tab-by-tab and the model
registry API for scripting forecasts directly in R, without the app.
install.packages("prophet")
Everything else works without prophet — list_models() simply omits Prophet until
it's installed. prophet pulls in a compiled Stan backend (rstan/StanHeaders) that
has a real history of install/check fragility on some platforms, so it's kept optional
(Suggests, not Imports) rather than force-loaded by library(forecastsuite). Once
installed, Prophet's changepoint/seasonality/holiday priors are exposed on the Model tab
like any other model's parameters, saved/restored with a project file, and included in
the "Show Code" panel.
install.packages("torch")
torch::install_torch()
Everything else works without torch — list_models() simply omits LSTM until it's
installed. Once available, its epochs / hidden units / lookback window / learning rate
are exposed on the Model tab like any other model's parameters, saved/restored with a
project file, and included in the "Show Code" panel.
Every exported function has real roxygen2 comments in its R/ source, but
NAMESPACE/man/*.Rd are regenerated from them, not hand-edited. After changing a
function's documentation or @export status:
Rscript document.R
(installs roxygen2 if needed, then runs roxygen2::roxygenise()). Commit the
updated NAMESPACE/man/.
R/data_utils.R, R/metric_utils.R, R/holidays_helpers.R, and R/horizon_utils.R are
adapted from the parent repo's helpers/ files (same behavior, package-namespaced). They
are intentionally copied, not shared, so this package and the hosted app can evolve
independently without one destabilizing the other. If you fix a bug in one copy, check
whether the other needs the same fix.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.