Back-end10 minute read

Make Your App Profitable, Part 2 – Harnessing the Mobile Funnel

Toptalauthors are vetted experts in their fields and write on topics in which they have demonstrated experience. All of our content is peer reviewed and validated by Toptal experts in the same field.

Subscription-based apps need a special approach when it comes to analytics. Learn how a variation on the traditional sales funnel helps you work with LTV, subscriber retention, and churn rates to make your app better—and more profitable.

Toptalauthors are vetted experts in their fields and write on topics in which they have demonstrated experience. All of our content is peer reviewed and validated by Toptal experts in the same field.
Matthew Knippen
Verified Expert in Engineering

Having built 60+ iOS apps since 2008 using Swift and Objective-C, Matthew is most known for going from idea to App Store within eight weeks.




In my previous blog post about profitable apps, I discussed how most mobile applications are not profitable, and that one of the key factors in distinguishing whether or not your application makes money is measuring your analytics.

In my first example, I used the example of a mobile game. You can apply those principles to nearly any sort of mobile application, yes. But there might be a better set of mobile analytics to use, depending on the type of app that you are building. In this post, I’m going to cover a fitness streaming service where the user purchases a subscription.

The Traditional Sales Funnel

A traditional sales funnel, following leads, sales call, follow-up, conversion, and finally sale, as the funnel narrows.

Since there have been people selling things, there has been a sales/purchase funnel to help guide them along. Sales funnel examples are a great way of looking at your customers taking a journey from hearing about your business to becoming a paying customer.

A good sales funnel strategy can help visualize where a potential customer is in the process, offer suggestions on what you can do to get to the next phase in the funnel, and see where the biggest hole is—i.e., where you are losing most of your potential customers.

Applying the Funnel to a Mobile Application

Instead of leads to sales calls and follow ups, we’re going to use metrics on how far the user is down our somewhat different path. An example would be Download → Account Creation → First Try → Sign Up. (Our example will be a bit more extensive, but the same idea can be applied to almost any application.)

It’s also important to mention that this mobile app funnel can (and probably should) be expanded at the top to include how you get the downloads. For something like a Facebook ad, this could be impressions, and clicks. For App Store optimization (ASO), this could be impressions and App Store page views. For this article, we’re going to stay focused on the product, not the marketing and advertising spend.

Determining Which Mobile Funnel Steps to Use

I’m going to use my current shipping mobile application, Charge Running, as an example. We provide live-streaming running classes to your phone for $9.99 a month. Each class happens at a specific time, and there’s a real person that coaches you through each one of your runs.

You can visualize almost any company’s user onboarding as a funnel. The sales funnel model from eBay, for instance, is a fairly standard approach, used by the vast majority of apps. Facebook, on the other hand, is the most popular example I know where a user does an action a certain number of times. For Charge Running’s user acquisition model, we went with something closer to the Facebook route:

Comparing the sales funnels of Facebook, eBay, and Charge Running.

In the early days of Facebook, they discovered through analytics that if they could have a user connect with seven friends in 10 days on the platform, they would use the site forever. So they focused nearly all of their effort on getting those first seven friends.

Our prediction (which turned out to be right!) is that if a user would do 3-4 runs with us, they would become a subscriber. With that in mind, here’s each step in our particular mobile funnel that we chose to focus on:

Download → Create Account

If 100 users download the app, how many create an account with us?

Create Account → Sign Up for a Run

If they have an account, how many commit that they will run with us at a certain time?

Sign Up for a Run → Come Back at the Correct Time

Now that they committed to run at a certain time, do they actually open up the app when they are supposed to?

Come back → Start Running

If they are in the app at the correct time, do they actually start moving, or are they just listening?

Start Running → Finish a Run

If they started running with us, are they enjoying it enough to complete the entire workout?

Complete 1 Run → 2 Runs → 3 Runs → 4 Runs

After they’ve completed a run, how many are returning to do another one?

Complete X Runs → Subscribe to Charge

If they are doing that many runs, what percentage subscribe to Charge?

Gathering the Data

While I wish there were a great tool that answered all of these questions, I have yet to find one. The best method I have found is to have some way of grabbing this data, and manually building something to monitor this.

