Category Archives: SaaS

The Big Mistake You Might Be Making In Calculating Churn: Failing to Annualize Multi-Year ATR Churn Rates

Most of the thinking, definitions, and formulas regarding SaaS unit economics is based on assumptions that no longer reflect the reality of the enterprise SaaS environment.  For example, thinking in terms of MRR (monthly recurring revenue) is outdated because most enterprise SaaS companies run on annual contracts and thus we should think in terms of ARR (annual recurring revenue) instead.

Most enterprise SaaS companies today do a minimum one-year contract and many do either prepaid or non-prepaid multi-year contracts beyond that. In the case of prepaid multi-year contracts, metrics like the CAC payback period break (or at the very least, get difficult to interpret).  In the case of multi-year contacts, calculating churn correctly gets a lot more complicated – and most people aren’t even aware of the issue, let alone analyze it correctly.

If your company does multi-year contracts and you are not either sidestepping this issue (by using only ARR-pool-based rates) or correcting for it in your available-to-renew (ATR) churn calculations, keep reading.  You are possibly making a mistake and overstating your churn rate.

A Multi-Year Churn Example
Let’s demonstrate my point with an example where Company A does 100% one-year deals and Company B does 100% three-year deals.  For simplicity’s sake, we are going to ignore price increases and upsell [1].  We’re also not going to argue the merits of one- vs. three-year contracts; our focus is simply how to calculate churn in a world of them.

In the example below, you can see that Company A has an available-to-renew-based (ATR-based) [2] churn rate of 10%.  Company B has a 27% ATR-based churn rate.  So we can quickly conclude that Company A’s a winner, and Company B is a loser, right?

Capture

Not so fast.

At the start of year 4, a cohort of Company A customers is worth 72.9 units, the exact same as a cohort of Company B customers.  In fact, if you look at lifetime value (LTV), the Company B cohort is worth nearly 10% more than the Company A cohort [3].

my churn1

Wait a minute!  How can a company with 27% churn rate be “better” than a company with 10% churn rate?

It’s All About Exposure:  How Often are Deals Exposed to the Churn Rate?
One big benefit of multi-year deals is that they are exposed to the churn rate less frequently than one-year deals.  When you exclude the noise (e.g., upsell, discounts, and price increases), and look at churn solely as a decay function, you see that the N-year retention rate [4] is (1-churn rate)^N.  With 10% churn, your 2-year retention rate is (1-0.1)^2 = 0.9^2 = 0.81.  Your 3-year retention rate is (1-0.1)^3 = 0.9^3 = 0.729, or a retention rate of 73%, equivalent to a churn rate of 27%.

Simply put, churn compounds so exposing a contract to the churn rate less often is a good thing:  multi-year deals do this by excluding contracts from the ATR pool, typically for one or two years, before they come up for renewal [5].  This also means that you cannot validly compare churn rates on contracts with different duration.

This is huge.  As we have just shown, a 10% churn rate on one-year deals is equivalent to a 27% churn rate on three-year deals, but few people I know recognize this fact.

I can imagine two VCs talking:

“Yo, Trey.”

“Yes.”

“You’re not going to believe it, I saw a company today with a 27% churn rate.”

“No way.”

“Yep, and it crushed their LTV/CAC — it was only 1.6.”

“Melting ice cube.  Run away.”

“I did.”

Quite sad, in fact, because with a correct (annualized) churn rate of 10% and holding the other assumptions constant [6], the LTV/CAC jumps to healthy 4.4.  But any attempt to explain a 27% churn rate is as likely to be seen as a lame excuse for a bad number as it is to be seen as valid analysis.

Best Alternative Option:  Calculate Churn Rates off the Entire ARR Pool
I’m going to define the 27% figure as the nominal ATR-based churn rate.  It’s what you get when you take churn ARR / ATR in any given period.  I call it a nominal rate because it’s not annualized and it doesn’t reflect the varying distribution of 1Y, 2Y, and 3Y deals that are mixed in the ATR pool in any given quarter.  I call it nominal because you can’t validly compare it to anything [7].

Because correcting this to a more meaningful rate is going to involve a lot of brute force math, I’ll first advise you to do two things:

  • Banish any notion from your mind that ATR rates are somehow “more real” than churn rates calculated against the entire ARR pool [8].
  • Then use churn rates calculated against the entire ARR pool and sidestep the mess we’re about to enter in the next section [9] where we correct ATR-based churn rates.

In a world of mixed-duration contracts calculating churn rates off the entire ARR pool effectively auto-corrects for the inability of some contracts to churn.  I have always believed that if you were going to use the churn rate in a math function (e.g., as the discount rate in an NPV calculation) that you should only use churn rates calculated against the entire ARR pool because, in a mixed multi-year contract world, only some of the contracts come up for renewal in any given period.  In one sense you can think of some contracts as “excluded from the available-to-churn (ATC) pool.”  In another, you can think of them as auto-renewing.  Either way, it doesn’t make sense in a mixed pool to apply the churn rate of those contracts up for renewal against the entire pool which includes contracts that are not.

If you want to persist in using ATR-based churn rates, then we must correct for two problems:  we need to annualize the multi-year rates, and we then need to calculate ATR churn using an ATR-weighted average of the annualized churn rates by contract duration.

Turning Nominal ATR Churn into Effective, Annualized ATR Churn
Here’s how to turn nominal ATR churn into an effective, annualized ATR churn rate [10] [11]:

Step 1:  categorize your ATR and churn ARR by contract duration.  Calculate a 1Y churn rate and nominal 2Y and 3Y ATR churn rates.

Step 2:  annualize the nominal multi-year (N-year) churn rates by flipping to retention rates and taking the Nth root of the retention rate.  For example, our 27% 3-year churn rate is equivalent to a 73% 3-year retention rate, so take the cube root of 0.73 to get 0.9.  Then flip back to churn rates and get 10%.

