Our take on:
Prophet – a time series based forecasting tool that has been developed on the STAN platform.
How does it work:
It’s based on additive time series modelling that takes into account the following 4 components:
- Trend of the series
- Seasonality (Weekly and Yearly)
- Holiday effect (irregular holiday effects)
- Error (components that cannot be account for)
There are tons of time-series modelling techniques available with numerous tuning parameters that can be used for forecasting. However, not using the correct technique for the right data type can end up quite badly for business. There is no such thing as a general forecasting technique that can be used for almost all types for time series. And, we tend to have more knowledge about the business for which we’re solving the problem rather than the statistics involved in the method. This limits our capability to tune the parameters and get accurate results.
Prophet fills in this gap and provides a very intuitive and easy to use prophet function that can be used for forecasting.
- It’s fast, really fast!
- Handles daily, weekly, monthly or yearly days very well. No need to pre-convert data into time-series object.
- Yearly and weekly seasonality can be considered with just a single parameter. No need to deep dive in identifying the order of seasonality.
- Changepoints (inflection points where trend changes significantly) can be identified automatically or defined manually to take more control of forecasting.
- Irregular holidays can be taken care of.
- In case the forecast is going beyond a certain limit based on business understanding, it can be fixed by setting up a forecasting cap and modelling using logarithmic growth instead of linear growth.
- Outliers can be handled well by model itself without any requirement for imputation.
Does it have any limitations?
Of course, it has. Here are few situations where it cannot give good results.
- In case your time-series is highly irregular, let’s say you have quarterly as well as bi-weekly seasonality, it will be hard for prophet to account for that. In such cases, even your traditional time-series model will have hard time forecasting until you manually tune each parameter.
- Exogenous variables affecting the time series cannot be taken care using prophet. There is no provision to define exogenous during modelling that sets the prophet a step back in comparison to ARIMA.
- Multiplicative models cannot be accounted for using prophet.
- Data need to be feed in pre-defined format.
Here is a quick implementation of prophet.