prophet README

The project's README from github.com/facebook/prophet. As one markdown file: README.md.

Prophet: Automatic Forecasting Procedure

Build

PyPI Version PyPI Downloads Monthly PyPI Downloads All

CRAN Version CRAN Downloads Monthly CRAN Downloads All

Conda_Version


2026 Update: Prophet is in maintenance mode as of v1.4.0. Only bug fixes, dependency bumps, and changes to the R package to meet parity with Python will be accepted. No new features are planned.


2023 Update: We discuss our plans for the future of Prophet in this blog post: facebook/prophet in 2023 and beyond


Prophet is a procedure for forecasting time series data based on an additive model where non-linear trends are fit with yearly, weekly, and daily seasonality, plus holiday effects. It works best with time series that have strong seasonal effects and several seasons of historical data. Prophet is robust to missing data and shifts in the trend, and typically handles outliers well.

Prophet is open source software released by Facebook's Core Data Science team. It is available for download on CRAN and PyPI.

Installation in R - CRAN

⚠️ The CRAN version of prophet is fairly outdated. To get the latest bug fixes and updated country holiday data, we suggest installing the latest release.

Prophet is a CRAN package so you can use install.packages.

install.packages('prophet')

After installation, you can get started!

Installation in R - Latest release

install.packages('remotes')
remotes::install_github('facebook/prophet@*release', subdir = 'R')

Experimental backend - cmdstanr

You can also choose an experimental alternative stan backend called cmdstanr. Once you've installed prophet, follow these instructions to use cmdstanr instead of rstan as the backend:

# R
# We recommend running this in a fresh R session or restarting your current session
install.packages(c("cmdstanr", "posterior"), repos = c("https://stan-dev.r-universe.dev", getOption("repos")))

# If you haven't installed cmdstan before, run:
cmdstanr::install_cmdstan()
# Otherwise, you can point cmdstanr to your cmdstan path:
cmdstanr::set_cmdstan_path(path = <your existing cmdstan>)

# Set the R_STAN_BACKEND environment variable
Sys.setenv(R_STAN_BACKEND = "CMDSTANR")

Windows

On Windows, R requires a compiler so you'll need to follow the instructions provided by rstan. The key step is installing Rtools before attempting to install the package.

If you have custom Stan compiler settings, install from source rather than the CRAN binary.

Installation in Python - PyPI release

Prophet is on PyPI, so you can use pip to install it.

python -m pip install prophet

After installation, you can get started!

Anaconda

Prophet can also be installed through conda-forge.

conda install -c conda-forge prophet

Installation in Python - Development version

To get the latest code changes as they are merged, you can clone this repo and build from source manually. This is not guaranteed to be stable.

git clone https://github.com/facebook/prophet.git
cd prophet/python
python -m pip install -e .

By default, Prophet will use a fixed version of cmdstan (downloading and installing it if necessary) to compile the model executables. If this is undesired and you would like to use your own existing cmdstan installation, you can set the environment variable PROPHET_REPACKAGE_CMDSTAN to False:

export PROPHET_REPACKAGE_CMDSTAN=False; python -m pip install -e .

Linux

Make sure compilers (gcc, g++, build-essential) and Python development tools (python-dev, python3-dev) are installed. In Red Hat systems, install the packages gcc64 and gcc64-c++. If you are using a VM, be aware that you will need at least 4GB of memory to install prophet, and at least 2GB of memory to use prophet.

Windows

Using cmdstanpy with Windows requires a Unix-compatible C compiler such as mingw-gcc. If cmdstanpy is installed first, one can be installed via the cmdstanpy.install_cxx_toolchain command.

Changelog

See Release Notes.

Version 1.4.0 (2026.08.01)

Python

Version 1.3.0 (2026.01.27)

Python

Version 1.2.2 (2026.01.25)

Python

R

Version 1.2.1 (2025.10.22)

Python

Version 1.2.0 (2025.05.30)

Python

Version 1.1.7 (2025.05.30)

Python

Version 1.1.6 (2024.09.29)

Python

R

Version 1.1.5 (2023.10.10)

Python

R

Version 1.1.4 (2023.05.30)

Python

R

Version 1.1.2 (2023.01.20)

Python

R

Version 1.1.1 (2022.09.08)

Version 1.1 (2022.06.25)

Version 1.0 (2021.03.28)

Version 0.7 (2020.09.05)

Version 0.6 (2020.03.03)

Version 0.5 (2019.05.14)

Version 0.4 (2018.12.18)

Version 0.3 (2018.06.01)

Version 0.2.1 (2017.11.08)

Version 0.2 (2017.09.02)

Version 0.1.1 (2017.04.17)

Version 0.1 (2017.02.23)

License

Prophet is licensed under the MIT license.

prophet (facebook/prophet)

Searching Database…

20.4K ·GitHub
这是什么?Prophet 是一个开源的时间序列预测工具:它用加法模型来拟合非线性趋势,并支持年、周、日三种季节性以及节假日效应。它主要面向季节性明显、有多个季节历史数据的时间序列,并且能很好地处理缺失数据、趋势突变和异常值。
它是我在自己的代码里调用的库,还是有界面的应用?它是一个库,不是应用:你需要在 Python 或 R 代码里调用它。Python 包发布在 PyPI 上,R 包发布在 CRAN 上。
运行之前我的电脑上需要装什么?需要 Python 3.7 或更高版本(v0.6 起不再支持 Python 2)。它底层会通过 cmdstan/cmdstanpy 编译一个 Stan 模型——会自动下载固定版本的 cmdstan;在 Windows 上还需要一个兼容 Unix 的 C 编译器,比如 mingw-gcc。
安装时有什么坑需要注意?在 Linux 上从源码构建需要 gcc/g++ 和 python-dev;虚拟机安装时至少需要 4GB 内存,使用时至少 2GB。在 Windows 上,R 版本需要先安装 Rtools。macOS arm64(M1/M2 芯片)有预编译的 wheel 包可以直接安装。
除了趋势和季节性,这个模型还能捕捉什么?还能捕捉节假日效应、自定义季节性和额外的回归变量(v1.4 起支持嵌套的)。增长方式可以是线性、非线性,或 v0.7 新增的“平坦(flat)”选项,趋势突变则通过变点(changepoints)来处理。
我怎么知道预测效果好不好?它内置了交叉验证功能,带有误差指标和可视化。支持并行计算和直接指定切分点,从 v1.1.7 开始还可以自定义性能指标。
它能处理一天以内粒度的数据吗?可以——v0.2 起支持用一天以内粒度的数据进行预测,并支持日季节性和自定义季节性,同一次更新还加入了额外回归变量和交叉验证功能。
它背后有学术论文吗?有:Sean J. Taylor 和 Benjamin Letham 发表的《Forecasting at scale》,刊于 The American Statistician 72(1):37-45, 2018。这个工具由 Facebook 核心数据科学团队开源。
Creator
facebook
Size
67.4 MB
Stars
20.4K
Age
9y
Commits · 90 Days