Step 3:  do an ATR-weighted average of the 1Y and annualized 2Y and 3Y churn rates.  Say your ATR was 50% 1Y, 25% 2Y, and 25% 3Y contracts and your annualized churn rates were 10%, 12%, and 9%.  Then the weighted average would be (0.5*0.10) + (0.25*0.12) + (0.25*0.09) = 10.25%, as your annualized, effective ATR churn rate.

That’s it.  You’ve now produced an ATR churn rate that is comparable to a one in a company that does only 1-year contracts.

Conclusion
If nothing else, I hope I have convinced that you it is invalid to compare churn rates on contracts of different duration and ergo that is simpler to generally calculate churn rates off the entire ARR pool.  If, however, you still want to see ATR-based churn rates, then I hope I’ve convinced you that you must do the math and calculate ATR churn as a weighted average of annualized one-, two-, and three-year ATR churn rates.

# # #

Notes
[1] In a world of zero upsell there is no difference between gross and net churn rates, thus I will simply say “churn rate” in this post.

[2] As soon as you start doing multi-year contracts then the entire ARR base is no longer up for renewal each year.  You therefore need a new concept, available to renew (ATR), which reflects only that ARR up for renewal in a given period.

[3] Thanks to its relatively flatter step-wise decay compared to Company A’s more linear decay.

[4] Retention rate = 1 – churn rate.

[5] If it helps, you can think of the ATR pool in a glass half-empty way as the available-to-churn pool.

[6] Assuming CAC ratio of 1.8 and subscription gross margins of 80%.

[7] Unless your company has a fixed distribution of deals by contract duration – e.g., a degenerate case being 100% 3Y deals.  For most companies the average contract duration in the inbound ATR pool is going to vary each quarter.  Ergo, you can’t even validly compare this rate to itself over time without factoring in the blending.

[8] Most people I meet seem to think ATR rates are more real than rates based on the entire ARR pool.  Sample conversation  — “what’s your churn rate?”  “6%.”  “Gross or net?  “Gross.”  “No, I mean your real churn rate – what gets churned divided only by what was up for renewal.”    The mistake here is in thinking that using ATR makes it comparable to a pure one-year churn rate – and it doesn’t.

[9] Gross churn = churn / starting period ARR.  Net churn = (gross churn – upsell) / starting period ARR.

[10] I thought about trying a less brute-force way using average contract duration (ACD) of the ATR pool, but decided against it because this method, while less elegant, is more systematic.

[11] Note that this method will still understate the LTV advantage of the more step-wise multi-year contract decay because it’s not integrating the area under the curve, but instead intersecting what’s left of the cohort after N years.  In our first example, the 1Y and 3Y cohorts both had 73 units of ARR, but because the multi-year cohort decayed more slowly it’s LTV to that point was about 10% higher.

The Use of Ramped Rep Equivalents (RREs) in Sales Analytics and Modeling

[Editor’s note:  revised 7/18, 6:00 PM to fix spreadsheet error and change numbers to make example easier to follow, if less realistic in terms of hiring patterns.]

How many times have you heard this conversation?

VC:  how many sales reps do you have? 

CEO:  Uh, 25.  But not really.

VC:  What do you mean, not really?

CEO:  Well, some of them are new and not fully productive yet.

VC:  How long does it take for them to fully ramp?

CEO:  Well, to full productivity, four quarters.

VC:  So how many fully-ramped reps do you have?

CEO:  9 fully ramped, but we have 15 in various stages of ramping, and 1 who’s brand new …

There’s a better way to have this conversion, to perform your sales analytics, and to build your bookings capacity waterfall model.  That better way involves creating a new metric called ramped rep equivalents (RREs). Let’s build up to talking about RREs by first looking at a classical sales bookings waterfall model.

ramped rep equivalents, picture 1, revised

I love building these models and they’re a lot of fun to play with, doing what-if analysis, varying the drivers (which are in the orange cells) and looking at the results.  This is a simplified version of what most sales VPs look at when trying to decide next year’s hiring, next year’s quotas [1], and next year’s targets.  This model assumes one type of salesrep [2]; a distribution of existing reps by tenure as 1 first-quarter, 3 second-quarter, 5 third-quarter, 7 fourth-quarter, and 9 steady-state reps; a hiring pattern of 1, 2, 4, 6 reps across the four quarters of 2019; and a salesrep productivity ramp whereby reps are expected to sell 0% of steady-state productivity in their first quarter with the company, and then 25%, 50%, 75% in quarters 2 through 4 and then become fully productive at quarter 5, selling at the steady-state productivity level of $1,000K in new ARR per year [3].

Using this model, a typical sales VP — provided they believed the productivity assumptions [4] and that they could realistically set quotas about 20% above the target productivity — would typically sign up for around a $22M new ARR bookings target for the coming year.

While these models work just fine, I have always felt like the second block (bookings capacity by tenure), while needed for intermediate calculations, is not terribly meaningful by itself.  The lost opportunity here is that we’re not creating any concept to more easily think about, discuss, and analyze the productivity we get from reps as they ramp.

Enter the Ramped Rep Equivalent (RRE)
Rather than thinking about the partial productivity of whole reps, we can think about partial reps against whole productivity — and build the model that way, instead.  This has the by-product of creating a very useful number, the RRE.  Then, to get bookings capacity just multiply the number of RREs times the steady-state productivity.  Let’s see an example below:

ramped rep equivalents, picture 2, revised

This provides a far more intuitive way of thinking about salesrep ramping.  In 1Q19, the company has 25 reps, only 9 of whom are fully ramped, and rest combine to give the productivity of 8.5 additional reps, resulting in an RRE total of 17.5.

“We have 25 reps on board, but thanks to ramping, we only have the capacity equivalent to 17.5 fully-ramped reps at this time.”

