Analyzing churn rates, free trials, and other metrics

January 7, 2020

I wrote a follow-up post which goes deeper here.

When I launched Actual (a subscription-based finance app) almost a year ago I didn't know anything about how to determine pricing or structure plans. My background is software development — finding insights in the mixture of churn rates, free trials, and all these other metrics seemed like magic.

This is my first attempt and I want to do it out in the open for two reasons: I might be making big errors somewhere and I want people to point them out. Secondly, there are a lot of developers who want to launch products so they can learn from this.

When writing these reports, you probably have a specific question in mind like "what should I price my product?" For me, I needed to answer the question "is it OK for free trials to cost me $X?"

I didn't exactly know what $X was yet. But I needed to see how it impacted profits. The reason is because a highly anticipated feature in Actual is bank syncing: the ability to automatically download transactions. I will be using Plaid which is not cheap. It costs $0.25/account/user monthly, so if a user connected 3 banks they will cost me $0.75/month.

With the right pricing, I'm not worried about that. The confusing part is free trials. Actual gives users a free 30-day trial, and it's clear that free trials needs to include bank syncing. That means free trials are going to cost me money, and my inexperienced mind envisioned thousands of trial users running up my Plaid bill and eating into profits.

This is the main reason I've delayed launching bank syncing. Honestly, I was scared. If you have a high cost of free trials and low conversion rates, you'll be losing money. I needed to figure out what "high cost" and "low conversion rate" meant for Actual.

I wrote down all of my research here, starting with the simplest spreadsheet and building it up. Near the end I run into interesting behavior regarding high growth and leave some questions unanswered. Finally, at the end I see how annual plans change things.

Let's go through this step-by-step. Note that I am not taking into account various costs of operation because my costs are so low and will stay relatively constant until I hit a much bigger scale (they probably total $100/month). I'm mostly interested in the costs that scale up with each user.

A starting point

First, let's start with a basic spreadsheet. Let's look at the numbers I was afraid of the most: how much are free trials going to cost me?

We forecast the cost and income of subscribers for 16 months. This only shows each month individually, we ignore any cumulative effects (this might seem ridiculous, but this is where I started). We show the number of trials, converted subscribers, and calculate the rest from there.

To do this, we need a few things:

  • Cost per trial: this is the cost I expect to pay for each trial. If I limit trial users to connect 2 accounts at $0.25 each, that's $0.50 per user. Why use $1 in the spreadsheet? Because a trial user is likely to overlap 2 billing periods from Plaid, so I'll need to pay 2 months for each trial user even though it's a 30-day trial period.
  • Conversion rate: the rate at which trial users convert to subscribed users. This is usually a lot higher than conversion rates for website visitors. Looking at my data, I have a 6% conversion rate.
  • Price: the monthly cost of your subscription. Actual will provide new plan that includes bank syncing at something around $7/month.
  • Growth rate: the rate at which trial users are growing month over month. I don't have enough data to accurately calculate this (unfortunately only have 4 months of data), but I'm guessing around a 5% growth rate.

I want to be conservative with all of my numbers (I call these the "pessimistic" numbers throughout this post). Ideally I can get the 6% conversion higher, and growth will be more too. If I can get this to work with conservative numbers though, I feel better about that.

I also start out with 300 trials/month because that's about where I am currently. Here are the results (link to spreadsheet):

The first thing that stood out to me was that it's not as bad as I thought. When I did these numbers in my head, maybe I was imagining a lower conversion rate or priced the plan lower. But the 6% is my real conversion rate! Knowing that this isn't taking into account future profits from each subscriber, losing $174 when I made $126 means I'll almost make up for it the next month when those subscribers are charged again ($174 / $126 = 1.38 months to cover that initial loss).

Another way look at this is I spend $300 to acquire 18 new subscribers, so it costs me $16.67 per subscriber. As somebody without much experience in this stuff, that seems insane. But the magic of subscriptions makes this work: at $7/month, that cost is recouped in 2.38 months ($16.67 / $7), which is the same as above because the 1.38 months wasn't taking the first month into account.

