Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

The project is named Greykite (package: greykite), not GreyKite or GrayKite. It is LinkedIn’s open-source Python framework for business and operational time-series forecasting, centered on the interpretable Silverkite algorithm. The latest release listed on PyPI as of August 18, 2026 is 1.1.0, uploaded February 20, 2025; its metadata requires Python 3.10 or newer and lists classifiers for Python 3.10–3.12. The documentation site still labels 1.0.0 as its latest documentation release, so package and documentation versions should not be conflated.

Greykite is a good candidate when calendar effects, changepoints, regressors, explainability and systematic backtesting matter more than using a deep-learning or foundation-model forecaster. It is distributed under the BSD 2-Clause License.

What is Greykite?

Greykite is more than one estimator. Its framework covers time-series preprocessing, exploratory analysis, feature engineering, model fitting, template-based configuration, grid search, rolling evaluation, plotting, prediction intervals and benchmarking. Silverkite is its flagship forecasting algorithm; Prophet and Auto-ARIMA-related functionality can also be exposed through the broader framework.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Silverkite is a feature-engineered, regression-based approach. It can represent trend, multiple seasonalities, changepoints, holidays, events, autoregressive behavior and user-provided regressors, then fit machine-learning models while retaining component summaries and plots. Greykite also includes Greykite AD functionality for operational anomaly detection.

LinkedIn describes production use across more than 20 internal use cases in its research paper, but that is evidence about LinkedIn’s environment—not a guarantee of accuracy, scale or maintenance outcomes for another organization (research paper).

What data can it handle?

The normal input is a timestamped target series sampled on a meaningful, generally regular grid. Hourly, daily, weekly and other business frequencies can be modeled, with optional holiday calendars, scheduled events and explanatory variables.

  • Convert timestamps to a real datetime type and sort them chronologically.
  • Check duplicate timestamps, missing timestamps, missing target values and actual time spacing.
  • Document the time zone and daylight-saving behavior.
  • Make sure every regressor required at prediction time is known in advance or separately forecast.
  • Do not assume Greykite automatically repairs irregular sampling, missing observations or unavailable future features.

Install Greykite

Use an isolated environment. PyPI metadata for Greykite 1.1.0 declares Python >=3.10 and lists 3.10, 3.11 and 3.12; do not assume Python 3.13 or later is supported without testing. The official installation page recommends a Python 3.10 environment and discusses Linux, macOS and Windows testing.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
python -m venv .venv

# macOS/Linux
source .venv/bin/activate

# Windows PowerShell
.venvScriptsActivate.ps1

python -m pip install --upgrade pip setuptools wheel
python -m pip install greykite

Install Greykite alone first, then add optional integrations. Prophet and its dependencies became optional beginning with Greykite 0.2.0. The installation documentation contains an older note about testing with prophet==1.0.1; treat Prophet compatibility as version-sensitive rather than as a promise for 1.1.0 (installation documentation).

If installation fails

  1. Create a fresh Python 3.10–3.12 virtual environment.
  2. Upgrade pip, setuptools and wheel.
  3. Install Greykite without optional integrations.
  4. Add integrations one at a time and verify their versions.
  5. Record the working environment in a lock file or equivalent deployment specification.

Build a first forecast

Greykite’s example data and documented API can produce a 24-step forecast with nominal 95% coverage:

from greykite.common.data_loader import DataLoader
from greykite.framework.templates.autogen.forecast_config import (
    ForecastConfig, MetadataParam,
)
from greykite.framework.templates.forecaster import Forecaster
from greykite.framework.templates.model_templates import ModelTemplateEnum

df = DataLoader().load_bikesharing().tail(24 * 90)

config = ForecastConfig(
    metadata_param=MetadataParam(
        time_col="ts",
        value_col="count",
    ),
    model_template=ModelTemplateEnum.AUTO.name,
    forecast_horizon=24,
    coverage=0.95,
)

result = Forecaster().run_forecast_config(df=df, config=config)

forecast = result.forecast
backtest = result.backtest
grid_search = result.grid_search
model = result.model
timeseries = result.timeseries

The horizon and coverage above are demonstration settings, not universal recommendations. Inspect the object schema for the exact Greykite version installed because output columns and APIs can change. In general, forecast contains future predictions, backtest contains historical evaluation, grid_search records tuning or model-selection results, model describes the fitted model, and timeseries contains the processed series and plotting functionality.

Use your own dataframe

import pandas as pd

df = pd.DataFrame({
    "ts": pd.date_range("2025-01-01", periods=100, freq="D"),
    "y": range(100),
})

metadata = MetadataParam(time_col="ts", value_col="y")

ts and y are only example names. Supply whatever timestamp and target columns your dataframe uses. Before fitting, you can perform basic checks:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
df["ts"] = pd.to_datetime(df["ts"])
df = df.sort_values("ts")
assert df["ts"].is_unique
assert df["y"].notna().all()

Choose a model template

AUTO

AUTO is a convenient starting template that reduces configuration work. It does not select a universally best model, clean bad data, prevent leakage or replace out-of-sample validation.

SILVERKITE

Use an explicit Silverkite template when you need direct control over feature choices, seasonalities, changepoints, autoregression, events or regressors. Greykite also provides pre-tuned templates for different frequencies, horizons and series patterns (Silverkite overview).

  1. Start with AUTO and a naive or seasonal-naive baseline.
  2. Backtest at the horizon used by the real decision.
  3. Inspect residuals and component plots.
  4. Move to explicit Silverkite settings only when the automatic configuration is inadequate.
  5. Tune after confirming that the evaluation design represents deployment.

How Silverkite works