This also spits out three interesting metrics:

  • RRE/QCR ratio:  an effective vs. nominal capacity ratio — in 1Q19, nominally we have 25 reps, but we have only the effective capacity of 17.5 reps.  17.5/25 = 70%.
  • Capacity lost to ramping (dollars):  to make the prior figure more visceral, think of the sales capacity lost due to ramping (i.e., the delta between your nominal and effective capacity) expressed in dollars.  In this case, in 1Q19 we’re losing $1,875K of our bookings capacity due to ramping.
  • Capacity lost to ramping (percent):  the same concept as the prior metric, simply expressed in percentage terms.  In this case, in 1Q19 we’re losing 30% of our bookings capacity due to ramping.

Impacts and Cautions
If you want to move to an RRE mindset, here are a few tips:

  • RREs are useful for analytics, like sales productivity.  When looking at actuals you can measure sales productivity not just by starting-period or average-period reps, but by RRE.  It will provide a much more meaningful metric.
  • You can use RREs to measure sales effectiveness.  At the start of each quarter recalculate your theoretical capacity based on your actual staffing.  Then divide your actuals by that start-of-quarter theoretical capacity and you will get a measure of how well you are performing, i.e., the utilization of the quarterly starting capacity in your sales force.  When you’re missing sales targets it is typically for one of two reasons:  you don’t have enough capacity or you’re not making use of the capacity you have.  This helps you determine which.
  • Beware that if you have multiple types of reps (e.g., corporate and field), you be tempted to blend them in the same way you do whole reps today –i.e., when asked “how many reps do you have?” most people say “15” and not “9 enterprise plus 6 corporate.”  You have the same problem with RREs.  While it’s OK to present a blended RRE figure, just remember that it’s blended and if you want to calculate capacity from it, you should calculate RREs by rep type and then get capacity by multiplying the RRE for each rep type by their respective steady-state productivity.

I recommend moving to an RRE mindset for modeling and analyzing sales capacity.  If you want to play with the spreadsheet I made for this post, you can find it here.

Thanks to my friend Paul Albright for being the first person to introduce me to this idea.

# # #

Notes
[1] This is actually a productivity model, based on actual sales productivity — how much people have historically sold (and ergo should require little/no cushion before sales signs up for it).  Most people I know work with a productivity model and then uplift the desired productivity by 15 to 25% to set quotas.

[2] Most companies have two or three types (e.g., corporate vs. field), so you typically need to build a waterfall for each type of rep.

[3] To build this model, you also need to know the aging of your existing salesreps — i.e., how many second-, third-, fourth-, and steady-state-quarter reps you have at the start of the year.

[4] The glaring omission from this model is sales turnover.  In order to keep it simple, it’s not factored in here. While some people try to factor in sales turnover by using reduced sales productivity figures, I greatly prefer to model realistic sales productivity and explicitly model sales turnover in creating a sales bookings capacity model.

[5] This is one reason it’s so expensive to build an enterprise software sales force.  For several quarters you often get 100% of the cost and 50% of the sales capacity.

[6] Which should be an weighted average productivity by type of rep weighted by number of reps of each type.

Important Subtleties in Calculating Quarterly, Annual, and ATR-based Churn Rates

This post won’t save your life, or your company.  But it might save you a few precious hours at 2:00 AM if you’re working on your company’s SaaS metrics and can’t foot your quarterly and annual churn rates while preparing a board or investor deck.

The generic issue is a lot of SaaS metrics gurus define metrics in a generic way using “periods” without paying attention to some subtleties that can arise in calculating these metrics for a quarter vs. a year.  The specific issue is, if you do what many people do, that your quarterly and annual churn rates won’t foot — i.e., the sum of your quarterly churn rates won’t equal your annual churn rate.

Here’s an example to show why.

saas churn subtle

If I asked you to calculate the annual churn rate in the above example, virtually everyone would get it correct.  You’d look at the rightmost column, see that 2018 started with 10,000 in ARR, see that there were 1,250 dollars of churn on the year, divide 1,250 by 10,000 and get 12.5%.  Simple, huh?

However, if I hid the last column, and then asked you to calculate quarterly churn rates, you might come up with churn rate 1, thinking churn rate = period churn / starting period ARR.  You might then multiply by 4 to annualize the quarterly rates and make them more meaningful.  Then, if I asked you to add an annual column, you’d sum the quarterly (non-annualized) rates for the annual churn and either average the annualized quarterly rates or simply gray-out the box as I did because it’s redundant [1].

You’d then pause, swear, and double-check the sheet for errors because the sum of your quarterly rates (10.2%) doesn’t equal your annual rate (12.5%).

What’s going on?  The trap is thinking churn rate = period churn / starting period ARR.

That works in a world of one-year contracts when you look at churn on an annual basis (every contract in the starting ARR base of 10,000 faces renewal at some point during the year), but it breaks on a quarterly basis.  Why?  Because starting ARR is increasing every quarter due to new sales that aren’t in the renewal base for the year.  This depresses your churn rates relative to churn rate 2, which defines quarterly churn as churn in the quarter divided by starting-year ARR.  When you use churn rate 2, the sum of the quarterly rates equals the annual rate, so you can mail out that board deck and go back to bed [2].

Available to Renew (ATR-based) Churn Rates

While we’re warmed up, let’s have some more fun.  If you’ve worked in enterprise software for more than a year, you’ll know that the 10,000 dollars of starting ARR is most certainly not distributed evenly across quarters:  enterprise software sales are almost always backloaded, ergo enterprise software renewals follow the same pattern.

So if we want more accurate [3] quarterly churn rates, shouldn’t we do the extra work, figure out how much ARR we have available to renew (ATR) in each quarter, and then measure churn rates on an ATR basis?  Why not!

Let’s first look at an example, that shows available to renew (ATR) split in a realistic, backloaded way across quarters [4].

ATR churn 1

In some sense, ATR churn rates are cleaner because you’re making fewer implicit assumptions:  here’s what was up for renewal and here’s what we got (or lost).  While ATR rates get complicated fast in a world of multi-year deals, for today, we’ll stay in a world of purely one-year contracts.

Even in that world, however, a potential footing issue emerges.  If I calculate annual ATR churn by looking at annual churn vs. starting ARR, I get the correct answer of 12.5%.  However, if I try to average my quarterly rates, I get a different answer of 13.7%, which I put in red because it’s incorrect.

