I love cloud computing. I love metrics. And I love renewals. So when I went looking on the Web for a great discussion of SaaS renewals and metrics I was surprised not to find much. Certainly, I found the two classics on SaaS metrics:
- The Bessemer Venture Partners 10 Laws of Cloud Computing white paper, which I highly recommend despite its increasing pollution with portfolio-company marketing.
The Four Factors
While the above articles are all great, I was surprised that no one really dug into the nitty-gritty of renewals at an enterprise SaaS company, where I believe there are four independent factors at work:
- Timing. When a contracted is renewed. For example, how to handle when a contract is renewed early or late.
- Duration. The length of the renewed contract. For example, how to handle when a one-year customer renews for three years, and receives a multi-year discount in the process (for either pre-payment or the contractual commitment itself). 
- Expansion/shrinkage. The expansion or shrinkage of the contract’s value compared to the original contract. For example, how to handle customers adding or dropping seats or products, and/or price increases or decreases.
- The count metric. What do we wish to count (e.g., bookings, ARR, seats, or customers) and what does it mean when we count one thing versus another.
Particularly in a world where companies are increasingly marketing “negative churn” rates and renewal rates well in excess of 100%, I think it’s worth digging into this and offering some rigor.
A Simple Example
Let’s take a concrete example. Imagine a customer who buys 100 seats of product A at $1,200/seat/year on 7/30/12, with a contractual provision that says the price cannot increase by more than 3% per year [1a].
Imagine that customer renews on 6/30/13, buying 80 seats of product A for $1,225, and adding 40 seats of product B at $1,200/seat/year, and who receives a 15% discount for making a prepaid three-year commitment.
Hang on. While I know you want to run away right now, don’t. This is all real-life stuff in a SaaS company. Bear with me, and download the spreadsheet here (as an Excel file, not a PDF) that shows the supporting math.
A few questions are easy:
- What were the bookings on the initial order? Answer: $120,000.
- What was the annual recurring revenue (ARR) of the initial order? Answer: $120,000.
- What were the bookings on the renewal order? Answer: $372,300.
- What was the ARR of the renewal order? Answer: $124,100. 
Calculating Churn: Leaky Bucket Analysis
So far, so good. Now let’s talk about churn. Because, as you will see, renewal rates alone are complicated enough, I have adopted a convention where:
- When it comes to renewals, I look only at rates
- When it comes to churn, I look only at dollars/values
I know this is a completely arbitrary decision, but doing this lets me remember one set of formulas instead of two, reduces rat-hole conversations about definitions, and — most importantly – lets me look at one area in percentages and the other in dollars, helping me to avoid the “percent trap” where you can lose all perspective of absolute scale. 
I define churn with an equation that I call “leaky bucket analysis.” 
Starting ARR + new ARR – churn ARR = ending ARR
So, some questions:
- Was there any churn associated with this renewal? Answer: Yes.
- Why? Answer: Despite a small price increase on product A, there was a 15% multi-year discount and a loss of 20 seats which more than offset it.
- How much ARR churned? Answer: $36,700. 
- How much new ARR was added? Answer: $40,800. The after-discount value of the product B subscriptions.
- What is ending ARR? 124,100 = 120,000 + 40,800 – 36,700.
- How many customers churned? Answer: 0.
- How many seats churned? Answer: 20.
Note that ARR, seats, and customers are all snapshot (or, point-in-time) metrics that lend themselves to leaky bucket analysis. Period-metrics, like bookings, do not. Bookings happen within a period. There is no concept of starting bookings + new bookings – churn bookings = ending bookings. That’s not how it works. So, when you define churn through leaky bucket analysis, measuring bookings churn doesn’t work.
We can, however, calculate bookings churn as the difference between what was up for renewal and what we renewed. In this case, $120,000 – $372,300 = ($252,300), showing one way to generate a negative churn number. The example makes somewhat more sense in the other direction: if we had a three-year $372,300 contract up for renewal and only renewed $120,000 them we might argue that $252,300 in bookings were churned. From a cash collections perspective, this makes sense .
But from a customer value perspective it does not. Unless the customer has plans to discontinue using the service, by dropping from a three-year to a one-year contract we will actually collect more money from them over the next 3 years if they continue to renew ($438,000 vs. $372,300) . So the bookings churn that looks bad for year-one cash actually results in superior ARR and three-year cash collections.
The lesson here is that different metrics are suited for measuring different things. In this case, we can see that bookings churn is useful primarily for analyzing short-term cash collections and not, say, for customer lifetime value or customer satisfaction.
Renewal Rates and Timing
Now that we’re warmed up let’s have some fun. Let’s answer some questions on renewals:
- From a bookings perspective, when should we count the renewal order? Answer: the order was received on 6/30/13 so it’s a 2Q13 booking.
- From a renewal rate perspective, when should we count this order? Answer: while debatable, to me it’s a renewal of a 3Q contract, so I would count it in 3Q from a renewal rate perspective. 
- When would we count the booking if it were late and arrived on 10/30/13? Answer: From a bookings perspective, it would be a 4Q13 booking. From a renewal rate perspective, it’s the renewal of a 3Q contract, so I would count it in 3Q. 
- On a customer-count basis, how do we count this renewal? Answer: 100%. We had one logo before and we have one logo after, so 100%. 
Here it’s going to get a little dicey.
On an ARR basis, how do we measure this renewal? Answer: this begs the question of whether we should include expansion ARR due to new seats, new products, and price increases. Since I am worried that expansion may hide shrinkage, I want to see this both ways. Hence, I will define “gross” to mean including expansion and “net” to mean excluding expansion.
- What is the gross ARR-based renewal rate? Answer: 103%. 
- What is the net ARR-based renewal rate? Answer: 69%. Now you understand why I want to see it both ways. The net rate is showing that we lost real ARR on product A due to reduced seats and the multi-year discount. The upsell of product B hides shrinkage, producing an innocuous 103% number that might evoke a very different scenario in the mind’s eye (e.g., renewing the original deal for one year with a 3% price hike).
- What is the gross bookings-based renewal rate? Answer: 310%. We took a $120,000 order and renewed it at $372,000. (But we transformed it greatly in the process.)
- What is the net bookings-based renewal rate? 208%. We took a $120,000 order for product A and turned it into a $249,000 order for product A. But we dropped ARR about 33% in the process (from $120,000 to $83,300) through lost seats and the multi-year discount.
- What is the gross seat-count renewal rate? 120%
- What is the net seat-count renewal rate? 80%
- What is the customer-count renewal rate? 100%
Identifying the Best Renewal-Related Metrics
So, what is the renewal rate then anyway? 69%, 80%, 100%, 103%, 120%, 208%, or 310%?
I’d say the answer depends on what you want to measure. Having nearly drowned you in the renewal-rate swamp, let me now drain it. Here are the metrics that I think matter most:
- Leaky bucket analysis is important because ARR growth is the single most important driver of value for a SaaS company.
- Churn ARR shows you, viscerally, how much extra you had to sell just to make up for leaks . Rates seem sterile by comparison.
- The customer count-based renewal rate is the best indicator of overall customer satisfaction: what percent of your customers want to keep doing business with you, regardless of whether they change their configuration, product mix, seat mix, contract duration, etc.
- The gross seat-based based renewal rate shows you how effective you are at driving adoption of your services. Think: land and expand (in terms of seats).
- The gross ARR-based renewal rate shows you, overall, how effective you are at increasing your customers’ annual commitment. However, it says nothing about how you do that (i.e., which type of expansion ARR) or the extent to which expansion ARR in one area is offsetting shrinkage in another.
- The net ARR-based renewal rate shows you how much of ARR you renew without relying on expansion. This is a very conservative metric designed to unmask problems that can be hidden by expansion ARR.
- The gross bookings-based renewal rate is the best predictor of future cashflows. If we know that, on average, we take an order of 100 units and turn it into an order of 175 units – through whatever means – then we should use this metric to predict cashflows. Note that, as we’ve seen, there are trade-offs between ARR and bookings, but the consequences of those can be revealed by other metrics.
 Note that in a multi-year prepaid contract that bookings (order value) equals total contract value (TCV). When multi-year contracts are not prepaid, bookings are only the first-year portion of TCV.
