How Facebook Made Business Forecasting Scalable for the Masses with Prophet

It’s time to add forecasting to your data team’s tool kit. Mode notebooks now support Prophet, a powerful forecasting library for Python and R, built by the Core Data Science Team at Facebook. Prophet helps data teams provide high-quality forecasts alongside standard reporting, in a fraction of the time accurate forecasting previously required. To help you jump in, we’ve created a Getting Started guide, that explains how to use Prophet to solve common business forecasting problems.

Most dashboards you build face backward, providing detail on the past. They help answer the question, what happened? These questions are important, and certainly have their place.

But what if people start asking you what will happen?

Future-looking analysis like this is called forecasting. At a high-level, forecasting is all about prediction. When we forecast, we create a model that fits historical, time-dependent data and then use that model to predict future data points.

The applications of forecasting are nearly endless. We can find answers to all-important questions like, “What will our web traffic look like next quarter?” “How large will our user base be by the end of next year?” Answering these questions accurately and confidently can be the difference between success and failure in decisions large and small. When used in the right situations and with the right kind of data, high-quality forecasting can be a powerful tool for your business.

Until recently, producing high-quality forecasts in a scalable fashion was anything but trivial. As Sean Taylor and Ben Letham of Facebook’s Core Data Science Team point out:

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.

Data teams have found themselves a classic supply-and-demand problem. Demand for high-quality forecasts has always been high, but the number of people qualified to produce these forecasts has remained painfully low.

Facebook was one of the companies that felt the pain of this talent gap. So their Core Data Science Team built Prophet, and later decided to open source it in 2017. Prophet provides completely automated forecasts that can be hand-tuned by analysts and data scientists. In other words, Prophet makes high-quality forecasting scalable.

It doesn’t take a data science PhD to have predicted the impact Prophet would have on the world of data science and analytics. Since its release a year ago, Prophet has already been forked more than 900 times and has earned more than 4,000 stars on GitHub. Businesses that were once plagued by a dearth of people able to forecast accurately can now meet forecasting demands from around their businesses using Prophet. Revenue models, user growth predictions, and countless other forecasts that businesses like Facebook use every day just got a lot more accurate.

Facebook recommends using Prophet for forecasting with data that has the following characteristics:

  • hourly, daily, or weekly observations with at least a few months (preferably a year) of history
  • strong multiple “human-scale” seasonalities: day of week and time of year
  • important holidays that occur at irregular intervals that are known in advance (e.g. the Super Bowl)
  • a reasonable number of missing observations or large outliers
  • historical trend changes, for instance due to product launches or logging changes
  • trends that are non-linear growth curves, where a trend hits a natural limit or saturates

We can’t wait to put this to use in Mode, and we’re excited to see what you cook up, too. Don’t forget to try out our Getting Started Guide for Prophet, and let us know what you think!