Quiz:  what’s going on?

Hint:  let me show the ATR distributed in a crazy way to demonstrate the problem more clearly.

atr churn 2

The issue is you can’t get the annual rate by averaging the quarterly ATR rates because the ATR is not evenly distributed.  By using the crazy distribution above, you can see this more clearly because the (unweighted) average of the four quarterly rates is 53.6%, pulled way up by the two quarters with 100% churn rates.  The correct way to foot this is to instead use a weighted average, weighting on an ATR basis.  When you do that (supporting calculations in grey), the average then foots to the correct annual number.

# # #

Notes:

[1] The sum of the quarterly rates (A, B, C, D) will always equal the average of the annualized quarterly rates because (4A+4B+4C+4D)/4 = A+B+C+D.

[2] I won’t go so far as to say that churn rate 1 is “incorrect” while churn rate 2 is “correct.”  Churn rate 1 is simple and gives you what you asked for “period churn / starting period ARR.”  (You just need to realize that the your quarterly rates will only sum to your annual rate if you have zero new sales and ergo you should calculate the annual rate off the yearly churn and starting ARR.)  Churn rate 2 is somewhat more complicated.  If you live in a world of purely one-year contracts, I’d recommend churn rate 2.  But in a world of mixed one- and multi-year contracts, then lots of contracts are in starting period ARR aren’t in the renewal base for the year, so why would I exclude only some of them (i.e,. those signed in the year) as opposed to others.

[3] Dividing by the whole ARR base basically assumes that the base renews evenly across quarters.  Showing churn rates based on available-to-renew (ATR) is more accurate but becomes complicated quickly in a world of mixed, multi-year contracts of different duration (where you will need to annualize the rates on multi-year contracts and then blend the average to get a single, meaningful, annualized rate).  In this post, we’ll assume a world of exclusively one-year contracts, which sidesteps that issue.

[4] ATR is normally backloaded because enterprise sales are normally backloaded.  Here the linearity is 15%, 17.5%, 25%, 42.5% or a 32.5/67.5 split across the first vs. second half of the year (which is pretty backloaded even for enterprise software).

[5] The spreadsheet I used is available here if you want to play with it.

The Domo S-1: Does the Emperor Have Clothes?

I preferred Silicon Valley [1] back in the day when companies raised modest amounts of capital (e.g., $30M) prior to an IPO that took 4-6 years from inception, where burn rates of $10M/year looked high, and where $100M raise was the IPO, not one or more rounds prior to it.  When cap tables had 1x, non-participating preferred and that all converted to a single class of common stock in the IPO. [2]

How quaint!

These days, companies increasingly raise $200M to $300M prior to an IPO that takes 10-12 years from inception, the burn might look more like $10M/quarter than $10M/year, the cap table loaded up with “structure” (e.g., ratcheting, multiple liquidation preferences).  And at IPO time you might end up with two classes common stock, one for the founder with super-voting rights, and one for everybody else.

I think these changes are in general bad:

  • Employees get more diluted, can end up alternative minimum tax (AMT) prisoners unable to leave jobs they may be unhappy doing, have options they are restricted from selling entirely or are sold into opaque secondary markets with high legal and transaction fees, and/or even face option expiration at 10 years. (I paid a $2,500 “administrative fee” plus thousands in legal fees to sell shares in one startup in a private transaction.)
  • John Q. Public is unable to buy technology companies at $30M in revenue and with a commission of $20/trade. Instead they either have to wait until $100 to $200M in revenue or buy in opaque secondary markets with limited information and high fees.
  • Governance can be weak, particularly in cases where a founder exercises directly (or via a nuclear option) total control over a company.

Moreover, the Silicon Valley game changes from “who’s smartest and does the best job serving customers” on relatively equivalent funding to “who can raise the most capital, generate the most hype, and buy the most customers.”  In the old game, the customers decide the winners; in the new one, Sand Hill Road tries to, picking them in a somewhat self-fulfilling prophecy.

The Hype Factor
In terms of hype, one metric I use is what I call the hype ratio = VC / ARR.  On the theory that SaaS startups input venture capital (VC) and output two things — annual recurring revenue (ARR) and hype — by analogy, heat and light, this is a good way to measure how efficiently they generate ARR.

The higher the ratio, the more light and the less heat.  For example, Adaptive Insights raised $175M and did $106M in revenue [3] in the most recent fiscal year, for a ratio of 1.6.  Zuora raised $250M to get $138M in ARR, for a ratio of 1.8.  Avalara raised $340M to $213M in revenue, for a ratio of 1.6.

By comparison, Domo’s hype ratio is 6.4.  Put the other way, Domo converts VC into ARR at a 15% rate.  The other 85% is, per my theory, hype.  You give them $1 and you get $0.15 of heat, and $0.85 of light.  It’s one of the most hyped companies I’ve ever seen.

As I often say, behind every “marketing genius” is a giant budget, and Domo is no exception [4].

Sometimes things go awry despite the most blue-blooded of investors and the greenest of venture money.  Even with funding from the likes of NEA and Lightspeed, Tintri ended up a down-round IPO of last resort and now appears to be singing its swan song.  In the EPM space, Tidemark was the poster child for more light than heat and was sold in what was rumored to be fire sale [5] after raising over $100M in venture capital and having turned that into what was supposedly less than $10M in ARR, an implied hype ratio of over 10.

The Top-Level View on Domo
Let’s come back and look at the company.  Roughly speaking [6], Domo:

  • Has nearly $700M in VC invested (plus nearly $100M in long-term debt).
  • Created a circa $100M business, growing at 45% (and decelerating).
  • Burns about $150M per year in operating cash flow.
  • Will have a two-class common stock system where class A shares have 40x the voting rights of class B, with class A totally controlled by the founder. That is, weak governance.

