Skip to main content

Symon.AI help center

Forecasting

Abstract

Learn how to understand and create the data input needed for a good forecasting model.

Forecasting is an important business practice. It allows for future planning and developing strategies. You can forecast on many different types of data, from payouts to recurring revenue. But forecasting can be difficult. The key to successful forecasting is using the right data in the right format. This Blueprint will help you do just that. You'll learn how to understand and create the data input needed for a good forecasting model.

This Blueprint provides an example that uses a recurring revenue model. Each customer has an ID and a status of either a Mobile or Internet customer. In this Blueprint, we've organized Revenue data into monthly columns. The results are forecast at a customer and product level for 3 periods into the future.

Legend

The tools in this Blueprint are color-coded based on their function:

  • Yellow: These tools contain the input data or results that are ready for export. These are what you’ll be mapping to in Incentives for the Symon.AI Calc object. The Forecasting Data (Data) import contains the incoming revenue data.

  • Pink : These tools manipulate data that this Blueprint provides for the business case.

  • Red: The Forecast tool contains the business logic that forecasts on revenue.

  • Blue: These tools manipulate and transform data for visualizations.

  • Turquoise: These tools are used to set up the import and export of the data. The Adapt tool sets the input column names for data manipulation portion of the Blueprint to recognize. This is what makes it possible to use the data engineering aspect when you replace the sample data with your own. The Select Columns to Export (Select) tool, is used to ensure that the correct columns are downloaded.

  • Lime Green: These are the output tools which contain results that are ready for export.

Pipe inputs

This blueprint uses the Adapt tool to map the columns in your data. The columns required for this Blueprint are:

  1. Product: Product information.

  2. CustomerID: A unique customer identifier.

  3. Revenue Data: Data used for forecasting.

You can look at the sample data to see how the tool maps columns. Whatever column names you use, you can use the Adapt tool to change them to names the pipe recognizes. In the sample, the remapping looks like this:

  • Product Data to ProductID

If you have a different column name used for Customer Data, we recommend you change it like this:

  • Customer Data to CustomerID

How to interpret the results

Exports

There are three output that the blueprint generates:

  1. The Export output contains all the information provided by the forecast tool. You can use the Select Columns to Export (Select) to narrow the columns used in the export.

  2. The Export for Period-based Visual (Export) output contains the sum of the forecasted revenue for the forecasted periods. In this example, the results are grouped by periods. You can change the level of aggregation by using the Aggregate by Product & Period (Aggregate) tool. In this example, we aggregated the results by the two products over the next 3 months. This allows us to see a monthly projection for each of the products in a line graph.

  3. The Export for Total Visual (Export) output contains the sum of the forecasted revenue for the forecasted periods. You can change the level of aggregation by using the Aggregate by Product (Aggregate) tool. In this example, we aggregated the results by the two products over 3 months. This allows us to see the total projection over 3 months in a bar graph.

How it works

This Blueprint helps you learn how to prepare data for a Forecasting tool. To forecast data, your data set should have the same number of periods as the amount of time you want to forecast. You should also remove customers that aren't relevant to the forecasting model. For example, if a customer churned before the period you want to start forecasting from, you’ll want to remove them from the data set. Using the sample data, we'll explain how we transformed our data to work with the Forecast tool.

Tools labeled pink are the tools we use for data manipulation.

Data can come from different systems and can look like the sample data, where columns represent monthly data. But to forecast, we want to organize our data where each row represents monthly data.

To resolve this, we use a few different tools. First, we use the Reshape tool to create new Date and Revenue columns.

Now that we have our data in the format we want, we want to remove any rows that don't contain information. Using the Remove Empty tool, we can remove periods that don't contain any reported revenue data.

Next, we need to change the date columns in our data set to a date format Symon.AI recognizes. This is a common step you may need to perform when bringing in data from another system. When you look at the sample data, notice how the Date column is actually a text type column. Using the Change Type tool, we want to change this column so it's recognized as a date type column.

Now that our Date column is in the correct format, we want to find out how long each customer has been with our company. We can do this by using the Find Min and Max Date (Aggregate) tool and then using the Date Diff tool.

Our final step is to remove customers that churned before the period we want to forecast on. In this Blueprint, we use the Remove Clients That Have Churned (Filter) tool. This removes customers who churned before 2020-12-01. We also want to use the Remove Clients With Less Than 3 Months of Data (Filter) tool to remove data from newer customers.

Now that we've transformed our data into a format we can forecast on, we can use the Forecast tool. In this case, we want to forecast by CustomerID and ProductID. We can do this by using the Analyze By function in the Forecast tool. If we want to, we can change this to forecast on only the customer or only the product.

Note

If you remove either column from the Analyze By function, that column won't appear in the Export results.