prophet  by facebook

Forecasting tool for time series data

Created 8 years ago
19,616 stars

Top 2.2% on SourcePulse

GitHubView on GitHub
Project Summary

Prophet is an open-source forecasting procedure designed for time series data exhibiting strong seasonality and multiple seasonal patterns, such as yearly, weekly, and daily cycles, along with holiday effects. Developed by Facebook's Core Data Science team, it offers robustness to missing data, trend shifts, and outliers, making it suitable for researchers and practitioners needing reliable forecasts at scale.

How It Works

Prophet employs an additive model that fits non-linear trends using piecewise linear or logistic growth. It incorporates yearly, weekly, and daily seasonality, plus custom holiday effects, through Fourier series. The underlying model is implemented in Stan, allowing for efficient sampling and uncertainty estimation. This approach provides flexibility in modeling complex seasonal patterns and trend changes.

Quick Start & Requirements

  • Python: pip install prophet (Python 3.7+ required). For Anaconda users: conda install -c conda-forge prophet.
  • R: install.packages('prophet') (CRAN version is outdated). For the latest release: remotes::install_github('facebook/prophet@*release', subdir = 'R').
  • Dependencies: Requires a C++ compiler (Rtools for Windows R users, gcc/g++ for Linux Python users). Cmdstanr backend is available for R. Apple M2 support is included in recent versions.
  • Resources: At least 4GB RAM recommended for installation, 2GB for usage.

Highlighted Details

  • Supports multiple seasonalities (yearly, weekly, daily) and holiday effects.
  • Robust to missing data, trend shifts, and outliers.
  • Offers uncertainty intervals for forecasts.
  • Includes plotting capabilities and cross-validation tools.

Maintenance & Community

Prophet is actively maintained by Meta AI. The project provides extensive documentation, an issue tracker, and a contributing guide. Links to community resources are available on the project's homepage.

Licensing & Compatibility

Prophet is released under the MIT license, permitting commercial use and integration with closed-source projects.

Limitations & Caveats

The CRAN R version is significantly outdated. While recent Python versions support Apple Silicon (M1/M2), installation on Windows may require specific C++ toolchain setup. The project's future plans are discussed in a blog post, indicating ongoing development.

Health Check
Last Commit

1 day ago

Responsiveness

Inactive

Pull Requests (30d)
7
Issues (30d)
2
Star History
109 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.