Oh, and we’ve got a highly unprofitable, venture-backed startup using a private jet for a bit less than $1M year [7].  Did I mention that it’s leased back from the founder?  Or the $300K in catering from a company owned by the founder and his brother.  (Can’t you order lunch from a non-related party?)

As one friend put it, “the Domo S-1 is everything that’s wrong with Silicon Valley in one place:  huge losses, weak governance, and now modest growth.”

Personally, I view Domo as the Kardashians of business intelligence – famous for being famous.  While the S-1 says they have 85 issued patents (and 45 applications in process), does anyone know what they actually do or what their technology advantage is?  I’ve worked in and around BI for nearly two decades – and I have no idea.

Maybe this picture will help.

domosolutionupdated

Uh, not so much.

The company itself admits the current financial situation is unsustainable.

If other equity or debt financing is not available by August 2018, management will then begin to implement plans to significantly reduce operating expenses. These plans primarily consist of significant reductions to marketing costs, including reducing the size and scope of our annual user conference, lowering hiring goals and reducing or eliminating certain discretionary spending as necessary

A Top-to-Bottom Skim of the S-1
So, with that as an introduction, let’s do a quick dig through the S-1, starting with the income statement:

domo income

Of note:

  • 45% YoY revenue growth, slow for the burn rate.
  • 58% blended gross margins, 63% subscription gross margins, low.
  • S&M expense of 121% of revenue, massive.
  • R&D expense of 72% of revenue, huge.
  • G&A expense of 29% of revenue, not even efficient there.
  • Operating margin of -162%, huge.

Other highlights:

  • $803M accumulated deficit.  Stop, read that number again and then continue.
  • Decelerating revenue growth, 45% year over year, but only 32% Q1 over Q1.
  • Cashflow from operations around -$150M/year for the past two years.  Stunning.
  • 38% of customers did multi-year contracts during FY18.  Up from prior year.
  • Don’t see any classical SaaS unit economics, though they do a 2016 cohort analysis arguing contribution margin from that cohort of -196%, 52%, 56% over the past 3 years.  Seems to imply a CAC ratio of nearly 4, twice what is normally considered on the high side.
  • Cumulative R&D investment from inception of $333.9M in the platform.
  • 82% revenues from USA in FY18.
  • 1,500 customers, with 385 having revenues of $1B+.
  • Believe they are <4% penetrated into existing customers, based on Domo users / total headcount of top 20 penetrated customers.
  • 14% of revenue from top 20 customers.
  • Three-year retention rate of 186% in enterprise customers (see below).  Very good.
  • Three-year retention rate of 59% in non-enterprise customers.  Horrific.  Pay a huge CAC to buy a melting ice cube.  (Only the 1-year cohort is more than 100%.)

As of January 31, 2018, for the cohort of enterprise customers that licensed our product in the fiscal year ended January 31, 2015, the current ACV is 186% of the original license value, compared to 129% and 160% for the cohorts of enterprise customers that subscribed to our platform in the fiscal years ended January 31, 2016 and 2017, respectively. For the cohort of non-enterprise customers that licensed our product in the fiscal year ended January 31, 2015, the current ACV as of January 31, 2018 was 59% of the original license value, compared to 86% and 111% for the cohorts of non-enterprise customers that subscribed to our platform in the fiscal years ended January 31, 2016 and 2017, respectively.

  • $12.4M in churn ARR in FY18 which strikes me as quite high coming off subscription revenues of $58.6M in the prior year (21%).  See below.

Our gross subscription dollars churned is equal to the amount of subscription revenue we lost in the current period from the cohort of customers who generated subscription revenue in the prior year period. In the fiscal year ended January 31, 2018, we lost $12.4 million of subscription revenue generated by the cohort in the prior year period, $5.0 million of which was lost from our cohort of enterprise customers and $7.4 million of which was lost from our cohort of non-enterprise customers.

  • What appears to be reasonable revenue retention rates in the 105% to 110% range overall.  Doesn’t seem to foot to the churn figure about.  See below:

For our enterprise customers, our quarterly subscription net revenue retention rate was 108%, 122%, 116%, 122% and 115% for each of the quarters during the fiscal year ended January 31, 2018 and the three months ended April 30, 2018, respectively. For our non-enterprise customers, our quarterly subscription net revenue retention rate was 95%, 95%, 99%, 102% and 98% for each of the quarters during the fiscal year ended January 31, 2018 and the three months ended April 30, 2018, respectively. For all customers, our quarterly subscription net revenue retention rate was 101%, 107%, 107%, 111% and 105% for each of the quarters during the fiscal year ended January 31, 2018 and the three months ended April 30, 2018, respectively.

  • Another fun quote and, well, they did take about the cash it takes to build seven startups.

Historically, given building Domo was like building seven start-ups in one, we had to make significant investments in research and development to build a platform that powers a business and provides enterprises with features and functionality that they require.

  • Most customers invoiced on annual basis.
  • Quarterly income statements, below.

domo qtr

  • $72M in cash as of 4/30/18, about 6 months worth at current burn.
  • $71M in “backlog,” multi-year contractual commitments, not prepaid and ergo not in deferred revenue.  Of that $41M not expected to be invoiced in FY19.
  • Business description, below.  Everything a VC could want in one paragraph.

Domo is an operating system that powers a business, enabling all employees to access real-time data and insights and take action from their smartphone. We believe digitally connected companies will increasingly be best positioned to manage their business by leveraging artificial intelligence, machine learning, correlations, alerts and indices. We bring massive amounts of data from all departments of a business together to empower employees with real-time data insights, accessible on any device, that invite action. Accordingly, Domo enables CEOs to manage their entire company from their phone, including one Fortune 50 CEO who logs into Domo almost every day and over 10 times on some days.

  • Let’s see if a computer could read it any better than I could.  Not really.

readability

  • They even have Mr. Roboto to help with data analysis.

