There is a concept in rocket science called the Rocket Equation, which relates the velocity of your rocket propellant to your payload’s velocity, and (I think) defines the maximum payload a particular rocket fuel could carry into orbit.
I’m no rocket scientist, but I’ve been thinking about a similar concept as it relates to subscription based apps (seriously).
As I’ve been working on improving the revenue for Widgetsmith’s subscription, I felt like I kept hitting my head against a wall. For example, I’d make an improvement to my paywall or features and see a bump in my trial start rate. Then a few months later I’d find myself with revenue that had only slightly budged. My initial reaction was to just “try harder” and I’d get there eventually.
But after a few months of this I realized there might be something fundamental I was missing. So I set out to model the effect of varying changes in my subscription metrics to my ultimate revenue. This part did feel a bit like rocket science. While there might be a way to model this in Excel or algebraically, I couldn’t find it. So I did what any self respecting programmer would do…and built an app.
The challenge here is that for every day in your model you have to both add in newly acquired users as well as determine the renewal/churn of older users. The churn rate for older users follows a predictable curve in my experience, but is different for each of the first few months. You then repeat this process over and over until you have built out your projection.
Here was my result:
A little, very rough, Mac app which lets me input the number of daily trials I have, and then my retention rates for each renewal period. It then estimates what the active subscriber count would be at any particular point in time.
As you can see there is an asymptotic point in this for many configurations where your revenue hits a ceiling that you can’t escape from. This level is the manifestation of the “weight” of your churning users growing over time.
In the early days, growth is easy. You add new subscribers and the number of them easily overwhelms the number who are leaving. But eventually these numbers hit a point where they balance each other out and you reach an equilibrium.
You can sort of visualize this if you look at the data from a “cohorts” basis where I draw the users who began their subscription in the same month using the same color. Here you can see the contribution to the total count from older cohorts growing over time.
Not every configuration of churn rates and new sign ups will reach an equilibrium point (at least not in a meaningful time scale). For example, if in the above case I increased the long tail retention to 99%, then for all practical time horizons your subscriber base will grow indefinitely.
On the other end of things, if your retention rate is very low (in this case 20%) your app essentially turns into a “paid upfront” app with the dominating income coming from new sign-ups rather than renewals.
All subscription apps exist somewhere between these two extremes.
Meaning in Practice
I share this concept in the hopes that it will serve as an encouragement to other developers out there who are working on subscription apps and finding they are reaching a ceiling in revenue where they can’t seem to break free.
Congratulations, you have reached the current equilibrium point for your app!
To break free from that point you either have to meaningfully improve your churn rate or sign-up rate. But changes to each of these will likely just create a new equilibrium point from which you’ll need to move from.
A positive corollary to this is that the long term income from a subscription app is relatively stable and predictable which is some comfort for financial planning.
I will say that based on paying around with lots of configurations, improving your retention rate appears to be much more important to long term income than sign-up rate. Relatively small changes there can have huge cumulative impacts.
For example, if you had 100 daily subscriptions and 90% retention, your equilibrium point would be around 30k subscribers. Increasing it to 95% retention would jump you to 59k subscribers. You’d need roughly double the daily sign-ups (200) to reach the same level.
Every app is different and I’ve found there are certain points in this from which my app tends to get “stuck” and cannot be moved. For example, I doubt I’ll ever be able to improve my long term retention rate from its current level at 95%. There is likely a natural limit here. The biggest opportunity for me is instead likely my first month conversion rate (65%), which falls well below the subsequent months.
This point of maximum leverage is different for every app, but finding it is a huge win.