Note : This is a personal opinion about how to get started with forecasting on your Customer Data Platform. On the date of publishing this post I am not related with Facebook or Facebook Prophet. Please check with your Technical & Data stakeholders before making any enhancements
Time series forecasting can be difficult but Facebook Prophet can make it easy, lets find out how. ( Podcast Episode Coming Soon !! )
What is a CDP or Customer Data Platform?
According to Sagar Mandal, Customer Data Platform or CDP is a marketing ecosystem centered around customer profile, interactions & transactions data to drive the next best offer or experiences across digital and offline platforms.
What is Facebook Prophet?
Facebook Prophet is an open source library build & managed by Facebook to make forecasting easily available to analysts and business stakeholders. Simply speaking it is an application of Supervised Training where it builds a model that best fits future dates based on past or present values used as training data.
The world of time series forecasting is very hard and has data limitations across various approaches. Facebook Prophet makes it easy by using a decomposable time series model best represented as
y(t) = g(t) + s(t) + h(t) + e
Above , g(t) represents trends function , s(t) represents seasonality changes and h(t) represents the effects of holidays that occur over time. e represents any changes that are not accommodated within the model. To explore further, lets dive into the advantages that it brings to your CDP.
I asked GPT3 the same question and it answered the below which is factually correct to an extent
Facebook Prophet is a Facebook application that predicts the future.
OPENAI GPT3engine="davinci, "temperature=0, top_p=1, frequency_penalty=0, presence_penalty=0,
Advantage 1 : Easy QuickStart Forecasting
Forecasting is often difficult to kickstart and often requires a lot of data exploration to get started. With Prophet makes it easy to get started with forecasting on customer behavior data in 3 easy steps as you can see alongside.
Step 1 is to create a dataframe with columns ‘ds’ containing date stamp and ‘y’ containing sales data for a regular customer with ID ‘101’. Note that I have included data till June 2005 only.
Step 2 we create a Prophet object and training to build a model using our dataframe
Step 3 after training is complete, the model is applied on a dataframe containing future dates to derice forecast sales with upper limit & lower limit boundaries
Advantage 2 : Build for Human Behavior
Just like every superhero Prophet has an origin story as well !
At Facebook a lot of forecasting is required everyday from managing cloud resources to expected adoption rates for new features. Hence they wanted forecasting to be easily available as a capability from business analyst , data scientists to business stakeholders.
One of the primary challenge is that human behavior is difficult to predict as it is impacted by multiple factors , seasonality, holidays etc. Prophet makes it very easy to start with an initial model that can incorporate these external factors on historical data and give you ability to add your experience to make your predictions sharper.
Hence if you’re a business that has a lot of traffic , sales or interactions impacted by seasonality, Prophet is a great starting point.
Advantage 3 : Easy to define Upper Limits
One of the challenges for forecasting models is that if not set correctly, they can show results above or beyond the existing capacity. As an example, your CDP has 100 customers and your forecast might show 150 customers purchasing from your eCommerce store.
Prophet makes it very simple to define upper limit and lower limit on the forecasts. For my use case as your see alongside , I have cap as the total number of customers and floor as the minimum number of customers that definitely bought from the store today. Note that I am asking to use a logistic growth trend model instead of linear model for forecasting
Advantage 4 : Easy to add Domain Knowledge
Does your technical debt go up when you ask for customization in your data? Well atleast it wont with Facebook Prophet. With specific columns, you can easily customize the forecast based on your industry expertise or domain knowledge.
For example, here I know that sales are low on bank holidays. Hence I can create a column in the dataset to consider holiday seasonality in the forecasted data
There’s still a long way to go for forecasting and Facebook Prophet brings the advantage of taking the first step to forecast using your CDP data.
What are some of the use cases that come to your mind for forecasting customer data in your CDP?