Through Mr. Roboto, which leverages machine learning algorithms, artificial intelligence and predictive analytics, Domo creates alerts, detects anomalies, optimizes queries, and suggests areas of interest to help people focus on what matters most. We are also developing additional artificial intelligence capabilities to enable users to develop benchmarks and indexes based on data in the Domo platform, as well as automatic write back to other systems.

  • 796 employees as of 4/30/18, of which 698 are in the USA.
  • Cash comp of $525K for CEO, $450K for CFO, and $800K for chief product officer
  • Pre-offering it looks like founder Josh James owns 48.9M shares of class A and 8.9M shares of class B, or about 30% of the shares.  With the 40x voting rights, he has 91.7% of the voting power.

Does the Emperor Have Any Clothes?
One thing is clear.  Domo is not “hot” because they have some huge business blossoming out from underneath them.  They are “hot” because they have raised and spent an enormous amount of money to get on your radar.

Will they pull off they IPO?  There’s a lot not to like:  the huge losses, the relatively slow growth, the non-enterprise retention rates, the presumably high CAC, the $12M in FY18 churn, and the 40x voting rights, just for starters.

However, on the flip side, they’ve got a proven charismatic entrepreneur / founder in Josh James, an argument about their enterprise customer success, growth, and penetration (which I’ve not had time to crunch the numbers on), and an overall story that has worked very well with investors thus far.

While the Emperor’s definitely not fully dressed, he’s not quite naked either.  I’d say the Domo Emperor’s donning a Speedo — and will somehow probably pull off the IPO parade.

###

Notes

[1] Yes, I know they’re in Utah, but this is still about Silicon Valley culture and investors.

[2] For definitions and frequency of use of various VC terms, go to the Fenwick and West VC survey.

[3] I’ll use revenue rather than trying to get implied ARR to keep the math simple.  In a more perfect world, I’d use ARR itself and/or impute it.  I’d also correct for debt and a cash, but I don’t have any MBAs working for me to do that, so we’ll keep it back of the envelope.

[4] You can argue that part of the “genius” is allocating the budget, and it probably is.  Sometimes that money is well spent cultivating a great image of a company people want to buy from and work at (e.g., Salesforce).  Sometimes, it all goes up in smoke.

[5] Always somewhat truth-challenged, Tidemark couldn’t admit they were sold.  Instead, they announced funding from a control-oriented private equity firm, Marlin Equity Partners, as a growth investment only a year later be merged into existing Marlin platform investment Longview Solutions.

[6] I am not a financial analyst, I do not give buy/sell guidance, and I do not have a staff working with me to ensure I don’t make transcription or other errors in quickly analyzing a long and complex document.  Readers are encouraged to go the S-1 directly.  Like my wife, I assume that my conclusions are not always correct; readers are encouraged to draw their own conclusions.  See my FAQ for complete disclaimer.

[7] $900K, $700K, and $800K run-rate for FY17, FY18, and 1Q19 respectively.

The Two Engines of SaaS: QCRs and DEVs

I remember one day, years ago, when I was a VP at $10M startup and Larry, the head of sales, came in one day handing out t-shirts that said:

“Code, sell, or get out of the way.”

Neither I, nor the rest of marketing team, took this particularly well because the shirt obviously devalued the contributions of F&A, HR, and marketing.  But, ever seeking objectivity, I did concede that the shirt had a certain commonsense appeal.  If you could only hire one person at a startup, it would be someone to write the product.  And if you could only hire one more, it would be someone to sell it.

This became yet another event that reconfirmed my belief in my “marketing exists to make sales easier” mantra.  After all, if you’re not coding or selling, at least you can help someone who is.

Over time, Larry’s t-shirt morphed in my mind into a new mantra:

“A SaaS company is a two-engine plane.  The left engine is DEVs.  The right is QCRs.”

QCR meaning quota-carrying (sales) representative and DEV meaning developer (or, for symmetry and emphasis, storypoint-burning developer).  People who sell with truly incremental quota, and people who write code and burndown storypoints in the process.

It’s a much nicer way of saying “code, sell, or get out of the way,” but it’s basically the same idea.  And it’s true.  While Larry was coming from a largely incorrect “protest overhead and process” viewpoint, I’m coming from a different one:  hiring.

The two hardest lines in a company headcount plan to keep at-plan are guess which two?  QCRs and DEVs.  Forget other departments for a minute — I’m saying is the the hardest line for the VP of Engineering to stay fully staffed on is DEVs, and the hardest line for the VP of Sales to stay fully staffed on is QCRs.

Why is this?

  • They are two, critical highly in-demand positions, so the market is inherently tight.
  • Given their importance, the hiring VPs can be gun-shy about making mistakes and lose candidates due to hesitation or indecision.
  • Both come with a short-term tax and mid-term payoff because on-boarding new hires slows down the rest of the team, a possible source of passive resistance.
  • Sales managers dislike splitting territories because it makes them unpopular, which could drive more foot-dragging.
  • It’s just plain easier to find the associated support functions — (e.g,. program managers, QA engineers, techops, salesops, sales productivity, overlays, CSMs, managers in general) than it is find the QCRs and DEVs.

Let me be clear:  this is not to say that all the supporting functions within sales and engineering do not add value, nor is this to say that supporting corporate functions beyond sales and engineering do not add value — it is to say, however, that far too often companies take their eye off the ball and staff the support functions before, not after, those they are supporting.  That’s a mistake.

What happens if you manage this poorly?  On the sales side, for example, you end up with an organization that has 1 SVP of Sales, 1 VP of sales consulting, 4 sales consultants, 1 director of sales ops, 1 director of sales productivity, 1 manager of sales development reps (SDRs), 4 SDRs, an executive assistant, and 4 quota-carrying salespeople.  So only 22% of the people in your sales organization actually carry a quota.

“Uh, other than QCRs, we’re doing great on sales hiring,”  says the sales VP.  “Other than that, Mrs. Lincoln, how did you find the play?” thinks the board.

Because I’ve seen this happen so often, and because I’ve seen companies accused of it both rightfully and unjustly, I’d decided to create two new metrics:

  • QCR density = number of QCRs / total sales headcount
  • DEV density = numbers of DEVs / total engineering headcount

