skillfed

skforecast

Skforecast is a Python library for time series forecasting using scikit-learn compatible models, statistical methods, and foundation models. It works with any estimator compatible with the scikit-learn API, including popular options like LightGBM, XGBoost, CatBoost, Keras, and many others.

skforecast v0.23.0 127.0K downloads/30d#11,757 on PyPI1,524
Permissive license BSD-3-Clause Active released

What it is and what it does

Skforecast bridges scikit-learn and time series forecasting by letting you use any scikit-learn compatible regressor to forecast future values. It handles the complexity of converting time series data into supervised learning problems through lagged features and provides both single-series and multi-series workflows. The library includes tools for feature engineering, model selection, hyperparameter tuning via optuna, and backtesting to validate forecasts on historical data before deployment.

The package is built on numpy, pandas, and scikit-learn, with optional acceleration via numba and parallel job execution through joblib. It targets developers and data scientists who want production-ready forecasting without building custom pipelines, and it integrates naturally into existing scikit-learn workflows. The library is actively maintained, supports Python 3.10 through 3.14, and is NumFOCUS affiliated.

Use it for:

  • Build multi-step ahead forecasts for time series data using scikit-learn compatible regressors.
  • Perform hyperparameter tuning and model selection for forecasting tasks using optuna integration.
  • Backtest forecasting models on historical data to evaluate realistic performance before deployment.
  • Forecast multiple related time series simultaneously with flexible single and multi-series workflows.
  • Engineer lagged features and other time series transformations automatically for supervised learning.
  • Integrate forecasting into production pipelines using scikit-learn compatible estimators.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Skforecast is a Python library for time series forecasting that works with any scikit-learn compatible estimator, providing tools for feature engineering, model selection, hyperparameter tuning, and backtesting.

Yes. Skforecast is actively maintained, has low install friction, carries a permissive BSD-3-Clause license, and has no known vulnerabilities. It solves a genuine problem—using scikit-learn models for time series forecasting—with a mature API and strong community backing. Install it if you need to forecast time series with scikit-learn compatible estimators.

Install

skforecast on PyPI

pip

pip install skforecast

uv

uv add skforecast

poetry

poetry add skforecast

Installing skforecast

Before you install

Low install friction with a pure Python wheel and nine well-established runtime dependencies (numpy, pandas, scikit-learn, scipy, optuna, joblib, numba, tqdm, rich). Actively maintained with recent releases and strong community engagement.

License in practice

BSD-3-Clause permissive license allows commercial and private use with minimal restrictions, making it suitable for both open-source and proprietary projects.

Quickstart

pip install skforecast

from skforecast.recursive import ForecasterRecursive
from skforecast.datasets import load_demo_dataset
import pandas as pd

y = load_demo_dataset()
forecaster = ForecasterRecursive(
    estimator=None,
    lags=15
)
forecaster.fit(y=y)
predictions = forecaster.predict(steps=12)

Requires Python 3.10 or later. Requires a scikit-learn compatible estimator to be provided.

Verify before relying

  • Which specific scikit-learn compatible estimators are recommended or tested with skforecast.
  • Performance benchmarks comparing skforecast to alternative time series libraries.
  • Specific memory or computational requirements for large-scale forecasting tasks.
  • Whether the library supports GPU acceleration for model training and prediction.

Package facts

License BSD-3-Clause (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 9 — numpy, pandas, tqdm, scikit-learn, scipy, optuna, joblib, numba, rich
Maintenance actively maintained — 37 days since the last release
Last repo commit
First released
Downloads 126,956/month — #11,757 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: skforecast-0.23.0-py3-none-any.whl

Keywords: data-science, machine-learning, data-mining, time-series, scikit-learn, forecasting, time-series-analysis, time-series-regression, autoregressive, deep-learning, lightgbm, xgboost, catboost

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Science/ResearchOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIXOperating System :: UnixProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Scientific/EngineeringTopic :: Scientific/Engineering :: Artificial IntelligenceTopic :: Software Development

Tags

time series forecastingscikit-learn forecastingmachine learning time seriesautoregressive forecastingmulti-step ahead predictiontime series regressionforecasting with sklearn
time-series-forecastingscikit-learn-compatiblemachine-learning

More Software Development packages