Since our app database needed to know all of these things already in order to function, we ended up making a copy of the production database, and writing code to grab where a user was on each point of the funnel. While this was significantly more work, it then allowed us more fine-grained control.

To help visualize this data, we chose to use the free open-source tool called Metabase. Metabase allows you to visualize your data and create stats and funnels from a database that you’re already using. If you are using a SQL-type database for your app, this tool may be all that you need.

Metabase allows you to look up things about your app without writing any code, but also allows you to get more customization by writing SQL queries. In addition, it allows you to make dashboards that you can reference each day and different ones can be created for different roles in your company: In our running app, the coaches’ dashboard looks very different than our funnel dashboard. This allows you to keep the stats that matter most to you up front and easily accessible.

When looking at these metrics, be sure to look at each step in the funnel two different ways:

  1. From the previous step to the current step (e.g., Step 3 → Step 4)
  2. From the first step to the current step (e.g., Step 1 → Step 4)

The first one allows you to monitor and tweak more easily to see improvements. The second one allows you to see where you’re losing most of your users in order to choose which step in the funnel to focus on next.

Improving Mobile App Metrics

After creating a funnel like this, you will nearly always see that you may be losing customers in an area that you might not have expected. (This is something that is very product-specific, but there are some general guidelines that can help you improve any point in your funnel. For more information on this, stay tuned for Part 3 of this article, “How to Improve your Metrics.”)

Here’s one quick example: In the case of our 1.0 product, we had gotten a massive number of users that signed up for a class with us, but very few that came back on time. Why were so many people committing to run with us, but then not coming back when the time came?

Discovering the problem was the first step. We went out and talked to as many people as we could, and found out there were several things missing. The first and most important was user education. Users were not fully aware of what the product was and what the countdown timer meant. We updated the waiting screen to include more info about what would happen next and what they needed to do.

In addition, for users to join their runs on time, they needed to be reminded constantly. Since then, we’ve added push notifications to let them know their run is happening soon. We’ve also allowed them to add it to their calendar, and allowed them to invite a friend so their friend can remind them of the run. Each of these were rather small changes, and some of them yielded big results.

At the time of writing, we’ve sent over 30 updates to the App Store, each focusing on improving a portion of the funnel, and monitored the results. No one gets development right on the first shot, so make sure you’re prepared to test, analyze, and improve.

With each version, we could compare our current funnel to the new one. If you have the users and development time, you can also test multiple things at once by A/B testing. This can be done by creating a second funnel and putting each user into one group or another. The goal of all of these tests is to give you a number of dials to turn and see how turning those dials affects your app’s overall profitability.

Calculating the Lifetime Value (LTV)

In the previous article, we explored one of the most important mobile app success metrics, the LTV. But we need a different approach to get that number here.

First, the percentage of people that go from the first step in the funnel to the last step is your conversion percentage. This is calculated by:

Number of subscribers or purchasers / Number of users at the top of the funnel

An example would be 4 subscribers / 100 downloads = 4 percent.

If you’re building to a single purchase—unlocking the pro version, buying an item, etc.—then your formula is simple. First find the net profit per user: purchase price minus costs like Apple’s or Google’s 30% cut, server hosting, etc. Then multiply that by your conversion percentage. For example, if I have a $29.99 purchase with a 4% conversion, I would do something like this:

$29.99 * 70% = $20.99 (Apple’s or Google’s cut removed, i.e., net profit per user) $20.99 * 4% = $0.83 (LTV)

In the subscription world, we cannot get to an LTV until we know how long a subscriber is staying with us.

Subscriber Retention

So you got a user to subscribe, that’s great! The next things to think about are retention and churn.

Retention is the percentage of users who stay a certain amount of time. Churn is somewhat the opposite: how many people you lose each month.

There are a ton of things that you can do to affect user churn. Right now, we want to measure our churn, and use it to come up with an important number: how long the average user stays with your business.

If you’ve been around for a while, you may already have this number, or the data that you need to get it. For back-of-the-napkin numbers, you can take your churn percentage for the first month—typically the worst month—and assume it for future months. Simply take the inverse of that number to find how long the average user will stay. For example, if I lose 20% of my customers each month, the average user would last 1 / 0.20 = 5 months.