The bad news is I don’t have a lot of benchmark data to share here.  In my experience, both numbers want to run in the 40% range.

The good news is that if you run a ratio-driven staffing model (which you should do for both sales and engineering), you should be able to calculate what these densities should be when you are fully staffed.

Let’s conclude with a simple model that does just that on the sales side, producing a result in the 38% to 46% range.

qcr dens

Finally, let me add that having such a model helps you understand whether, for example, your QCR density is low due to slow QCR hiring (and/or bad retention) against a good model, or on-pace hiring against a “fat” model.  The former is an execution problem, the latter is a problem with your model.

Bookings vs. Billings in a SaaS Company

Financial analysts speak a lot about “billings” in a public SaaS companies, but in private VC-backed SaaS companies, you rarely hear discussion of this metric.  In this post, we’ll use a model of a private SaaS company (where we know all the internal metrics), to show how financial analysts use rules of thumb to estimate and/or impute internal SaaS metrics using external ones – and to see what can go wrong in that process.

For reference, here’s an example of sell-side financial analyst research on a public SaaS company that talks about billings [1].

saas1-zen

Let’s start with a quick model that builds up a SaaS company from scratch [1].  To simplify the model we assume all deals (both new and renewal) are for one year only and are booked on the last day of the quarter (so zero revenue is ever recognized in-quarter from a deal).  This also means next-quarter’s revenue is this-quarter’s ending annual recurring revenue (ARR) divided by 4.

saas13

Available to renew (ATR) is total subscription bookings (new and renewal) from four quarters prior.  Renew bookings are ATR * (1 – churn rate).  The trickiest part of this model is the deferred revenue (DR) waterfall where we need to remember that the total deferred revenue balance is the sum of DR leftover from the current and the prior three quarters.

If you’re not convinced the model is working and/or want to play with it, you can download it, then see how things work by setting some drivers to boundary conditions (e.g., churn to 0%, QoQ sales growth to 0, or setting starting ARR to some fixed number [2]).

 The Fun Part:  Imputing Internal Metrics from External Ones

Now that we know what’s going on the inside, let’s look in from the outside [3]:

  • All public SaaS companies release subscription revenues [4]
  • All public SaaS companies release deferred revenues (i.e., on the balance sheet)
  • Few SaaS companies directly release ARR
  • Few SaaS companies release ATR churn rates, favoring cohort retention rates where upsell both masks and typically exceeds churn [5]

It wasn’t that long ago when a key reason for moving towards the SaaS business model was that SaaS smoothed revenues relative to the all-up-front, lumpy on-premises model.  If we could smooth out some of that volatility then we could present better software companies to Wall Street.  So the industry did [6], and the result?  Wall Street immediately sought a way to look through the smoothing and see what’s really going on in the inherently lumpy, backloaded world of enterprise software sales.

Enter billings, the best answer they could find to do this.  Billings is defined as revenue plus change in deferred revenue for a period.  Conceptually, when a SaaS order with a one-year prepayment term is signed, 100% of it goes to deferred revenue and is burned down 1/12th every month after that.  To make it simple, imagine a SaaS company sells nothing in a quarter:  revenue will burn down by 1/4th of starting deferred revenue [7] and the change in deferred revenue will equal revenue – thus revenue plus change in deferred revenue equals zero.  Now imagine the company took an order for $50K on the last day of the quarter.  Revenue from that order will be $0, change in deferred will be +$50K, implying new sales of $50K [8].

Eureka!  We can see inside the SaaS machine.  But we can’t.

Limitations of Billings as a SaaS Metric

If you want to know what investors really care about when it comes to SaaS metrics, ask the VC and PE folks who get to see everything and don’t have to impute outside-in.  They care about

Of those, public company investors only get a clear look at subscription gross margins and the customer acquisition cost (CAC) ratio.  So, looking outside-in, you can figure out how efficiency a company runs its SaaS service and how efficiently it acquires customers [9].

But you typically can’t get a handle on churn, so you can’t calculate LTV/CAC or CAC Payback Period.  Published cohort growth, however, can give you comfort around potential churn issues.

But you can’t get a precise handle on sales growth – and that’s a huge issue as sales growth is the number one driver of SaaS company valuation [10].  That’s where billings comes into play.  Billings isn’t perfect because it shows what I call “total subscription bookings” (new ARR bookings plus renewal bookings) [11], so we can’t tell the difference between a good sales and weak renewals quarter and a bad sales and a good renewals quarter.

Moreover, billings has two other key weaknesses as a metric:

  • Billings is dependent on prepaid contract duration
  • Companies can defer processing orders (e.g., during crunch time at quarter’s end, particularly if they are already at plan) thus making them invisible even from a billings perspective [12]

Let’s examine how billings depends on contract duration.  Imagine it’s the last day of new SaaS company’s first quarter.  The customer offers to pay the company:

  • 100 units for a prepaid one-year subscription
  • 200 units for a prepaid two-year subscription
  • 300 units for a prepaid three-year subscription

From an ARR perspective, each of the three possible structures represents 100 units of ARR [13].  However, from a deferred revenue perspective, they look like 100, 200, 300 units, respectively.  Worse yet, looking solely at deferred revenue at the end of the quarter, you can’t know if 300 units represents three 100-unit one-year prepay customers or a single 100-unit ARR customer who’s done a three-year prepay.

In fact, when I was at Salesforce we had the opposite thing happen.  Small and medium businesses were having a tough time in 2012 and many customers who’d historically renewed on one-year payment cycles started asking for bi-annual payments.  Lacking enough controls around a rarely-used payment option, a small wave of customers asked for and got these terms.  They were happy customers.  They were renewing their contracts, but from a deferred revenue perspective, suddenly someone who looked like 100 units of deferred revenue for an end-of-quarter renewal suddenly looked 50.  When Wall St. saw the resultant less-than-expected deferred revenue (and ergo less-than-expected billings), they assumed it meant slower new sales.  In fact, it meant easier payment terms on renewals – a misread on the business situation made possible by the limitations of the metric.

