executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
statsforecastUse Nixtla StatsForecast for statistical time-series forecasting, model selection, exogenous regressors, prediction intervals, cross-validation, feature engineering, and optional distributed execution.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this skill when the task is about the Python package statsforecast: fast statistical forecasting over many time series, ARIMA/ETS/CES/Theta/Croston/baseline models, exogenous regressors, prediction intervals, temporal cross-validation, MSTL feature workflows, or local/Dask/Ray/Spark-style distributed execution.
For a new runtime, install and verify the package before writing forecasting code:
python -m pip install statsforecast
python scripts/check_statsforecast_env.py --json
python scripts/statsforecast_quick_smoke.py --json
If the package comes from a source checkout, read installation and environment before editable installs because the compiled extension needs Eigen headers and a working C++ build path.
| User asks for | Read |
|---|---|
A normal pandas/polars forecast, forecast, fit/predict, fit_predict, fitted values, intervals, X_df, custom columns, cross-validation, persistence, plotting, or fallback behavior | core-forecasting |
Which model class to use, constructor knobs, direct model.fit(y) / model.forecast(y, h) calls, aliases, AutoARIMA/ETS/CES/Theta, Croston, MSTL/MFLES/TBATS, GARCH/ARCH, or SklearnModel | model-selection |
Synthetic panels, AirPassengers fixtures, static/exogenous features, mstl_decomposition, trend/seasonal future regressors, pandas-vs-polars feature validation | feature-engineering |
n_jobs, ParallelBackend, MultiprocessBackend, Fugue, Dask, Ray, Spark, distributed materialization, local parallel parity, or optional backend dependency issues | distributed-execution |
| Import/build failures, optional dependencies, cross-skill error triage | troubleshooting and installation and environment |
| Staleness or whether this skill matches the source evidence | repo provenance |
from statsforecast import StatsForecast.from statsforecast.models import Naive, SeasonalNaive, AutoARIMA, ....statsforecast.utils.AirPassengersDF, AirPassengers, and generate_series.unique_id, ds, y by default) plus optional exogenous/static columns.X_df must provide one future row per id and forecast horizon for models that use time-varying regressors.StatsForecast(...).forecast(df=panel_df, h=h, ...).fit(df=...), then predict(h=..., X_df=...), then optional forecast_fitted_values().cross_validation(df=..., h=..., n_windows=..., step_size=...).level=[80, 95]; use ConformalIntervals when conformal intervals are needed and enough history exists.from statsforecast import StatsForecast
from statsforecast.models import AutoARIMA, SeasonalNaive
from statsforecast.utils import AirPassengersDF
sf = StatsForecast(
models=[AutoARIMA(season_length=12), SeasonalNaive(season_length=12)],
freq="ME",
n_jobs=1,
)
forecast_df = sf.forecast(df=AirPassengersDF, h=12, level=[80, 95])
from statsforecast import StatsForecast
from statsforecast.models import Naive
from statsforecast.utils import generate_series
panel = generate_series(n_series=5, freq="D", equal_ends=True)
sf = StatsForecast(models=[Naive()], freq="D")
cv_df = sf.cross_validation(df=panel, h=7, n_windows=3, step_size=7)
core-forecasting for most user code, then route to model-selection only when choosing or configuring model classes becomes the blocker.forecast for memory-efficient production predictions; use fit/predict when later reuse, persistence, fitted values, or iterative inspection is needed.