Both analysts and marketers, regardless of the field in which they work, regularly solve the same problem: revenue forecast. The only thing that varies is the formulation of the task: “How much money will we earn by the end of the year?”, “Which feature (A or B) will bring us more profit?”, “Does it make a commercial sense to enter a new market?”, and so on.
In this article Vasiliy Sabirov, Lead Analyst at devtodev, gathered 9 proven tips that will help you to improve the accuracy of revenue forecasting.
Tip 1. Use time series
It is very difficult (or even impossible!) to forecast revenue if you don’t know how much money you earned during previous time periods. In most cases, you have data on how your revenue was changing in the past. So, you are dealing with time series.
Here are several methods you need to consider:
Trends and seasonality
We have already devoted a longread to this topic. Now I would like to just add a few practical tips to it.
Be careful with polynomial trends. They are very good (sometimes even better than all the other methods) at repeating available data. However, when it comes to forecasting, they tend to be quite stormy. Depending on the degree of the polynomial, the tail of the graph (the forecast itself) can bend in one direction or another. The higher the degree, the higher the flexibility of the graph and the probability that it will bend in the wrong direction.
A usual linear trend is the easiest way to understand the dynamics. It simply shows whether your income goes up or down, and also specifies the speed of these changes. It is absolutely enough for understanding the direction of your development. However, it is not enough for making an accurate forecast.
Divide time series into segments. Everything has a life cycle, online-projects are not an exception. Therefore, it would be pointless to make predictions with the help of the linear trend that includes all data from the very beginning of the project: there are simply too many things that have changed. It makes sense to specify several stages of your project, understand the reasons associated with going from one stage to another, and make the forecast based on the data from the last stage. Do you remember yourself 5 or 10 years ago? At that moment, not everyone would be able to imagine ourselves in 2017. This is an illustration of why it is so important to divide time series into segments.
As practice shows, this is a more accurate method than using trend and seasonality. You are building a regression model of income based on income values for one, two, or N previous periods.
Thus you are able to reveal hidden patterns in data, which couldn’t be found with trends and seasonality. The more periods you use when building the regression, the longer the period of your forecast can be.
Let’s say, you have data about your revenue for each day of the previous year. Then you can make forecasts for each of the 30 days of the next month by adding 30 variables to the regression model.
ARMA and ARIMA
These models are the result of the development of the regression model. In fact, “AR” in their names stands for “Autoregressive”. “MA” stands for “moving average”, which means that these models go deeper into data and reveal its internal patterns better. It might be difficult to implement these models in Excel (though there are some add-ins for this purpose), but still possible. I recommend to use statistical tools, such as SPSS or Statistica. However, these recommendations are based on nothing more than my personal experience with these tools.
As a rule, ARMA and ARIMA allow to make more accurate predictions than simple autoregression. However, the growth of accuracy is not as drastic as it can be when comparing autoregression with trends and seasonality. Therefore, for a quick forecast there is no real need to spend time on ARMA and ARIMA.
Tip 2. Don’t forget about regression models
In fact, regression is quite a universal method. Its advantage over time series lies in a fact that in case of time series you make predictions based only on revenue values for previous periods, whereas in regression model you also consider other metrics.
There are several ways to calculate revenue. For example, revenue is the audience multiplied by ARPU (revenue from a user). The audience is a quantitative metric, it says a lot about the scale of the project and is influenced by traffic. Revenue from a user is a qualitative metric: it shows how willing your users are to pay. These metrics can and need to be considered and predicted separately, because they behave differently and are influenced by different factors.
Similar reasoning can be done by looking at another revenue formula: paying users multiplied by the revenue from a paying user (ARPU). Theoretically, it is possible to use regression in relation to any of the metrics that you have.
Just a few tips:
If it is possible (in Excel - not always), use only significant variables when building the model. If you input a hundred of metrics, it is not necessarily mean that all of them should be used in the final equation.
Make sure that input metrics are maximally independent from each other and weakly correlated. Otherwise, there is a risk of getting unstable results (that will be good at repeating your input data, but will produce strange values when it comes to forecasting).
Know your residuals. If you studied regression at the university, you probably remember a terrible word “heteroskedasticity”. This is what we are going to talk about, and it’s not that scary as it may sound! If you have done everything right, then when looking at the graph with residuals, you will not be able to say anything: there will be an unpredictable random value with a mathematical expectation equal to zero. If you see some regularity (let’s say a sinusoid), then it might be the case that you came across heteroskedasticity. This means that you haven’t taken into account an additional logic by which data is distributed. In this case, you need to change the regression equation by adding an unaccounted equation (in our case - sinusoid) to it.
Tip 3. Build custom models for your project
The time series and regression are not the only possible methods to forecast revenue. You can always build your own models designed specifically for your project.
Here is an example of the model that I like to build:
We can calculate how many users are on the first, second, third, etc. month in the project at the current moment.
We can calculate the percentage of users who stay active on the second month, as well as the percentage of users who proceed from the second to the third month and so on.
Finally, we can calculate an average sum that a user, who is on the N-th month in the project, spends during this month. In other words, ARPU for the month.
There is enough information to build the model on: you will know how your users proceed from one month to the next one and how much they pay. By the way, it is possible to make calculations on a yearly, weekly, or even daily basis (although, to be honest, I haven’t tried taking a day as a period myself). It can be any period that suits your needs - depending on how long users stay in your project.
With this model, you can easily plan traffic inflow. You just need to increase the number of new users for a particular month.
Tip 4. Calculate the payback of your traffic
Sometimes, especially during the early stages, a project entirely depends on new users. If there are new users, a project is profitable; if there are not enough users - it is not.
That is why all the tips above are useless if you don’t know when and how much traffic you will attract.
Therefore, it would be great if you could build a curve with a cumulative income from your traffic by days: how much money on average a user brings during the first day, the first, second, or third week, the first month, and so on. This is that value, the limit of which is LTV. When you know your cumulative income, you can forecast revenue more accurately based on when and how many users you’ve got, as well as calculate the payback of your traffic.
Tip 5. Use expert forecasting
Current tip mostly concerns those situations when you are planning some project changes that may have a significant impact on your revenue. However, it doesn’t mean it can’t be used in cases when this impact is going to be less noticeable.
Let’s say your company is preparing to release some new content, features or a new subscription type - basically, anything. It is a good thing to first ask people that are involved into the preparation (project manager, game designer, producer, marketer) about the impact these changes will have on the revenue. So, as an analyst, you will be able to make a reliable forecast by combining their expert evaluation and your accurate calculations.
You can do it the following way: every month you ask certain groups of your colleagues about the project revenue for the next month. By accumulating data about their evaluations and actual revenue, you will be able to sort their opinions by relevance (and, maybe, even exclude some groups later).
For example, you may notice that the producer tends to overstate the expected income, while marketers are too modest in their evaluations. The truth is somewhere in the middle, and previously collected data will show you where exactly. In addition, it is a very good way to learn about the planned changes first-handedly.
Tip 6. Place your bets
Increase your colleagues’ involvement by adding game elements to the process!
I’m sure you don’t need my explanations on how to bet. What is important is that if you play this game on a regular basis with the key team members, it will increase understanding of the prospected revenue, and will allow everyone to find a logical connection between their actions and an indicator’s value.
Also, this game will help you to understand why your forecast didn’t coincide with the real revenue: maybe, you haven’t considered all the necessary factors?
Tip 7. Analyze all changes
I am convinced that by analyzing all changes from the very beginning of the product’s life, you will be able to better understand your project, audience, and revenue structure. Therefore, I recommend to analyse all changes and to keep a log of every published feature to be able to make more accurate and informed decisions.
At some point you will notice that some changes in your product considerably increase revenue and related metrics, while others - don’t bring anything. Subsequently, you will be able to forecast revenue from a new feature more accurately by comparing it to the similar changes in the past.
In this context, it is worth recalling the Bayes’ theorem. By going deeper into his methods, you will realize that there are good news and bad news.
Good news. Taking into consideration all “but” while forecasting revenue, makes the forecast much more accurate.
Bad news. It is not possible to take into consideration all “but”.
However, there is no reason to despair, you just need to take into account all factors that you can come up with and formalize. While the set of factors will grow, the complexity of the forecast will grow as well, and its accuracy will increase.
Let’s say you are making a forecast for a football match. Your first assessment is an emotional one: “Barcelona will beat Real Madrid 3:1”. For some reason Barcelona doesn’t win and you start analyzing why. The forecast consists of many factors: the current position of teams in the table, the history of their matches, the factor of home advantage, injuries of the players, motivation, and so on. After a while, your forecasts will become much more accurate. Basically, you are training your own neural network: by analyzing mistakes, you add more factors into your forecast and make it more accurate in the end.
It is important to understand that forecasting is an interactive process. By constantly practicing, evaluating and looking at the results in detail, you advance your skills in making forecasts and gradually become an expert.
Tip 8. Combine different methods
If this article was presented in a form of a test, the right answer would be “all of the above”.
There are lots of combinations that can be used, and I don’t want to limit you in which one to choose. However, there is a combination that I use myself and that I am satisfied with:
forecast audience and ARPU separately;
use time sequences;
adjust your audience forecast basing on data about traffic inflow;
adjust your ARPU forecast basing on planned changes in the project (with the help of expert evaluation);
multiply audience and ARPU forecasts to get the revenue forecast;
it is possible to make corrections to the revenue forecast based on the expert evaluation of planned changes (in this case, make sure that all the changes are analyzed in detail), and on the custom model that describes how users proceed from one month to another.
I hope these tips were helpful and wish you to have only accurate forecasts and constantly growing revenue!
By the way, here are a several books on the topic that I would love to recommend you:
Nate Silver “The Signal and the Noise”. In this book you can find a detailed description of Bayes’ approach to forecasting and see it in use on real examples ranging from baseball to politics. Some time ago I shared my thoughts about this book in a separate article.
Eric Siegel “Predictive Analytics”. From a theoretical point of view, this book is less relevant than “The Signal and the Noise”, however I like it for its brilliant examples. The subtitle of the book is: “The power to predict who will click, buy, lie, or die” - all of these examples are described in detail in this book.
Vasiliy Sabirov “How to analyze promotional activities in games”. I modestly recommend my book, which is available online for free. Don't be scared by the words “promotional activities” and “games” in its title - the book describes in detail the process of analysing changes in the project. Let’s recall the tip 7 of this article: the better you analyze changes in your project, the more accurate the forecast is.