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 weather will be or where a pollen grain being randomly buffeted by gas molecules will end up. Interest in Bayesian statistical methods has exploded over the past 30 years with the onset of modern computing:
Bayesian inference remained extremely difficult to implement until the late 1980s and early 1990s when powerful computers became widely accessible and new computational methods were developed. The subsequent explosion of interest in Bayesian statistics has led not only to extensive research in Bayesian methodology but also to the use of Bayesian methods to address pressing questions in diverse application areas such as astrophysics, weather forecasting, health care policy, and criminal justice. (bayesian.org)
Scientific Computing has applications in both Academia and Business
Stan is a state-of-the-art Bayesian data analysis program developed thanks to the time and efforts of more than two dozen statisticians, computer scientists, mathematicians, and other researchers. Most of these developers were only able to work on Stan with the support of a variety of foundations, grants, and sponsors—many from the world of academia.
In using Stan as the basis of the Prophet forecasting tool, Facebook follows what is regarded as best practice in the tech business, which is to make use of existing free software languages and tools to create proprietary code. (The free and open source infrastructure of our contemporary tech-infused lives needs support to remain sustainable, which is why organizations like NumFOCUS exist!) In choosing to make Prophet open source, Facebook does a great service to the data science and business community while “paying it forward” for building the tool on top of open source software like Stan.
NumFOCUS is proud to support the development of innovative and game-changing tools like Facebook’s Prophet by providing a sustainable home for open source scientific software like Stan!