prophet
Automatic Forecasting Procedure
What it is and what it does
Prophet is a time-series forecasting library built by Facebook's Core Data Science team that automates the process of fitting trends and seasonal patterns to historical data. It decomposes a time series into trend, seasonality (yearly, weekly, daily), and holiday components, then uses an additive model to project future values. The library is designed to work well with data that has strong seasonal effects and multiple seasons of history, and it tolerates missing data and trend shifts gracefully.
You provide Prophet with a pandas DataFrame containing a time column ('ds') and a target column ('y'), call fit() to train the model, then use make_future_dataframe() and predict() to generate forecasts. The package depends on cmdstanpy (which wraps Stan, a probabilistic programming language), numpy, pandas, matplotlib, and a few utility libraries. Installation requires a C++ compiler because Stan code is compiled during setup, which adds medium friction but is a one-time cost.
Use it for:
- Forecast sales, revenue, or demand over the next quarter or year for business planning and inventory management.
- Predict website traffic, user engagement, or API request volumes to capacity-plan infrastructure.
- Estimate energy consumption or utility demand by hour, day, or season for grid management.
- Project staffing needs or call-center volume based on historical patterns with holiday adjustments.
- Monitor and forecast metrics in monitoring systems where you need to detect anomalies relative to expected seasonal trends.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Prophet forecasts time series data using an additive model that combines non-linear trends with seasonal patterns (yearly, weekly, daily) and holiday effects, handling missing data and outliers robustly.
Yes, if you need automatic time-series forecasting with built-in seasonal and holiday handling. Prophet is well-maintained, actively used in production (7M+ monthly downloads), has no known vulnerabilities, and the MIT license poses no restrictions. The medium install friction (C++ compilation via cmdstanpy) is a one-time cost. Install it if your data has clear seasonal patterns and you want a library that requires minimal tuning; skip it if you need ultra-low latency inference or forecasting on non-seasonal data.
Install
prophet on PyPI
pip
pip install prophetuv
uv add prophetpoetry
poetry add prophetInstalling prophet
Before you install
Medium install friction due to compiled dependencies (cmdstanpy). The package is actively maintained with recent releases, supports Python 3.7–3.12, and provides pre-built wheels for macOS (Intel and ARM), Linux, and Windows, reducing build-from-source burden on most platforms.
License in practice
MIT license is permissive; you can use, modify, and distribute Prophet freely with minimal restrictions, making it suitable for both open-source and commercial projects.
Quickstart
pip install prophet
from prophet import Prophet
m = Prophet()
m.fit(df) # df is a pandas.DataFrame with 'y' and 'ds' columns
future = m.make_future_dataframe(periods=365)
m.predict(future)
cmdstanpy requires a C++ compiler toolchain; on Windows, Visual Studio Build Tools or MinGW may be needed. Installation can take several minutes due to Stan compilation.
Verify before relying
- Whether the package's forecasting accuracy is competitive with or superior to alternatives like statsmodels or other modern time-series libraries.
- Real-world performance on datasets with extreme seasonality or non-standard patterns beyond the design assumptions.
- Whether the holiday effects module covers all regions and holidays relevant to your use case.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 7 — cmdstanpy, numpy, matplotlib, pandas, holidays, tqdm, importlib_resources |
| Maintenance | actively maintained — 199 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 7,034,911/month — #1,794 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: prophet-1.3.0-py3-none-macosx_10_11_x86_64.whl; prophet-1.3.0-py3-none-macosx_11_0_arm64.whl; prophet-1.3.0-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; prophet-1.3.0-py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; prophet-1.3.0-py3-none-win_amd64.whl
Tags
More Information Analysis packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyarrowpyarrow provides Python bindings to Apache…
permissive · top 100 on PyPI
networkxNetworkX provides data structures and…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
contourpyContourPy calculates contours of 2D…
permissive · top 1,000 on PyPI
snowflake-snowpark-pythonSnowpark Python provides APIs to query and…
permissive · top 1,000 on PyPI
tbatsImplements BATS and TBATS exponential smoothing…
permissive · top 15,000 on PyPI
pymannkendallImplements a suite of Mann-Kendall trend tests…
permissive · top 15,000 on PyPI
statsforecastStatsForecast provides fast implementations of…
permissive · top 5,000 on PyPI
neuralprophetNeuralProphet is a PyTorch-based framework for…
permissive · top 15,000 on PyPI
pmdarimaPmdarima provides automated ARIMA time series…
permissive · top 5,000 on PyPI
dartsDarts provides forecasting and anomaly…
permissive · top 15,000 on PyPI
hierarchicalforecastReconciles hierarchical time-series forecasts…
permissive · top 15,000 on PyPI
chronos-forecastingChronos provides pretrained transformer-based…
permissive · top 15,000 on PyPI
mlforecastmlforecast trains machine learning models on…
permissive · top 15,000 on PyPI
geocifGenerates climatic impact drivers from Earth…
permissive · top 15,000 on PyPI