Silverkite builds explanatory time features and fits a regression-style forecasting model rather than relying on a generic deep neural network. Its feature set can include:

  • Trend terms and automatically detected changepoints.
  • Several seasonal cycles, such as intraday, weekly or annual patterns.
  • Public holidays, company events and scheduled interventions.
  • Lagged and autoregressive terms for temporal dependence.
  • User-supplied regressors such as promotions, prices, weather or maintenance schedules.

Feature-based structure enables model summaries and component plots, but interpretability is not the same as causal identification. A component can explain fitted variation without proving that changing it would cause the target to change.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Validate forecasts with backtesting

A plausible chart is not evidence of useful future performance. Greykite includes backtesting, grid search, evaluation and benchmarking, but you must define the experiment correctly.

  1. Use time-ordered rolling-origin or expanding-window splits, never a random split for a temporal deployment problem.
  2. Match each validation horizon to the operational forecast horizon.
  3. Compare against naive and seasonal-naive forecasts.
  4. Evaluate several historical periods, including holidays, promotions, outages and regime changes where relevant.
  5. Report point-forecast metrics separately from interval metrics.
  6. Inspect residual patterns, bias, outliers and forecast degradation after changepoints.

A 24-hour model is not automatically suitable for a 90-day planning decision. Likewise, a model that wins on average can fail during the events that matter most to the business.

Prediction intervals and coverage

coverage=0.95 requests a nominal 95% prediction interval. Nominal coverage is not calibrated coverage: structural breaks, changing variance, sparse data, outliers or incorrect residual assumptions can make the interval contain far more or fewer than 95% of future observations. Measure empirical coverage and interval width on historical backtests before using intervals for staffing, inventory or risk decisions (prediction-band documentation).

Regressors, holidays and events

Known-in-advance variables—holiday calendars, scheduled campaigns, product launches, planned price changes and maintenance windows—are natural candidates. Weather, unscheduled outages and realized demand shocks are not known at forecast time unless you have a separate forecast or scenario plan.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Future values must be available at inference time. Using realized future sales, post-period corrections, leakage-prone rolling calculations or revised information that was unavailable at the historical forecast cutoff can produce misleadingly strong validation.

Greykite anomaly detection

Greykite AD extends the package toward metric monitoring and threshold tuning using alert-rate information, anomaly labels, precision/recall objectives and business-impact filters (PyPI package description).

A forecast interval asks whether an observation is unusual under a forecasting model. An anomaly detector may instead optimize alert volume and operational usefulness. A statistically unusual point is not necessarily business-critical, so validate thresholds against labeled incidents or an agreed alert budget.

Production checklist

  • Pin the Greykite version and all compatible dependencies.
  • Save the forecast configuration, feature definitions, holiday calendars, time zone and training cutoff.
  • Monitor data freshness, missingness, timestamp regularity and unexpected frequency changes.
  • Record the horizon and prediction time for every forecast.
  • Measure error after actuals arrive and review interval coverage.
  • Watch for drift, persistent residual bias and false changepoints.
  • Re-run backtests after major data, dependency or feature changes.
  • Test serialization and deployment behavior in the target runtime.

Strengths and limitations

Criterion Greykite implication
Interpretability Strong: feature-based structure, component plots and summaries.
Automation AUTO and templates reduce setup, but validation remains necessary.
Flexibility Supports trend, multiple seasonalities, changepoints, events, autoregression and regressors.
Data requirements Best with clean, timestamped, structured series on a stable grid.
Compatibility Python 3.10+ is declared; optional integrations may be version-sensitive.
Ecosystem freshness Latest PyPI release identified is 1.1.0 from February 20, 2025; publication date alone does not prove active development or abandonment.
Deep learning Not its central design.
License BSD 2-Clause.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Alternatives

Library Consider it when
StatsForecast You need fast statistical models such as ARIMA or ETS across many univariate series.
sktime You want a broad, unified time-series machine-learning ecosystem; its repository lists Python 3.10–3.13 support.
Prophet You prefer a straightforward trend, seasonality and holiday API. Greykite’s Prophet integration remains version-sensitive.
NeuralForecast You are experimenting with neural architectures; its PyPI page lists release 3.1.7 dated April 10, 2026.
Custom statsmodels or scikit-learn pipeline You need a smaller dependency surface or complete control over feature and deployment code.

Managed neural or foundation-model services can make sense for large organizations that accept platform overhead and vendor dependence, but they are not automatically more accurate or more explainable than a properly validated Silverkite model.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Is Greykite right for you?

  • Choose it for interpretable business forecasting with calendar effects, changing trends, events, regressors and an integrated evaluation workflow.
  • Be cautious if you need the newest Python immediately, a rapidly evolving ecosystem, a minimal API, irregular event-driven data, very large heterogeneous panels or state-of-the-art deep-learning research.
  • Do not choose it solely for automation: data cleaning, horizon design, leakage prevention, baselines, backtesting and monitoring remain your responsibility.

For many structured operational series, Greykite offers a practical middle ground between hand-built statistical pipelines and opaque neural systems. Its suitability should be decided by reproducible, horizon-matched backtests on your own data.

Frequently Asked Questions

Is Greykite the same project as GreyKite or GrayKite?

Yes—the installable project is named Greykite, with the lowercase package name greykite. GreyKite and GrayKite are spelling variants.

Is Greykite free?

Yes. Greykite is an open-source BSD 2-Clause Python package with no paid Greykite plan identified in the cited project sources.

Does Greykite work with Python 3.13?

Python 3.13 is not listed in the 1.1.0 PyPI classifiers. Use a tested Python 3.10–3.12 environment unless you have verified another version yourself.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Is Greykite better than Prophet?

Neither is universally better. Compare them with the same time-ordered backtests, horizon, regressors and metrics; Greykite’s Prophet integration also requires compatibility checks.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.