Case Study - SaaS Revenue Model Part 1
- 06:46
A case study on how to forecast SaaS revenues.
Glossary
operating model revenue forecast SAASTranscript
We're going to build an operating model for a B2B SaaS business that has recently been through a seed round, and so has some available cash, but that is looking to see when they might need to go for a series A fundraising round for a startup business. In a tech space, forecasting is often done on a monthly basis, so we're gonna be building this forecast based on a three year forecast, but where we look at the forecast on a month by month basis, this is because there is a high degree of uncertainty in the cash flows of the business. There may well be cash constraints in the business that we need to understand on a short term basis. And also the pace of change of the operations is very high. We may well find that we move to a quarterly forecast once we've been through a series a fundraising round. So we're going to assume that we earned 5,000 new customers last year, and by the end of last year, there were 7,800 customers in total. This company is in its early, very fast growth stage, so our assumptions are gonna be for a hundred percent growth during the course of the first forecast year, then up to 175% in the second year, and 200% in the third year. The rationale behind this is that we're going to assume that we get our series A fundraising at the end of the first year, and then can invest that money into substantially driving the growth of the business thereafter. We're going to assume we've got a 100 unit price that's gonna grow at 3.5% at the end of each of the next years. So the 100 is the price for the first forecast year that grows at 3.5% for year two and year three. So let's start by building some of the numbers in these assumptions. If we're growing at 3.5%, then our price for year two is going to have grown by 3.5%, and I can copy that to the right for year three so that for year three, the price is gonna be 107.1.
What I then want to do is apply this to every single month into the future. So for the first 12 months, we want the price of a hundred, then 103, then 107, and I could do this hard coding it, or I could use a little formula, which will be the offset function. The offset function allows us to move a certain number of places from a starting point, and the starting point I'm gonna use is in cell D6. Now, I'm gonna use this formula a number of times, and as I copy it down, I still want to keep looking at column D for this starting point. So I'm gonna hit F4 until I just lock onto column D. That'd be three times. And then what I wanna say is, how many rows down do I wanna move from the starting point? Well, zero. I'm looking across to forecast the model, how many columns across do I want to go, wanna use the match function? And what the match function says is let's go and have a look at what year we're in. So row three shows the year that we're in in every Single month out into the future. So let's use I3 for now. And what I wanna do is look for that within the numbers of the years. Now it says FY1, FY2, and FY3, but these are actually numbers that are typed into Excel, but with a bit of formatting around it to display the FY at the front. And then I wanna hit F4 to lock onto those cells as well, and with a bracket at the end, we'll get to 101 final adjustment I do want to make to, this is to my I3 reference, because I want to use this formula a number of times as I copy it down, I want to keep looking at row three. So if I hit F4 twice, that will lock onto just I three, the dollar sign in front of just the three.
What I should be able to do now is if I go to the end, the 36th month and then copy this all to the right, we should be able to see that as we go through the years When I get to year two in row three, telling me I'm year two now in column U, the price now jumps up as we get that price increase coming through.
Next assumption we're gonna have a look at is our number of new customers. Our new customers we're assuming are an annual growth rate in the number of customers. So what we're gonna do is forecast the number of new customers across the year and then just evenly spread it through each of the months. So I'm gonna get a hundred percent growth in the number of customers that I've got, so that a hundred percent growth in terms of the number of new customers, I'm gonna need to take the old number and multiply it by one plus that growth rate to get me the number of new customers forecast in my second year. And again, I can copy that for those first three years. So I'm expecting 10,000 new customers in the first year, 27,500 of new customers in year two and 82,500 in year three. Again, I want to separate this out on a month by month basis. So if I take the formula that we put into I3 and then just copy this down to row eight, what this will do for us is it will show us the number of new customers in the first year. We're looking for year one in the numbers 1, 2, 3, and we go one column across from my starting point with now D8, and that's great, but we want to express it on a monthly basis. So I've gotta divide that by 12. And then if I copy this out to the right for all of my three years, we'll see that the 10,000 per year is equivalent to 833 per month. But then when we get into year two, that jumps up to 2,292. Okay, so we've got the first of our assumptions that we really need how many new customers we have every year that will help feed into our calculation of our revenue. We also though, need to figure out how many customers we're going to lose every year as well. And that's our churn rate. The churn rate here, we've taken from last year to be 5.5%, and we're Assuming the churn rate's gonna decline over time as we get better at retaining our customers. To turn this into an annual churn rate, all we've got to do is take the monthly rate and times it by 12, and we can see that churn rate drops over the course of these three years. What I'm gonna need to do though, is to turn this into a monthly number. Now, the monthly churn rate is already monthly, but I do want to get it for every single month in the forecast. So what I'm gonna do is just pick up my offset function and copy it down for the churn. Monthly churn in row 10. Doesn't look like there's much there, but if I put some percentage formatting on it and then remove the divide by 12, we'll get back to the numbers that we're looking for, and I'm gonna copy that to right.