Churn rate can dramatically change from one month to the next. For example, your churn rate of month-1 renewals will almost always be higher than your churn rate of month-6 renewals. If you know your churn rate over the next 12 months, you can use those numbers to get an average churn rate. We’re discussing monthly renewals here, but this will also work for weekly and yearly subscription lengths.

Example subscriber retention table

There are many different ways that you can calculate the average amount of months that a user stays subscribed. Depending on your application, you can calculate based on how long they have been subscribed, where they are in the process of completing something (such as an educational app that has a course that will be completed), or for a fitness app, perhaps the season of the year. Feel free to dig around online and find a system that works from you. Once you know how often the average user stays subscribed, you can move on to the next step.

Back to LTV with a Retention Metric

Once we know how long a user stays on average, the LTV calculation is very straightforward:

Subscription cost × Number of pay periods subscribed

For example, if we make $20.99 per user per month, and the average user stays subscribed for 10 months, than our LTV is $209.90.

If you have multiple payment options—for example, an annual subscription and a monthly subscription—you can create the same path as above for each payment option, and then multiply it by the percentage of users that choose a given path to create an overall number.

For example, if 66 percent of my users choose the monthly route, and 34 percent choose the yearly route, you could do the following:

Monthly LTV × 66% + Yearly LTV × 34% = Average LTV

You may also learn here that one subscription option is significantly more profitable than another. If this is the case, you may want to do some price testing to make the other one more profitable, or eliminate it all together. Knowing your lifetime value is one of the most valuable mobile app metrics you can have in your arsenal. It allows you to determine exactly what you’re willing to spend to acquire a user, and make better decisions about key marketing aspects of your company.

When to Use the Funnel vs. ARPDAU

So when should you use the model described above instead of the average revenue per daily active user (ARPDAU) as described in the first blog post? While you can definitely use both tactics, I’d recommend starting with the one that will fit your business the best, and you can always expand!

Determining the lifetime value of a user by ARPDAU is great in several cases. It’s probably better to start with ARPDAU if:

  1. Your app’s primary source of revenue is micro-transactions or ads.
  2. There’s a direct correlation with the amount of time that a user spends in your app with your revenue. (For example, a shopping application.)
  3. Your primary income is from gathering data about the user, such as a social network.

Using a funnel would probably be a better option if:

  1. You’re looking to get the user to make a single purchase, such as unlocking the full version of your app or game.
  2. You’re doing subscriptions, where you receive revenue whether or not that particular user opens the app that day.
  3. A user needs to complete several different steps after launching your app to complete a purchase, and you’re not sure where you’re losing them.

Where Should I Go from Here?

Now that you’re armed with mobile funnel superpowers, what should you do next? The answer here is simple: Improve as many of these numbers as you can! Brainstorm ideas with your team, build and test things as quickly as you can, and kill features that don’t help your conversion.

Understanding the basics

  • What is the purpose of a sales funnel?

    A sales funnel allows you to view the entire process of acquiring a user in a simple format. This format makes it much easier to spot areas for improvement by detecting “leaks” in the funnel.

  • Why are sales funnels important?

    Sales funnels allow for a numbers-based approach to improvement. Without them, efforts to improve an app’s profitability would be far less focused and therefore less efficient, further reducing profit margins.

  • Are sales funnels effective?

    Yes. They’ve been used by many companies for decades because they give a great overview of the entire sales process.

  • How do you calculate customer LTV?

    Lifetime value (LTV) is calculated by totaling all of the different revenue sources of a user across all pay periods.

  • What is customer churn analysis?

    Customer churn analysis is the process of determining how many customers leave from one pay period to the next.

Hire a Toptal expert on this topic.
Hire Now
Matthew Knippen

Matthew Knippen

Verified Expert in Engineering

Chicago, IL, United States

Member since October 30, 2013

About the author

Having built 60+ iOS apps since 2008 using Swift and Objective-C, Matthew is most known for going from idea to App Store within eight weeks.

authors are vetted experts in their fields and write on topics in which they have demonstrated experience. All of our content is peer reviewed and validated by Toptal experts in the same field.




World-class articles, delivered weekly.

By entering your email, you are agreeing to our privacy policy.

World-class articles, delivered weekly.

By entering your email, you are agreeing to our privacy policy.

Join the Toptal® community.