# Algorithm Description

Prophet is a time series forecasting algorithm based on an additive model where non-linear trends are fit with yearly, weekly, and daily seasonality. Prophet is robust to missing data, handling outliers and shifts in trend. The algorithm is also designed to have intuitive parameters that can be adjusted without knowing the details of the underlying model.

Note that in Lityx IQ, the date/ordering variable specified in the model settings should be a Date variable because the Prophet algorithm uses calendar dates as part of its processing.

# Additional Links

https://facebook.github.io/prophet/

https://research.facebook.com/blog/2017/02/prophet-forecasting-at-scale/

https://peerj.com/preprints/3190/

# Lityx IQ Parameters

**Trend Type** [default = Linear, other options: ‘Linear’, ‘Logistic’ or ‘Flat’]

- With a Linear trend, the rate of growth is constant and there is no domain max (or min). This is also known as ‘no forecast saturation’
- A Logistic trend is used for forecasts that grow and saturate at a certain domain max (or min). The growth of the forecast should slow and stop, also known as forecast saturation. When using this Trend type the user must specify a saturating min and max (see parameter 7 for details)
- A Flat trend is when there is no growth over time, although there still may be seasonality.

**Number of Changepoints** [default = 25] - this represents the number of uniformly placed changepoints in the time series. Changepoints are only actually used in the model if they have a high magnitude of rate of change.

**Changepoint Range** [default = .8] - this represents the proportion of the time series changepoints are inferred for. It is often discouraged to fit changepoints to the full time series in order to have room for projecting the trend forward, and to avoid overfitting fluctuations at the end of the time series.

**Changepoint Prior Scale** [default = .05] - this represents a parameter modulating the flexibility of the automatic changepoint selection. Large values will allow more changepoints, while small values allow less.

**Seasonality Mode** [default = ‘Additive’, other option: ‘Multiplicative’] - this represent the type of seasonality in the time series.

- Additive is used when seasonality trend is constant over the entire time period.
- Multiplicative is used when trend will increase over time (e.g. rate pf population growth in a large city). Multiplicative seasonality increases the importance of seasonalities over time.

**Seasonality Prior Scale** [default = 10] - this parameter modulates the strength of the seasonality component of the model. Larger values allow the model to fit larger seasonal fluctuations. Smaller values dampen the seasonality.

**Forecast Minimum/Maximum - **Saturating Minimum and Maximum of the forecast. Only applicable if Trend is ‘Logistic’.