[1a] Some purists would argue that having the right to raise the price 3% should set the denominator of subsequent renewal rate calculations to 1.03 * original-value. While I get the idea, I nevertheless disagree.
 The renewal order is for three years, so to calculate the ARR we need to divide the bookings value by three.
 Saying our “churn rate was 10%” makes things sound OK, but saying we churned $2M in ARR is, to me, somehow more visceral. That is, we had to sell an extra $2M in ARR just to make up for existing business that we lost.
 A leaky bucket starts at one water level, during a period new water is added, some water leaks out, and the net change establish the ending water level. (Note that in leaky bucket analysis, definitionally, leaks are never negative.)
 Now might be a good time to download the spreadsheet accompanying this post so you can see my calculations. In this case, the churn is the difference between the total value from product A on the original order versus the renewals order.
 Subscription bookings typically turn into cash within 90 days.
 In reality, we should both uplift the price in years 2 and 3 and discount by the renewal rate to get a better expected cash collections figure. (There is nearly endless detail in analyzing this subject but I will make simplifying assumptions at times.)
 Otherwise, it would juice 2Q renewal rates and depress 3Q renewal rates, making both less meaningful.
 Bonus question: how would you handle the late-renewal scenario at the 7/20/13 board meeting? Answer: I would publish provisional renewal rates that exclude the transaction, letting the board know we have an outstanding renewal in process. Then once it closed, I would revise the 3Q renewal rates accordingly.
 Which then begs the question of how you count customers. For example, while GE has one logo, they have numerous very independent divisions in a large number of countries.
 Note that purist might argue that since we had the right to raise prices up to 3% that we should put 103% of the ARR in denominator in this and all similar calculations, thus dropping the resulting renewal rate here to 100%. While I believe annual increases are important, I still believe renewing someone to 103K in ARR who was at 100K in ARR is a 103% renewal. Tab 3 of the supporting spreadsheet plays with some numbers in this regard.
 It is a good idea to divide churn into 3 buckets to describe the reason: owner change (including bankruptcy), leadership change, and customer dissatisfaction.