This issue only gets more complex when a company is enabling some varying mix of one through five year deals combined with partial up-front payments (e.g., a five-year contract with years 1-3 paid up front, but years 4 and 5 paid annually).  This starts to make it really hard to know what’s in deferred revenue and to try and use billings as a metric.

Let’s close with an excerpt from the Zuora S-1 on billings that echoes many of the points I’ve made above.

saas3

Notes

[1] Source:  William Blair, Inc., Zendesk Strong Start to 2018 by Bhavan Suri.

[2] Even though it’s not labelled as a driver and will break the renewals calculations, implicitly assuming all of it renews one year later (and is not spread over quarters in anyway).

[3] I’m not a financial analyst so I’m not the best person to declare which metrics are most typically released by public companies, so my data is somewhat anecdotal.  Since I do try to read interesting S-1s as they go by, I’m probably biased towards companies that have recently filed to go public.

[4] As distinct from services revenues.

[5] Sometimes, however, those rates are survivor biased.

[6] And it worked to the extent that from a valuation perspective, a dollar of SaaS revenue is equivalent to $2 to $4 of on-premises revenue.  Because it’s less volatile, SaaS revenue is more valuable than on-premises revenue.

[7] Provided no customers expire before the last day of the quarter

[8] Now imagine that order happens on some day other than the last day of the quarter.  Some piece, X, will be taken as revenue during the quarter and 50 – X will show up in deferred revenue.  So revenue plus change in deferred revenue = it’s baseline + X + 50 – X = baseline + 50.

[9] Though not with the same clarity VCs can see it — VCs can see composition of new ARR (upsell vs. new business) and sales customers (new customer acquisition vs. customer success) and thus can create more precise metrics.  For example, a company that has a solid overall CAC ratio may be revealed to have expensive new business acquisition costs offset by high, low-cost upsell.

[10] You can see subscription revenue growth, but that is smoothed/damped, and we want a faster way to get the equivalent of New ARR growth – what has sales done for us lately?

[11] It is useful from a cash forecasting perspective because all those subscription billings should be collectible within 30-60 days.

[12] Moving the deferred revenue impact of one or more orders from Q(n) to Q(n+1) in what we might have called “backlogging” back in the day.  While revenue is unaffected in the SaaS case, the DR picture looks different as a backlogged order won’t appear in DR until the end of Q(n+1) and then at 75, not 100, units.

[13] Normally, in real life, they would ask a small discount in return for the prepay, e.g., offer 190 for two years or 270 for three years.  I’ll ignore that for now to keep it simple.

The Leaky Bucket, Net New ARR, and the SaaS Growth Efficiency Index

My ears always perk up when I hear someone say “net new ARR” — because I’m trying to figure out which, of typically two, ways they are using the term:

  • To mean ARR from net new customers, in which case, I don’t know why they need the word “net” in there.  I call this new business ARR (sometimes abbreviated to newbiz ARR), and we’ll discuss this more down below.
  • To mean net change in ARR during a period, meaning for example, if you sold $2,000K of new ARR and churned $400K during a given quarter, that net new ARR would be $1,600K.  This is the correct way to use this term.

Let’s do a quick review of what I call leaky bucket analysis.  Think of a SaaS company as a leaky bucket full of ARR.

  • Every quarter, sales dumps new ARR into the bucket.
  • Every quarter, customer success does its best to keep water from leaking out.

Net new ARR is the change in the water level of the bucket.  Is it a useful metric?  Yes and no.  On the yes side:

  • Sometimes it’s all you get.  For public companies that either release (or where analysts impute) ARR, it’s all you get.  You can’t see the full leaky bucket analysis.
  • It’s useful for measuring overall growth efficiency with metrics like cash burn per dollar of net new ARR or S&M expense per dollar of net new ARR.  Recall that customer acquisition cost (CAC) focuses only on sales efficiency and won’t detect the situation where it’s cheap to add new ARR only to have it immediately leak out.

If I were to define an overall SaaS growth efficiency index (GEI), I wouldn’t do it the way Zuora does (which is effectively an extra-loaded CAC), I would define it as:

Growth efficiency index = -1 * (cashflow from operations) / (net new ARR)

In English, how much cash are you burning to generate a dollar of net new ARR.  I like this because it’s very macro.  I don’t care if you’re burning cash as a result of inefficient sales, high churn, big professional services losses, or high R&D investment.  I just want to know how much cash you’re burning to make the water level move up by one dollar.

So we can see already that net new ARR is already a useful metric, if a sometimes confused term.  However, on the no side, here’s what I don’t like about it.

  • Like any compound metric, as they say at French railroad crossings, un train peut en cacher un autre (one train can hide another).  This means that while net new ARR can highlight a problem you won’t immediately know where to go fix it — is weak net new ARR driven by a sales problem (poor new ARR), a product-driven churn problem, a customer-success-driven churn problem, or all three?

Finally, let’s end this post by taking a look and then a deeper look at the SaaS leaky bucket and how I think it’s best presented.

leaky1

For example, above, you can quickly see that a massive 167% year-over-year increase in churn ARR was the cause for weak 1Q17 net new ARR.  While this format is clear and simple, one disadvantage of this simpler format is that it hides the difference between new ARR from new customers (newbiz ARR) and new ARR from existing customers (upsell ARR).  Since that can be an important distinction (as struggling sales teams often over-rely on sales to existing customers), this slightly more complex form breaks that out as well.

leaky2

In addition to breaking out new ARR into its two sub-types, this format adds three rows of percentages, the most important of which is upsell % of new ARR, which shows to what extent your new ARR is coming from existing versus new customers.  While the “correct” value will vary as a function of your market, your business model, and your evolutionary phase, I generally believe that figures below 20% indicate that you may be failing to adequately monetize your installed base and figures above 40% indicate that you are not getting enough new business and the sales force may be too huddled around existing customers.