Conquering the App Retention Spillway
Every app developer wants the same thing: more people using their app. Whether that’s to make the case for funding, grow subscriptions, increase ad revenue, or sell more microtransactions, a bigger base of people coming back and using your app is always the goal.
Increasing acquisitions is a common way to grow the number of active users, but by the end of this guide, with its interactive demos, you’ll be ready to tackle improving retention too, the other lever of growth.
This guide is aimed at app developers targeting consumers (or B2B2C). If your app has 100 or more users who each independently decide whether to keep using your app, then this guide is for you. It won’t be as useful if you’re running on a couple of big commercial or government contracts, or if your users are required to use your app as part of an enterprise deployment.
Swap your bucket for a reservoir
Section titled “Swap your bucket for a reservoir”Many guides talk about plugging the hole in your leaky bucket. The water is your active users: you pour new users in at the top through your acquisition channels, and lose them through a hole in the bottom, when they uninstall your app or cancel their subscription. It’s a nice image, taping over the hole, watching your bucket overflow with all the users you’ve secured.
But it’s the wrong one. What you’re actually dealing with is more like a reservoir, and trying to stick tape over a reservoir will get you nowhere. You need an approach that actually tackles where you’re losing users: your app’s retention spillway.
Unlike a hole in a bucket, a reservoir’s spillway behaves differently. As water (your users) flows in from your acquisition channels, the water level rises. During a particularly rainy season, you don’t want the reservoir to overflow, so spillways are designed to scale: the higher the waterline, the more water spills out; when the water’s lower, the spillway slows down and keeps more water in the reservoir.
App retention works the same way. The more users you have, the more users you have to lose, and the more you will actually lose. It isn’t a single fixed hole in a bucket, it’s a dynamically scaling outflow.
The reservoir below is interactive, so you can see what happens as you scale acquisitions and retention up and down.
The first thing to notice is that acquisitions and the number of users churning eventually balance out, and the system settles at an equilibrium.
If you’re looking for funding, your numbers will always look best right around the time you increase acquisitions or retention. Wait too long, and things will slow down again as you reach equilibrium.
The second thing to notice is that the equilibrium scales the same way acquisitions do. There are 200 acquisitions on the low setting, 400 on medium, and 800 on high, and each time acquisitions double, the equilibrium doubles too.
Both of these are true of growing apps in real life. The number of active users always grows or shrinks quickly at first, then slows as it approaches equilibrium. And doubling your acquisitions will double the active users (once things reach equilibrium), just as halving them will halve it.
Equally, if you’re seeing the number of daily (or weekly or monthly) active users keep going up but the rate it’s growing is slowing down, it might not signal that anything is going wrong. If you’re only looking at daily active users (DAU), this could make you apprehensive about your recent app changes when it might just be a normal part of reaching an equilibrium.
In the next section, we’ll start to understand how retention plays a part in deciding where that equilibrium lands.
An equation for growth
Section titled “An equation for growth”The reason doubling acquisitions doubles the number of active users isn’t a coincidence, it falls straight out of the equation that describes equilibrium:
active users = acquisitions × active days
“You can’t change what you don’t measure” is a line often attributed to Peter Drucker, and it applies neatly here. Acquisitions is the easy half: it’s a single number you already track. Active days is trickier, because it’s driven by your retention curve, how likely a user is to still be active on any given day since they joined.
The chart below shows a representative retention curve. Tenure runs along the bottom, which is the number of days since the user installed the app, and each bar is the proportion of your user base who opened the app that many days after they installed. Try switching between a longer trial period and increased loyalty to see how differently each one reshapes the curve.
Nothing here is an exact science, but if you lose 60% of your users when your trial expires, doubling your trial period will likely keep those users around longer. That’s not necessarily a good thing: you’ll be paying for the databases, storage, and compute to support those users for longer, and if they weren’t going to convert after the original trial, they’re unlikely to convert just because you doubled it. The exception to this rule of thumb would be if they need that extra time to reach their first “aha” or “win” in your product, where they see its full potential for the first time. Switch between baseline and double trial period above and you’ll see this play out.
Something more counterintuitive happens when you increase user loyalty. Retention drops early on, but active days goes up massively. This is where the popular advice to “find your niche” comes from. Finding your audience and making sure your app caters really well to them means those users will keep your app for much, much longer. It will put off people outside that niche, which is why early-life retention looks worse, but the users who stick around make up for that loss many times over. This is also called a good product-market fit. If you search these terms, you’ll come across a whole set of guides on this exact topic, which are well worth a read.
When retention is really bad, it’s trivial to measure. If people only keep your app for a day, your active days is 1, by definition. But as retention improves, it gets much harder to measure. If your most loyal users keep your app for 12 months, you’d have to wait 12 months after every change just to see whether it helped or hurt.
That’s why we need a proxy metric, something that moves up and down with active days but that can give you high confidence about a change faster than waiting to see whether new users stay as loyal as your most loyal users already are. In the next couple of sections we’ll look at two metrics you’ve probably heard of, day 7 retention and the DAU:MAU ratio. We’ll cover when they’re useful, and importantly, when they’re not, since leaning on either one at the wrong moment can actually hurt your efforts to improve retention.
Day 7 retention as a proxy for active days
Section titled “Day 7 retention as a proxy for active days”Day 7 retention is fast to measure and easy to compare, but it’s a single point on a curve whose shape can vary a lot between products. Two curves can share the exact same Day 7 retention and still land on very different active days, depending on how steeply they drop off afterward. That cuts both ways: a change that improves Day 7 retention can quietly reduce active days, and a change that looks like it hurts Day 7 retention can actually increase active days, depending on which part of the curve it’s really affecting.
Look back at the chart above and compare Baseline with Increased loyalty. Their Day 7 retention is identical, 37% either way. If Day 7 was all you were watching, you’d conclude nothing had changed. But active days tells a completely different story: roughly 15.6 active days per user on Baseline, versus roughly 49.2 on Increased loyalty, more than three times as many. So Day 7 retention clearly doesn’t work as a proxy for every app, or even for every change you might make to the same app. Worth being honest here: the curve shape underneath all this is a modeling choice, not something you can read off a dashboard or dial directly. But it’s still a useful lens, and a couple of general rules of thumb fall out of it.
One rough guide: find the day where you retain around 37% of your user base, and try to push it later, since this day tends to track your early life and onboarding. Delay it by roughly 10%, and you’ll tend to see a roughly 10% increase in active days back, since the relationship is close to linear. You can see this directly in the demo above: switching from Baseline to Double trial period moves the 37% day from day 7 to day 14, twice as late, and active days roughly doubles right along with it, from roughly 15.6 to roughly 31.1.
A second, and often bigger, lever is loyalty. Switch to the Increased loyalty preset above and you’ll see active days climb to nearly three times the Baseline figure, despite early-life retention actually getting worse. This kind of change is much harder to read early, though. To get a good sense of it, you generally have to wait until roughly the point where your “averagely loyal” user is thinking about churning, which tends to be a good deal later than your 37% day. For Baseline that’s roughly day 54; for Increased loyalty it moves out much further, to roughly day 395.
In practice, that means don’t trust an early checkpoint like Day 7 or Day 28 to represent your active days, especially once you’ve built up a loyal core of users. Treat an early checkpoint as a read on your onboarding, not your long-term retention, and lean on your actual retention curve, or one of the proxy metrics below, when the decision actually matters.
DAU:MAU ratio as a proxy for active days
Section titled “DAU:MAU ratio as a proxy for active days”DAU:MAU is a genuinely useful, easy-to-read engagement signal, but it isn’t a clean stand-in for active days. The ratio is driven as much by how often people open your app on a given day as by how long they stick around, so two products with very different active days can post the same ratio. It also reacts to changes in acquisitions, not just retention, and takes time to settle after any change, so reading it too soon after you’ve shipped something can be misleading.
The monitor below tracks a simulated app’s DAU:MAU ratio in real time, DAU measured on the current day, MAU measured across the trailing 30 days, the same way most analytics platforms define it. Pick an event from the list and watch what the ratio does.
No matter which scenario you pick, DAU:MAU shifts radically at first, and for the loyalty scenarios specifically, sometimes in the opposite direction to what’s actually happening. Two of these are worth calling out on their own, since they distort DAU:MAU in the most surprising ways compared to what’s really going on with active days.
If you’re heading into a funding round, and you’ve recently brought on a new acquisition source or improved engagement, grab your DAU:MAU number early. It reads best right after the change, before it settles back down toward the end of the month.
Acquisitions. A new channel or a dead campaign swings DAU:MAU by 14 to 28% within the first month, despite zero change in actual retention. It does eventually wash out completely, but not within any window you’d realistically be watching. A DAU:MAU move in the days or weeks after an acquisitions change tells you almost nothing about retention, since it’s measuring your funnel, not your product.
Loyalty. This is the one to watch out for. A big loyalty win, more than tripling active days in our demo, can leave DAU:MAU basically flat for the first week, then push it in the wrong direction long term, down 16% even as active days more than triples. A loyalty regression does the mirror image: active days nearly halves, but DAU:MAU actually rises. This isn’t a lag that resolves with patience, it’s a structural mismatch that never corrects.
The other two levers are more forgiving, if still imperfect. Onboarding changes move DAU:MAU in the right direction, but the effect is muted almost to invisibility, doubling active days through onboarding only moves the ratio by a few percent, even once everything has settled. Engagement is the one lever DAU:MAU tracks reasonably well: it moves the ratio in the right direction and settles fastest, though it still understates the true change by roughly half.
Putting it all together
Section titled “Putting it all together”We’ve seen how acquisitions and churning users eventually reach an equilibrium in the number of people actively using your app. That means there are exactly two ways to grow it: increase acquisitions, or decrease how fast users churn.
active users = acquisitions × active days
Track these numbers around new acquisition campaigns, new feature releases, and any A/B experiments you run, so you actually know what’s happening to your active-user equilibrium rather than guessing.
- Acquisitions are the easy one to track. A 10% increase in acquisitions gives you roughly a 10% increase in the equilibrium, no caveats needed.
- Day 7, or another early-life checkpoint, works well if you’re chasing a linear increase in active days. Find the day by which around 37% of your users are still coming back, and try to delay it. Push that day back by 10%, and you’ll get roughly a 10% increase in active users in return. Say your day 10 retention is currently 37%: an experiment that stretches that same milestone out to day 12, 20% later, should lift active users by around 20% too.
- If you’re after user loyalty, focus on serving the users you already have really well, a genuine product-market fit. The gains here are non-linear and can be many times bigger than the change in retention itself, but you have to pick a much later checkpoint, one that’s really only capturing your most loyal users, to see it.
- DAU:MAU ratio is a good day-to-day health check, since it captures a little of everything at once. That’s exactly why it’s a poor tool for judging whether a specific change worked, it blends too many signals together to tell you what actually moved. That’s especially true for loyalty, where DAU:MAU can move in the opposite direction from what’s really happening.
Nothing beats actually tracking your app’s retention curve. Watching how the curve itself shifts before and after a change, or comparing it directly through an A/B experiment, tells you far more than any single proxy metric ever will. Day 7 retention and the DAU:MAU ratio are still useful for a quick read day to day, but go back to the underlying curve whenever you’re making a real decision about a change to your app.
Most analytics platforms hand you dozens of metrics and leave you to work out which ones actually matter. Now that you’ve read this guide, you should be able to navigate to the most important metrics. But you shouldn’t have to. devgrowthlab surfaces only the metrics that matter by default, forecasts where they’re headed, and proactively emails you when something looks off, so you’re not left digging through a confusing array of dashboards and alerting rules trying to work it out yourself.
If you liked this guide and want to start using an analytics platform which cuts through the noise, start a free trial today.
Start your free trial