It's a very safe bet that customers will stick around for more than 2.38 months!

Recurring subscriptions

We shouldn't ignore that fact that customers are a continual source of monthly income, of course. Now that we've looked at a scary graph which shows us losing more and more money each month, let's take into account recurring subscriptions.

To do this, ignore "new subscribers" when calculating revenue and instead base it on "total subscribers". This shows the real revenue that we'll be getting per month. It took me a little while to figure this out because I was focused on tracking which subscribers haven't been "paid off" yet. (In retrospect, now that I know they pay themselves off in 2.38 months that's easy to calculate)

I added "total subscribers", "revenue", and "profit" columns to the spreadsheet. Total subscribers is an ongoing sum of the "new subscribers" column, "revenue" is total subscribers * price ($7) and "profit" is revenue - cost, where cost is the same as before (the total cost of trials).

Looking at the profit, this confirms the 2.38 number where subscribers are paid off — in just over 2 months I am making a profit! Initially I am losing money but the recurring source of income from subscribers eventually builds up to generate proft each month which covers the cost of trials. (link to spreadsheet)

After 16 months my monthly profit would be $2355.50.

Churn rate

There's one important thing we haven't considered yet: churn rate. Our data assumes that users never leave, which would be great, but that's not true.

I don't have enough data yet to get an accurate number, but I would guess around a 7% churn rate. That means for every ~15 new subscribers, one unsubscribes. We need to take this into account.

The "churned subs" column tracks this and it's calculated by taking the last months total subscribers and multiplying it by the churn rate. The "total subscribers" column is updated to subtract out the churned subscriptions. This had a significant effect on the projected profit: now after 16 months the monthly profit is $1338.40, nearly $1000 less than before. Here it is updated (link to spreadsheet):

First full month is free

A small error in the latest spreadsheet is that it assumes subscribers immediately pay when they convert. The "revenue" column uses the current month's "total subscribers", even though subscribers that converted from the free trial still get the first full month free.

We need to ignore income from any new subscribers for the current month. This is an easy fix: make the "revenue" column use the last month's total subscribers. This assumes that churned subscribers will still pay the month they churn, but it's close enough for me.

I stopped showing the graph because they all look similar for the rest of the article. This shifts the monthly profit about a month back, which is now at $1204.70 after 16 months (link to spreadsheet):

Subscribers have a monthly cost

A big error I made at this point was forgetting that subscribers still have a monthly cost. I will be charged $0.25/account/month for each user. We need to take this monthly cost into account, as it will change profits quite a bit.

Even worse, Plaid has a minimum bill of $500/month. So even if I only use $125 worth of usage, I still pay $500.

I renamed the previous "cost" column to "trial cost" and added "total cost". These costs are separate because of the problem of trials overlapping 2 Plaid billing cycles, so I treat trials as costing more than subscribers in a single month. The "total cost" is the sum of "trial cost" and subscriber cost, which is calculated as total number of subscribers from previous month * .75. This assumes an average of 3 linked accounts per user. Finally, "total cost" has a minimum of $500.

This brings the monthly proft after 16 months down to $1008.80, and unfortunately won't be cash positive until the 6th month (link to spreadsheet):

Being more optimistic

This spreadsheet is enough to answer my questions. The effect of a growing subscription base offsets acquisition costs, but $1008.80/month after 16 months isn't very encouraging. I was very conservative with my numbers and we can tweak them to see how different conversion rates, etc affect it.

Here are the numbers if I bump up the conversion rate from 6% to 9%, reduce the churn rate from 7% to 6%, and increase growth from 5% to 8%. Profit is back up to $2395.27! (link to spreadsheet)

These feel like realistic numbers to hit (remember, this is only conversion from trial to subscribed, not website hits). It's also a little sobering: if I want to continue to do this full-time and hit $10k/month something drastic needs to change. Even bumping the price to $10/month doesn't solve that.

A few other scenarios and the resulting monthly profit in 16 months compared to the pessimistic version of $1008.80/month:

  • Reduce cost per trial from $1 to $.50: $1320/month
  • Increase price from $7 to $8: $1270/month
  • Conversion rate from 6% to 7%: $1282/month
  • Growth rate from 5% to 6%: $1064/month
  • Churn rate from 7% to 6%: $1097/month

I kept the tweaks small to compare changes across each metric. The conversion rate is probably the most important one: that has the biggest win, which makes sense as not only do I get more income but the acquisition cost goes down per subscriber. (I could limit free trials to a single bank account to reduce trial cost, not sure yet)

What this means to me is that conversion rate is extremely important, which means marketing is important and everything from your landing page to the user getting up and running in the app as well. If you are losing customers at any point in that process, you are giving up lots of money.

Pricing is obviously a big point as well. Some readers will probably tell me to charge more but I have reasons for $7/month. I will only be able to push conversion rate up to a certain rate, however, so besides focusing on churn rate and others, pricing might change.

What does it take to hit $10k/month?

Let's take this and speculate what it would take to hit $10k/month in profit within 16 months.

You might think "just crank up the growth until you hit $10k/month". Something weird happens: given the pessimistic numbers (6% conversion with a $16.6 acquisition cost, 7% churn, and $1 per trial) you ended up losing money with high growth.

Here's 20% growth which ends up with $1657/month after 16 months. Sounds like more, but you can see the profit line slowing down:

Turn it up the 35% growth and you end up losing $2989/month:

What's going on? My guess is it's a combination of conversion rate and churn rate, and the revenue can't sustain the rate of new trials. I haven't figured out the math yet to know what is causing this inflection point.

If I use the optimistic numbers (9% conversion and 6% churn), I'm able to hit $10k/month in 16 months with a 36% growth rate. That's a tall order! (link to spreadsheet)

Something seems off though: with high growth you're putting up a lot of money to get those users. I'm too tired to figure out the math here, but as trials rise so do costs, so it makes sense that a high growth rate means higher costs. Since the conversion rate is 9%, the rise of profit is slower. In the above scenario, in month 16 I spent $30200 out of $45k revenue to acquire users with a profit of $10k.

It makes sense to spend more if you're focusing on growth, but those seem like high costs to me. What is the normal percentage of revenue spent on acquisition costs? My intuition tells me there's an easier way — maybe it's reducing the cost per trial or maybe it's increasing prices.

In fact, just reducing the cost per trial to $0.50 makes the numbers a lot saner. With that I'd need a growth rate of 25%, and in the 16th month I'd only spend $4263 with $10k profit.

I'm rambling at this point — my kids have been keeping me up the last couple nights so I'm going to leave this here. It's great that I have a model to run these numbers, and before I make any decisions I want to understand the effect of growth more.

Annual plans

When I ask mentors for advice, the two most common responses are to charge more and charge annually. I plan on providing annual billing as well, so let's see how that affects the numbers.

We've already seen the problem with monthly plans: you don't get any cash up front so you have to carefully manage cash flow. If we billed annually, the problem of the cost of free trials basically goes away.

Here's the same spreadsheet with the pessimistic values, but with annual billing. The "revenue" column now is calculated as new subscribers * price * 12. We don't use "total subscribers" because for each month we aren't making money from previous subscribers anymore. We only get money from new subscribers.

For simplicity, it only shows the first year. Month 13 would show a big bump as all existing subscribers are billed again. (link to spreadsheet)

Ignoring the effects of committing users into a year, there's isn't any difference in profits. But it's a huge difference in cash flow, which is very important for early stage companies. On the second month (the first month anybody is billed) I would make $1012 in profit. That's not real profit since some of that money needs to be reserved to cover future months that the user paid for, but I have more cash to invest.

In fact, the growth problem completely goes away here. If I crank up growth to 40% I spend $12k on trials out of $43k revenue by month 12. Can't really say much more about this though until I dig into the growth behavior more.

I did the annual analysis near the end of my research. I should start from scratch and redo everything with annual plans to understand all the differences. This post focused more on monthly plans because I just documented things as I went along, and it's good to understand their dynamics even if you're using annual plans.

Hope this was useful for people who are trying to learn this like I am. Still a lot of research left to do, please let me know if you have any feedback about all this.