📈  Prophet — Time Series Forecasting by Facebook (Meta)

Prophet — Time Series Forecasting by Facebook (Meta)#

An open-source library for decomposable time-series forecasting with trend and seasonality.

Important

✨ AI-generated content. This page was written with the assistance of an AI language model and is provided as a learning aid. Despite careful review, it may still contain mistakes, omissions, or out-of-date information. Whether you are new to the topic, a team lead, or a senior practitioner, treat it as a starting point rather than an authoritative reference: read it critically and independently verify anything you act on (code, commands, figures, and factual claims) against official documentation and primary sources before relying on it.

What it is#

Prophet is an open-source forecasting library from Facebook (now Meta) that makes time-series forecasting simple, scalable and interpretable — designed for business data with trends, seasonality and holidays, and usable without deep statistical expertise.

The decomposable model#

Prophet models a series as a sum of interpretable components,

\[y(t) = g(t) + s(t) + h(t) + \varepsilon_t,\]

where \(g(t)\) is the trend (linear, or logistic with saturation \(g(t) = \frac{C}{1 + \exp(-k(t - m))}\), plus automatic changepoints), \(s(t)\) is seasonality (a Fourier series for weekly, yearly or custom cycles), \(h(t)\) captures holidays and events from a supplied list, and \(\varepsilon_t\) is noise.

Strengths and limits#

Prophet is user-friendly (just a ds/y DataFrame), interpretable (each component is separable), robust to missing data and outliers, detects changepoints automatically, and scales across many series. Its limits follow from its additive design: it does not model autoregressive correlations, it suits daily/weekly/monthly business data rather than high-frequency signals, and it is less powerful than LSTMs or Transformers on complex patterns.

In practice#

from prophet import Prophet

# df has two columns: ds (datestamp) and y (value)
model = Prophet()
model.fit(df)

future = model.make_future_dataframe(periods=90)
forecast = model.predict(future)
model.plot(forecast)
model.plot_components(forecast)

Theme: Signal Processing & Time Series  ·  All terminology



See also

Source article Adapted (context, re-expressed) in our own words from: Prophet — Time Series Forecasting by Facebook (Meta) (insightful-data-lab.com).

Tags: purpose: reference topic: terminology level: advanced