Here are frequently asked questions on Prophet, which is an algorithm Exploratory uses for time series forecasting.

To forecast, Prophet extracts following features from the past time series data by default.

- Global trend, which is expressed as a polyline that can change its slope at chage points.
- Yearly seasonality.
- Weekly seasonality.
- Daily seasonality. (Only if the granularity of the data is finer than day.)
- Holiday effect, if holiday data is provided.

Prophet extracts those effects from past data, extrapolates them into the future, and sums them up, to come up with the forecasted values for the future dates.

**References:**

The global trend Prophet extracts from the past data is expressed as a polyline. The points where the slope of the polyline changes are change points.

Prophet by default sets up 25 change point candidates spread evenly over the first 80% of the past data period, and optimizes the extent of changes at those change point candidates.

In most of the cases, the optimal result is to make slope changes at only a few of those change point candidates. This can be interpreted that those points are the points where the trend actually changed in the past.

Change points and the extent of the change at each of them are expressed as the red bars on the Trend tab of "Time Series Forecasting (Prophet)" tab.

**References:**

No. Stationarity is an important condition for some other time series forecasting algorithms such as ARMA or ARIMA, but prophet assumes nothing about stationarity.

Prophet rather makes use of features like trend or seasonality, which stationary data by definition do not have. So, if you feed stationary data into prophet, the forecast result most likely would be close to a flat line. We could say that forecasting with such data is not forte of Prophet.

**References:**

Yes. Being able to forecast even with missing data points is one of the advantages Prophet has in comparison with many other time series forecasting algorithms.

You could remove such data points as an outlier, but prophet offers another approach, which is to include the effect of such events in the model, as "holiday effect". By that, prophet can make a forecast that takes the effect of such events into account, should the event happen in the future again.

The values of the external variables for the future period are required to forecast with a Prophet model built with external variables. If the future values for the external variables are not privided, the Prophet model is still built, but forcast for the future period is not done.

This means that, for the purpose of forecasting future values, the external variables either has to be predetermined, or at least easier to forecast than the target values of the forecast. (If the purpose of the modeling is to analyse relationships between the past time series data, rather than making future forecast, of course this is not a requirement.)

It would be great if Prophet could forecast external variables together with the target variable depending only on the past data, but right now it does not have that feature. This github issue is about this very feature, but it seems it might take some time for it to take some shape.

The R source code where Exploratory calls prophet is open sourced at this Github repository.