Picture

Facebook Prophet

Picture

Stan

Facebook Forecasting Tool Prophet is built on Stan

Facebook recently announced that they have made their forecasting tool, Prophet, open source. This is great news for data scientists and business analysts alike—forecasting is an important but tricky process that is critical to many, both for-profit and non-profit organizations. The Prophet forecasting tool is able to make sophisticated predictions extremely fast—within milliseconds! It is particularly valuable for people who need forecasting data but don’t have the time or skills to develop their own models. 

The open sourcing of Facebook Prophet reinforces the growing trend of making sophisticated data science techniques accessible to non-experts and non-programmers. As Facebook describes it:

We have observed two main themes in the practice of creating a variety of business forecasts:

  • Completely automatic forecasting techniques can be brittle and they are often too inflexible to incorporate useful assumptions or heuristics.
  • Analysts who can produce high quality forecasts are quite rare because forecasting is a specialized data science skill requiring substantial experience.

The result of these themes is that the demand for high quality forecasts often far outstrips the pace at which analysts can produce them. This observation is the motivation for our work building Prophet: we want to make it easier for experts and non-experts to make high quality forecasts that keep up with demand.

Programming Languages and Tools support Data Scientists and Business Analysts

Facebook built Prophet on top of Stan, a NumFOCUS sponsored project. Stan is a probabilistic programming language and suite of coding tools that allows users to implement complex methods in statistical probability. In particular, Stan gives users access to Bayesian modeling techniques and Hamiltonian Monte Carlo (HMC) analysis, which is a way of numerically solving an otherwise impossible problem by simulation, like flipping a coin a lot to estimate the probability that it lands on heads. Monte Carlo methods can be applied to mathematical or physical systems to predict things like what tomorrow’s