Prophet: Automatic Forecasting Procedure
========================================

Prophet is a procedure for forecasting time series data.  It is based on an additive model where non-linear trends are fit with yearly and weekly seasonality, plus holidays.  It works best with daily periodicity data with at least one year of historical data.  Prophet is robust to missing data, shifts in the trend, and large outliers.

Prophet is `open source software <https://code.facebook.com/projects/>`_ released by Facebook's `Core Data Science team <https://research.fb.com/category/data-science/>`_.

Full documentation and examples available at the homepage: https://facebookincubator.github.io/prophet/

Important links
---------------

- HTML documentation: https://facebookincubator.github.io/prophet/docs/quick_start.html
- Issue tracker: https://github.com/facebookincubator/prophet/issues
- Source code repository: https://github.com/facebookincubator/prophet
- Implementation of Prophet in R: https://cran.r-project.org/package=prophet


Other forecasting packages
--------------------------

- Rob Hyndman's `forecast package <http://robjhyndman.com/software/forecast/>`_
- `Statsmodels <http://statsmodels.sourceforge.net/>`_


Installation
------------

::

  $ pip install fbprophet


Note:  Installation requires PyStan, which has its `own installation instructions <http://pystan.readthedocs.io/en/latest/installation_beginner.html>`_.  On Windows, PyStan requires a compiler so you'll need to `follow the instructions<http://pystan.readthedocs.io/en/latest/windows.html>`_.  The key step is installing a recent `C++ compiler <http://landinghub.visualstudio.com/visual-cpp-build-tools>`_.

Example usage
-------------

::

  >>> from fbprophet 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)

