The way I see it, building software is a lot like growing a SaaS business. The KPIs that matter most to me as CEO of our company are ARR, new annual contract value (ACV), expansion, and churn. Taken together, they're the building blocks of growth. Looked at through the lens of cohorts, they can become secret weapons in your arsenal for both marketing and product development purposes. In this article, we'll take a look at how your understanding of these metrics can help guide your thinking on how to maintain and grow a large codebase.
One of the more powerful charts that you will see in SaaS investor presentations is recurring revenue by cohort. DataDog’s S1 illustrated how revenue from existing customers expands in year two and beyond. I was first introduced to this concept of a “sedimentary layers” chart in a talk by Phil Lubin, the founder of Evernote, over 10 years ago and it altered the way I think about growth ever since.
This chart, and others like it, are extraordinary in that revenue is growing from each cohort despite some of their customers churning. It enables the hockey stick exponential growth which has caused investors to fall in love with SaaS. At the time of writing, DataDog was trading at more than 40X annualized revenue! Cohort analysis is a powerful tool for thinking about a business over the long term, and for teams to take actions to improve results. Few SaaS businesses have the same numbers as DataDog, but all SaaS businesses can get better growth by thinking through their retention profile.
Having said this, revenue retention profiles are a bit unique in that they can total greater than 100% thanks to upsell and expansion revenue being greater than churned revenue. Most other retention profiles — such as users, customers, or code — are going to have retention profiles less than 100% and thus decay over time. How one handles this decay is key to growth. Churn is corrosion, and eventually, your new acquisition will only be replacing what is lost. These retention profiles, when stacked up, look more like this:
Any system that looks like this is destined to plateau. The water pouring in is only replacing the water leaking out and we have homeostasis.
Retention profiles for software codebases intrigue me. Like the sales side of the house, developers are always adding features (new code) and refactoring old code (churn). Continuously maintained codebases, like customer bases, are always refreshing themselves. After enough years, you might even ask if it’s even the same product anymore? There is a story from a thought experiment known as the Ship of Theseus that raises the question of whether an object that has had all of its components replaced remains fundamentally the same object. This is the retention profile in TinyMCE:
With a consistent retention profile for code over time and a stable development effort, a software product will get consumed by sustaining engineering efforts and plateau.
Is a plateau a bad thing? Not necessarily. Innovation can still happen even as a codebase size is stable or even decreasing. Bigger is not always better! Innovation can occur from enhanced techniques that improve performance, third-party libraries that reduce the need for homegrown code, or refreshed user experiences that do the same thing but in a simpler, more intuitive way.
Nevertheless, a growing SaaS business is going to face pressure to tackle new use cases and target markets and a stagnating set of features isn’t going to cut it. In MBA-speak, there is a need to expand the “total addressable market” while also improving, retaining, and growing existing customers.
What is a company to do if you don’t want your product to reach homeostasis and have its capabilities stagnate? Candidly, we are still figuring this out at Tiny, but one thought is that budgets be split between sustaining engineering and innovation. Indeed, you need to fiercely guard the innovation budget or your sustaining engineering will expand to fill the available time (Parkinson’s Law in full force.) In R&D reality, this comes down to team structures and missions and, of course, there is the need to systematically increase your level of R&D investment as your revenue grows.
Another great way to keep your innovation up is to partner with API vendors such as Tiny. We work with over 1,800 companies to add premium productivity, compliance, and collaboration features on top of the basic rich text editing features in an application. We have 17 different premium features that can be deployed in weeks if not days that can improve customer satisfaction, edge ahead of the competition, and give your marketing team something to crow about. Is your product suffering from a feature drought? Rich text editing superpowers might be just the answer you were looking for.