---
title: Create a Retention Curve with Mixpanel and Google Sheets
teaser: 'Better visualize product retention with a curve instead of a tabular cohort
  report.

  '
tags: growth
author: Dan Croak
published_on: 2015-07-01
---

It could be said that an early-stage business has reached product/market fit
when it has a [trifecta](http://www.coelevate.com/essays/product-market-fit)
of non-trivial new user growth,
retention of those users,
and meaningful use by those users
where "non-trivial new user growth" and "meaningful use"
typically mean something different per-product,
defined by a
[North Star metric](https://thoughtbot.com/blog/north-star-metric).

Retention, though, can be measured in a pretty standard way across products.
Many designers, software engineers, and product managers
have used cohort reports generated by tools such as
[Mixpanel](https://mixpanel.com) or
[Amplitude](https://amplitude.com) or
[ProfitWell](http://home.profitwell.com/) or
[iTunes Connect Analytics](https://analytics.itunes.apple.com/).

Most of the time, these cohort reports come in tabular form.
My experience has been that those reports can be confusing.
An alternative visualization is a retention curve.

[Amplitude provides retention curves][amp]
for acquisition and behavioral cohorts,
so if you're evaluating tools for your analytics instrumentation,
consider choosing Amplitude to get retention curves "out of the box".

[amp]: https://amplitude.com/blog/2015/11/24/cohorts-to-improve-your-retention/

But for those using Mixpanel,
let's generate a retention curve in about 10 minutes
using [Google Sheets](https://docs.google.com/spreadsheets/u/0/).

We'll use real data from
[FormKeep](https://formkeep.com?utm_source=giantrobots),
our product that provides form endpoints for designers and developers,
typically working on static sites,
who don't want to fight with trying to style iframes or JavaScript embeds.

## Setting up the Curve

Sign into our Mixpanel account.
Click "Retention" in the left sidebar.
Click "First Time" at the top of the page.
For "Show me people who did", select an activation event such as "Signed Up".
For "Then came back and did", select a North Star event,
the activity where users are getting authentic value from the product.
Choose "Day", "Week", or "Month" based on the expected frequency of use
of that North Star event.

We'll see a chart that looks something like this:

![](https://images.thoughtbot.com/growth/retention-report.png)

Click the "CSV" download button in the bottom right.
Go to [Google Sheets](https://docs.google.com/spreadsheets/u/0/).
Create a new spreadsheet.
Click "File > Import > Upload".
Select the file.
Select "Replace spreadsheet".

We now have a table that looks like this:

![](https://images.thoughtbot.com/growth/retention-curve-table.png)

Select all the data.
Click "Insert > Chart".
Click "Chart types",
"Switch rows / columns",
and the curvy "Line" chart type (for style).
Click "Customization" to edit the title.

We now have a chart that looks like this:

![](https://images.thoughtbot.com/growth/retention-curve-ready.png)

We could stop there if we wanted,
but there's one small information design improvement we can make.
We'll select each time series,
and pick a shade of color in the same column,
making the oldest time series the lightest shade.

In this case, we'll choose the lightest shade of blue,
named "light cornflower blue 3" (obvi):

![](https://images.thoughtbot.com/growth/retention-curve-series.png)

The goal of this shading to create a relationship between the series.
Darker is more recent ("fresh paint")
and lighter is older ("faded").

Here's our final result:

![](https://images.thoughtbot.com/growth/retention-curve-final.png)

## Analyzing FormKeep's curves

We want to see our curves flattening out
and the initial drop-off
([present in every product's activation
funnel](http://andrewchen.co/new-data-shows-why-losing-80-of-your-mobile-users-is-normal-and-that-the-best-apps-do-much-better/))
to be shallow.
We want to see the darker-colored lines (more recent cohorts)
flattening sooner, for longer, and a higher absolute amount,
than lighter-colored lines (older cohorts).

FormKeep's curves are experiencing a sharp drop-off in the first two weeks.
The people who do activate, stay activated for months, though.
So, we should work on better activation to set our users up for success.

This isn't super-surprising.
FormKeep is a "free to sign up" product that require some set up
(HTML to be added to a site) to activate.

## Analyzing Upcase's curves

Let's compare the retention curves of another real product,
[Upcase](https://thoughtbot.com/upcase/join?utm_source=giantrobots),
our online training community for programmers,
using green lines instead of blue lines, for giggles:

![](https://images.thoughtbot.com/growth/upcase-retention-curve.png)

The initial drop-off in usage is shallower than FormKeep's.
Where FormKeep's cohorts are closer to 10% active in weeks one and two,
Upcase's cohorts are more like 30-40% active in weeks one and two.

There is a trend of older cohorts stopping use of the product
3-4 weeks after subscribing,
and recent cohorts sticking around a bit longer, closer to 6 weeks.
This is good news, and validates our recent focus on content production.

Unlike FormKeep,
Upcase is "pay to sign up",
so we'd intuitively expect more motivated users,
especially in the first month.

## Time to segment

These charts give us a scorecard,
but also some clues about where to dig for more data.

For example, we might want to be adjust our
[Intercom](https://intercom.io) communication to users
around week 1 and week 2.

It's also a reminder that the more properties we send
to Mixpanel (via [Segment](https://segment.com)) for our activation event,
the more information we have on different segments,
which could give us other clues about who is and isn't getting value.
Click "+ Segment" in Mixpanel
and choose an important property to segment by,
such as user acquisition channel:

![](https://images.thoughtbot.com/growth/mixpanel-segment.png)

The results:

![](https://images.thoughtbot.com/growth/mixpanel-utm-source-segment.png)

## Curves are cool

I find this way of visualizing cohort reports easier to understand
than the tabular form.
It's a bit of manual work right now but perhaps Mixpanel, Apple, and others
will begin offering a retention curve representation in the future.

Happy retaining!
