RPO in relation to quarterly revenue

Rather than despondently sit and watch my portfolio melt, I thought I’d expand on a metric I’ve started to track the past few quarters: RPO / Revenue in the current quarter. It’s come out of Saul’s and others’ notes about RPO balance in relation to the most recent quarterly revenue.

For instance, from his last Roundup Saul said about Okta (https://discussion.fool.com/my-portfolio-at-the-end-of-feb-2021-…:slight_smile:

[bolding is mine]
“The biggest number for me was RPO or Remaining Performance Obligations, which was $1.58 billion!!! And up 53% yoy. This is subscription revenue backlog, and that’s an enormous number, more than seven times this quarter’s all time-high subscription revenue! I’ve never seen a company with that much Remaining Portfolio Obligation! It comes because their customers have made a decision to stay with them long term and have set up long-term multiyear contracts.”

And then about Z Scaler:

[bolding is mine]
“RPO was an enormous $1,025 million ($1.025 billion). This for a company with quarterly revenue of just $157 million. It was up 68% yoy.”

RPO (Remaining Performance Obligations) is a SAAS metric. It is revenue that moves from the balance sheet to the income statement. More specifically, it’s Deferred Revenue that turns into top-line revenue. However, it isn’t exactly Deferred Revenue. I’ve seen several companies define RPO as Deferred Revenue + “Backlog” where “Backlog” represents future subscription contracts that have yet to be invoiced (https://www.fool.com/investing/2018/06/26/a-new-metric-provi…)

For example, I didn’t see Crowdstrike announce an RPO balance in their most recent earnings release or CC (I might have missed it), but they did disclose it in the Supplementary Information. Here’s that release: https://ir.crowdstrike.com/static-files/4b2d05ca-e8c4-4526-8…

On the last page, RPO is there under “Additional Metrics”, and looks like this:


Deferred Revenue     911,895,000
Backlog              448,157,000
                   -------------
RPO                1,360,052,000
                   =============

That’s $ 1.3 billion

The reason I think this metric is important is because it gives clarity about the future. It shows how much future revenue they have in relation to how much revenue they just earned in the current quarter. The larger the number, the more clarity there is into the future.

To say it another way, if a company has a very large RPO balance in relation to revenue in the most recent quarter, and that RPO is growing at a similar rate as the revenue over time, it gives a lot of clarity into the future.

Crowdstrike’s RPO balance of $1.3 billion / revenue in the previous quarter of ~ $265 million looks like this:

1.3 billion / 265 million = 5.1

And to qualify those numbers, RPO grew 78% YOY and revenue grew 74% YOY. That’s kind of like saying they had 5 quarters of future revenue sitting on the balance sheet. That’s quite a lot of clarity, and it helps support valuation.

RPO, and therefore this metric, is lumpier than revenue because companies will sign large contracts in some quarters. But, generally speaking, if a company’s RPO balance grows faster than revenue for multiple quarters in a row (and thus this metric goes up), it’s a great indication that the service a company is selling is becoming more of a long-term necessity.

I’m sure a lot of investors intuit this already, but it’s fun to track across quarters.

Here is that metric, along with growth rates, for some of the popular SAAS companies of the board. These all come from the most recent earnings. I hope this is helpful. It’s useful when also considering the very high Net Expansion (NER) and Annual Recurring Revenue (ARR) rates of many of the companies discussed here.


COMPANY     **RPO/QUARTERLY REVENUE**  RPO BALANCE     QUARTERLY REVENUE   YOY RPO GROWTH   YOY REVENUE GROWTH
            (a high number is good)                                        
Okta          **6.8**                  1,600,000,000    234,740,000         53%              42%
Snowflake     **6.8**                  1,300,000,000    190,465,000         213%             117%
Zscaler       **6.5**                  1,025,000,000    157,000,000         68%              55%
Crowdstrike   **5.1**                  1,300,000,000    264,929,000         78%              74%
Cloudflare    **3.0**                    384,000,000    126,000,000         75%              50%
Datadog       **2.4**                    434,000,000    177,500,000         78%              56%
Zoom          **2.0**                  1,751,000,000    882,500,000         190%             369%
Fastly        **1.8**                    155,300,000     82,649,000         119%             40%
           (low is not as good)                                       (you want growth rates to be similar, 
                                                                      or ideally for RPO to be higher over time)

Best,

(Long CrowdStrike, Datadog and Zoom. Considering Snowflake)

PS
Deferred Revenue can of course be current or non-current (recognized in the next 12 months vs beyond 12 months). Therefore, you can distinguish between current and non-current RPO, too. I don’t distinguish between the two here to keep it simple.

120 Likes

Great post gmcnatt, helps provide a leading indicator of future growth. Similarly, I also find it useful to track how the RPO changes overtime. Here is the RPO for some of this board’s favorite companies – I apologize in advance if there are any mistakes, as the data was gathered manually.

Okta


Quarter	        2020, Q4	2020, Q3	2020, Q2	2020, Q1	2019, Q4	2019, Q3	2019, Q2	2019, Q1
RPO	         $1,800M 	 $1,580M 	 $1,430M 	 $1,240M 	 $1,210M 	 $1,100M 	 $914M 	         $792M 
YoY Growth        49%            44%              56%             57%             66%            68%             68%             49%
QoQ Growth	 13.9%	         10.5%	         15.3%	         2.5%	         10.0%	         20.4%           15.4%	
QoQ $ Growth	 $220M  	 $150M 	         $190M 	         $30M 	         $110M 	         $186M   	$122M

ZScaler


Quarter	        2020, Q4	2020, Q3	2020, Q2	2020, Q1	2019, Q4	2019, Q3	2019, Q2	2019, Q1
RPO	         $1,025M 	 $864M  	 $783M 	        $654M   	 $609M 	        $555M   	 $554M 	         $497M 
YoY Growth        68%            56%              41%             32%             123%            35%             39%             63%
QoQ Growth	 18.6%	         10.3%	         19.7%	         7.4%	         9.7%	         0.2%           11.5%             82.1%	
QoQ $ Growth	 $161M  	 $81M 	         $129M 	         $45M 	         $54M 	         $1M   	        $57M              $224M

Datadog


Quarter	        2020, Q4	2020, Q3	2020, Q2	2020, Q1	2019, Q4	2019, Q3	
RPO	         $434M 	         $316M	        $287M 	         $256M 	         $244M  	 $206M  	 
YoY Growth        78%             50%            53%              82%             
QoQ Growth	  37.3%	         10.1%	        12.1%	         4.9%	         18.4%	       
QoQ $ Growth	 $118M 	         $29M	        $31M 	          $12M 	         $38M 	       

Cloudfare


Quarter	        2020, Q4	2020, Q3	2020, Q2	
RPO	         $384M 	        $1,580M 	 $274M 	 
YoY Growth        75%             81%             56%           
QoQ Growth	 12.2%	         24.8%	         18.0%	     
QoQ $ Growth	 $42M 	         $68M

Zoom


Quarter	        2020, Q4	2020, Q3	2020, Q2	2020, Q1	2019, Q4	2019, Q3	2019, Q2	2019, Q1
RPO	         $1,752M  	 $1,629M 	 $1,415M 	 $1,071M 	 $604M 	        $517M 	         $458M 	         $377M 
YoY Growth        190%            215%            209%            184%             
QoQ Growth	 7.6%	         15.1%	         32.2%	         77.3%	         16.8%	         12.9%           21.5%	
QoQ $ Growth	 $123M  	 $213M 	         $344M 	         $467M 	         $87M 	         $59M   	 $81M

Crowdstrike


Quarter	        2020, Q4	2020, Q3	2020, Q2	2020, Q1	2019, Q4	2019, Q3	2019, Q2	2019, Q1
RPO	         $1,360M 	 $1,073M 	 $925M 	         $817M   	 $764M  	 $577M  	 $455M 	         $388M 
YoY Growth        78%            86%              103%           111%             
QoQ Growth	 26.7%	         16.0%	         13.2%	         6.9%	         32.4%	         26.8%           17.3%	
QoQ $ Growth	 $287M  	 $148M 	         $108M 	         $53M 	         $187M 	         $122M   	 $67M

Snowflake


Quarter	        2020, Q4	2020, Q3	2020, Q2	2020, Q1	2019, Q4	2019, Q3	2019, Q2	2019, Q1
RPO	         $1,333M 	 $928M  	 $688M  	 $468M  	 $426M  	 $273M  	 $221M 	         $138M 
YoY Growth        213%            240%            211%            239%             233%            230%             
QoQ Growth	 43.6%	         34.9%	         47.0%	         9.8%	         56.2%	         23.5%           60.3%	
QoQ $ Growth	 $405M  	 $240M 	         $220M 	         $42M 	         $153M 	         $52M   	$83.2M

I hope this is useful for everyone during this difficult time. Let’s not lose sight of the big picture – we don’t know how “the market” will value our companies at any given time, but we DO know that they will continue growing and becoming ever so important across every industry.

-RMTZP
Protect the identity of this board and maximize your learning by reading https://discussion.fool.com/for-board-newcomers-all-others-34765… before participating

34 Likes

Hello gmcnatt,

This is a great post, It’s something that I have been thinking about for quite a while. It’s good to see deferred revenue and/or RPO in relation to quarterly revenue.

You mentioned that you make no distinction between long-term and current figures, which could lead one to misinterpret the numbers. This is so because the denominator in the equation reflects a fixed timeframe and the numerator does not.

If a company is rewarded for increasing RPO/deferred revenue, it has an incentive to continually go longer on contracts, which could lead to bad comparisons over time. Generally, Enterprise Software deals could go annually or anywhere from two to five years. Some government entities require ten year commitments. So it would be good to know if the duration of a company’s RPO remains consistent.

Unless one can get details on the duration of the RPO, it may be more interesting to see your figures using deferred revenues for only the next 12 months in the numerator.

Regardless, the numbers still look great for our companies.

Thanks for sharing.

DJ

8 Likes

Unless one can get details on the duration of the RPO, it may be more interesting to see your figures using deferred revenues for only the next 12 months in the numerator.

Thanks for the thoughts. I think there are iterations one can use on RPO and Deferred Revenue. One reason to use RPO instead of Deferred Revenue only is because “backlog” is an off-balance sheet number, but is still future revenue companies expect to recognize.

For my purposes, this metric is easy to calculate and it’s just a snapshot. I was trying to come up with some sort of framework to capture Snowflake’s value. I think we could see their RPO and RPO growth rates balloon even further in future quarters, and this metric kind of captures that. Generally speaking about the three financial statements, I spend the least amount of time looking at the balance sheet. But with Snowflake it seems a big part of the value proposition is there.

3 Likes

For example, I didn’t see Crowdstrike announce an RPO balance in their most recent earnings release or CC (I might have missed it), but they did disclose it in the Supplementary Information. Here’s that release: https://ir.crowdstrike.com/static-files/4b2d05ca-e8c4-4526-8…

RPO (Remaining Performance Obligation) is a requirement under ASC 606. Every company must report this in their 10Q or 10K if they have any RPO. Crowdstrike does report this and will report it in their 10Q or 10K. It is not required for their 8K. So if you want to see this metric for any company just pull of the 10Q or 10K and do a control F and enter in the box Remaining Performance Obligation and it will take you to the correct spot in that report.

Andy

24 Likes

Ditto on the great post. Snapshot is useful, but it can also be useful to distinguish between current RPO and non-current RPO. Specifically, it can be used as another vector to help estimate revenue in the upcoming four quarters. Current RPO is expected to be recognized within 12 months. Beyond 12 months can get a little more tricky because long-term contracts can be 2 years or 3 years (or maybe longer in some cases). Sometimes the company will state wha their typical contract duration is. For example, the following is from page 102 of the latest CRWD 10-K:

The subscription fees are typically payable within 30 to 60 days after the execution of the arrangement, and thereafter upon renewal or subsequent installment. The Company initially records the subscription fees as deferred revenue and recognized revenue on a straight-line basis over the term of the agreement.

The typical subscription term is one to three years. Most of the Company’s contracts are non-cancelable over the contractual term. Customers typically have the right to terminate their contracts for cause if the Company fails to perform in accordance with the contractual terms.

But I think one of the important points is that with SaaS companies the actual amount of revenue that gets recognized in any given quarter is sort of arbitrary as determined by accounting rules that must be applied to publicly traded companies in the United States. Much of the dollars collected today will not be recognized as revenue until later. This is visible when comparing the CFFO against the revenue and it’s another reason why EV/S ratios for SaaS companies are (and should be) higher than for companies that sell goods. When a company that sells goods makes a sale they get the revenue recognized all at once while a SaaS company can only recognize some of it. There’s “hidden” value if one is looking at a ratio of revenue and not considering deferred revenue and off-balance sheet remaining contract value. It becomes less hidden when an adjustment is made.

But SaaS companies have differing amounts of RPO compared to revenue and I think that it pays to pay attention to the details here.

GR

15 Likes

Hi gmcnatt,

Thanks for the thoughts. I think there are iterations one can use on RPO and Deferred Revenue. One reason to use RPO instead of Deferred Revenue only is because “backlog” is an off-balance sheet number, but is still future revenue companies expect to recognize.

I am sure you already know this but to make this clear to everyone. If you take the Remaining Performance Obligation and subtract the Deferred Revenue from it you will come up with the Backlog left on the contract. Since this was implemented with ASC606 Crowdstrike has only been reporting this from Q220. Here is what it looks like for Crowdstrike.

in Thousands
                          Q220       Q320       Q420       Q121       Q221       Q321       Q421
RPO                       $455,000   $577,200   $764,000   $817,500   $925,500   $1,070,000 $1,400,000
Deferred Revenue          $369,762   $447,639   $571,168   $635,973   $689,890   $579,671   $911,895 
Backlog                   $85,238    $129,561   $192,832   $181,527   $235,610   $490,329   $488,105

While I track this it is not something that management thinks very important. Sometimes you can get to far into the weeds and track to many numbers that you lose site of the company you are watching. Here is what management says about backlog in their recent 10K

Backlog

We enter into both single and multi-year subscription contracts for our solutions. We generally invoice the entire amount at contract signing prior to commencement of subscription period. Until such time as these amounts are invoiced, they are not recorded in deferred revenue or elsewhere in our consolidated financial statements, and are considered by us to be backlog. As of January 31, 2021, we had backlog of approximately $448.2 million. Of this amount, approximately $164.4 million is not reasonably expected to be billed in fiscal 2021. We expect backlog will change from period to period for several reasons, including the timing and duration of customer agreements, varying billing cycles of subscription agreements, and the timing and duration of customer renewals. Because revenue for any period is a function of revenue recognized from deferred revenue under contracts in existence at the beginning of the period, as well as contract renewals and new customer contracts during the period, backlog at the beginning of any period is not necessarily indicative of future revenue performance. We do not utilize backlog as a key management metric internally.

Andy

17 Likes