# Nixtla/mlforecast

Scalable machine 🤖 learning for time series forecasting.

Repository: https://github.com/Nixtla/mlforecast
Canonical: https://ross.abutalabs.com/products/mlforecast
Homepage: https://nixtlaverse.nixtla.io/mlforecast
Language: Python
License: Apache-2.0
License Family: permissive
Topics: forecast, forecasting, machine-learning, lightgbm, xgboost, dask, python, time-series
Last push: 2026-08-20T18:10:09+00:00

## Health v2 (maintenance only)
Score: 96/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 98, release rhythm 92, longevity 100
- inputs: {"age_days": 1955, "days_push": 13, "days_rel": 55, "gap_med": 21.0, "n_releases_24m": 11}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1269, forks 131 (observed 2026-08-28T04:04:11.661877+00:00)

## What it is
mlforecast is a Python framework for time series forecasting using any machine learning model with fit/predict methods, providing efficient feature engineering (lags, rolling windows, target transforms) and sklearn-like syntax. It scales to millions of series via distributed backends including dask, ray, and spark, and supports probabilistic forecasting with conformal prediction.

## Use cases
- forecast demand across thousands of products with machine learning
- train LightGBM or XGBoost models on many time series
- produce multi-step ahead forecasts with exogenous variables like prices
- scale time series feature engineering to large datasets with dask or spark
- generate prediction intervals for forecasts using conformal prediction
- run cross-validation for forecasting models on multiple series
- forecast sales or traffic in production with sklearn-style APIs

## When to choose
- you want to use gradient boosting or other ML models for forecasting instead of statistical or neural models
- you need to forecast millions of time series and scale out with dask, ray, or spark
- you want fast, built-in lag and rolling-window feature engineering for time series
- you need exogenous variables, static covariates, and probabilistic intervals in one pipeline
- you prefer a familiar sklearn fit/predict workflow

## When to avoid
- you need deep learning forecasting architectures like NBEATS or TFT (use neuralforecast instead)
- you want classical statistical methods such as ARIMA or ETS (use statsforecast instead)
- you need a pretrained foundation model for time series (consider TimeGPT)
- your data is not time series or you need general-purpose ML pipelines

## Facets
- artifact type: library
- maturity: active
- function: machine-learning, data-science, etl
- domain: time-series, machine-learning, data-science, analytics
- platform: python, cross-platform, cloud
- tags: forecasting, time-series-forecasting, feature-engineering, lightgbm, xgboost, dask, spark, ray, polars, conformal-prediction, sklearn-compatible, distributed-training, docker

## Member repositories
- Nixtla/mlforecast (main) score 96

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:11.661877+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T05:03:30.468887+00:00, confidence not recorded.
  - readme: https://github.com/Nixtla/mlforecast (fetched 2026-08-28T04:04:11.661877+00:00, sha ec105ac55834)
  - homepage: https://nixtlaverse.nixtla.io/mlforecast (fetched 2026-08-29T12:15:20.961119+00:00, sha ab8c2b0cb328)
  - site_page: https://nixtla.io/docs (fetched 2026-08-29T12:15:20.970582+00:00, sha 109f5713c50b)
  - site_page: https://nixtlaverse.nixtla.io/neuralforecast/docs/getting-started/introduction.html (fetched 2026-08-29T12:15:20.972572+00:00, sha 5ec741ca6918)
  - site_page: https://nixtlaverse.nixtla.io/mlforecast/docs/getting-started/install.html (fetched 2026-08-29T12:15:20.974292+00:00, sha 7cc44210df35)
  - site_page: https://nixtlaverse.nixtla.io/mlforecast/docs/getting-started/quick_start_local.html (fetched 2026-08-29T12:15:20.975842+00:00, sha 0f292962572e)
  - site_page: https://nixtlaverse.nixtla.io/mlforecast/docs/getting-started/quick_start_distributed.html (fetched 2026-08-29T12:15:20.977449+00:00, sha 7f0e1163f660)
  - site_page: https://nixtlaverse.nixtla.io/mlforecast/docs/getting-started/end_to_end_walkthrough.html (fetched 2026-08-29T12:15:20.979350+00:00, sha bcb71e982352)
  - site_page: https://nixtlaverse.nixtla.io/mlforecast/docs/how-to-guides/exogenous_features.html (fetched 2026-08-29T12:15:20.981057+00:00, sha 724e033923a3)
  - site_page: https://nixtlaverse.nixtla.io/mlforecast/docs/how-to-guides/lag_transforms_guide.html (fetched 2026-08-29T12:15:20.982907+00:00, sha bfac4ce022d0)
- Data as of 2026-08-30T08:39:29.467469+00:00.
