A very common data analysis technique is called Cohort Analysis.
A Cohort is simply a segment of users which is based on a date. For example, a cohort could be all users based on their Acquisition Date (in Google Analytics this is really the Date of First Session).
Another cohort might be all users that completed their first transaction during a specific time period. This is a very common cohort used in ecommerce businesses. You’ll commonly hear ecommerce companies talk about the performance of new customers acquired during the holiday shopping season. This is simply a cohort. It’s all customers whose first transaction occurred between thanksgiving and Christmas (or some day before Christmas).
I’ve written about cohorts before. But to be honest, a lot of other analytics tools have been hard on Google Analytics for it’s lack Cohort functionality – and that was well deserved! For a long time the only way to do cohort analysis in Google Analytics was via segmentation – but that was really a hack.
Now Google Analytics has a real Cohort report that makes it much easier to perform cohort analysis.
Explaining the Cohort report
Let’s look at the various parts of the Cohort report. There are three main sections of the report: the report settings, the data over time graph and the tabular data.
Now let’s talk about how to configure a Cohort report.
There are four main choices that you need to make when creating a Cohort report.
Cohort Type: Again, a cohort is segment based on a date. The Cohort Type is where you specify which date you want Google Analytics to use to create the cohort. Right now you probably noticed there is just one option here – Acquisition Date. This dimension is the date that the user first visited your site or used your app. It’s basically the Date of First Session.
I know – you’re probably all groaning that there is only one option. Me too! But stay tuned :)
Cohort Size: The cohort size is the time window that you want to use when looking at the Cohort type. So, choosing a day would mean “I want to see all users that have the same acquisition day.”
If you choose a Cohort Size of a week then it means “I want to see users whose acquisition date was within the same seven day period.”
Metric: This is the actual data that you will see in the report. There are aggregated metrics, like pageviews, and there are a number of per-user metrics, like sessions and revenue.
Remember, the analysis technique is to look at a specific metric for a cohort (a segment!) and see how that metric performs over time. The idea is to see if there are any dramatic changes to the metric between the different cohorts.
Date Range: This is the date range used to construct the cohort. When Google Analytics builds a cohort it uses the Date Range to evaluate the date specified in the cohort type – in this case Acquisition Date.
If I choose a Cohort Date Range of Last 7 days, and today is February 6, Google Analytics will look from Jan 30 to Feb 6 and align the data based on each user’s Acquisition Date. Here’s how Google Analytics would create the various ‘Days’ of data based on a user Acquisition date of January 30.
Day 0 = Jan 30
Day 1 = Jan 31
Day 2 = Feb 01
Day 3 = Feb 02
Day 4 = Feb 03
Day 5 = Feb 04
Day 6 = Feb 05
Day 7 = Feb 06
And here’s how the ‘day’ data would break down for each cohort in the data table. Notice how each cell of data is for a different group of users on a different day?:
Remember, we’re talking about days here because we chose the Cohort Size to be Day. If we had chosen Week we would have seen Weeks in the graph; in that case, a week would be a 7 day period starting from yesterday backwards.
You’ll also notice that this time range is also represented in the tabular data.
NOTE: You will ALWAYS see 12 columns of data in this data table. It does not matter if you choose a cohort size of day, week or month. There will always be 12 columns. Why?
Most people will assume that if you choose a daily cohort for a 30 day time period you would see 30 columns and 30 rows, one for each cohort. But we found that most people don’t look at every single combination. For example, there are very little insights to be gained for the 17th day cohort 22 days from their initial visit.
However, if you do need to do that type of analysis it is possible to switch to a larger cohort size, like week, to observe what happened.
The amount of data in the cohort report depends on the cohort size and the date range that you choose.
When you choose a daily cohort (cohort size = by day) then you are limited to a 30 day lookback window.
When you choose a weekly cohort (cohort size = by week) then you are limited to a 12-week lookback window.
When you choose a monthly cohort (cohort size = by month) then you are limited to a 3-month lookback window.
Cohort Analysis Workflow
Ok, now that we’ve talked about the parts of a Cohort report, let’s look at a common workflow. Let’s say I’m a blogger (or publisher) and I want to understand the behavior of my weekly active users.
From a business perspective, I want people to come back to my site (or app!) very often. Knowing how many people are active within a week is really useful.
First I choose my Cohort Type – Acquisition Date because I can’t do anything else right now :)
Next, because I publish a lot of content, I want to set Cohort Size to daily. Now, for the metric, I am going to choose User Retention. This is the percentage of users that returned to my site (or app!) on a given day.
Finally, I’m going to set the date range to Last 7 days.
Now I have a report to look at!
To analyze this data I’m going to skip to the tabular data under the time trend.
Each row of data represents a different Cohort. I chose a daily Cohort, so each row represents a day. There will be 8 rows of data because my date range was 7 days and the EIGHTH row is the All Sessions data.
The tabular data shows the retention rate for each cohort for the past 7 days. To analyze the data I’m looking for any cells in the table that are a dark color. Or you can just look at the actual numbers to identify numbers that are abnormally high. But I’m lazy, so I’m just going to look at the color.
Here, in this report, I can see that users who first visited the site on Jan 27 returned at a much higher rate one day after their initial visit – much higher than all the other cohorts.
What happened to these users? Why is their behavior different? Great question!
You need to add some of your own business context to this data as you scan the table. Think about your marketing activities. Were you running any specific campaigns that might have impacted the date?
It may be that you have no idea why this happened. Have no fear – Segmentation to the rescue!
Segmenting the Cohort Report
One thing that I really like about the new Cohort report is the ability to segment the data. You can apply up to four segments to this report. Each segment will create a new table of data below the “All Sessions” table.
Remember, a cohort is just a segment based on a date. So when you apply a standard GA segment you’re introducing another layer of segmentation. Here’s what the data would look like if I segment by Mobile and Tablet Traffic.
To analyze the data I like to compare the data from each segment to the All Sessions data. I’m looking for any segmented cohorts that perform differently than all of the sessions.
I also recommend segmenting by traffic source or specific campaign. This is especially important given that the only Cohort Type is currently Acquisition Date.
Which Cohorts should you choose?
Hopefully by now you have a good idea of how this report works and how you can use it. You’ve probably noticed that this is not something that you will need to use every day. Let’s look at a few common cohorts based on different business models, that you can create.
Remember, we’re a bit limited right now due to a singular cohort type – acquisition based cohorts.
There are some really cool ecommerce-specific metrics that we can analyze with the Cohorts report. Things like Revenue per User, Transactions per User and total Revenue.
The key here is to remember that the cohort will be based on the date the customer first visited the site or app.
Also remember the granularity of the cohort and your customer buying cycle.
Analyzing customers who purchase expensive items, that are purchased less frequently, over a 7 day date range, will not yield many insights. Try switching to a weekly cohort over 10+ weeks.
Weekly Cohort, User revenue, last 12 weeks
Weekly Cohort, Transactions per User, last 12 weeks
If your customers purchase less expensive items, then they might purchase more frequently. Try switching to a daily cohort over 30 days.
Daily Cohort, User revenue, last 30 days
Daily Cohort, Transactions per User, last 30 days
Try adding some product segmentation. Here I added a segment based on a specific product and found that the revenue per users spiked 5 days after the first visit.
Also, try applying a segment for user-based revenue. Look at high-value customers and lower-value customer. How does their behavior, over time, change based on the acquisition date?
In App Purchases
This is one area where the cohorts report will really shine. This is a FANTASTIC way to understand user behavior after they initially launch your app for the first time.
The in app purchase model is very different than traditional ecommerce – In app purchases are MUCH smaller and usually very frequent. I would look at cohorts like:
Daily Cohort, User revenue, last 7/14/30 days
Daily Cohort, Transactions per User, last 7/14/30 days
I would also look at user-engagement cohorts for those that do NOT purchase. It will help me understand if users are actually using the app. Create the following cohorts:
Daily Cohort, Sessions per Users, last 7/14/30 days
Daily Cohort, Session Duration per User, last 7/14/30 days
Then apply a segment of Revenue per User = 0:
Publishers (Desktop & Mobile)
For publishing I want to better understand user engagement over time. Luckily there are a number of metrics that we can use when building cohorts. Try the following:
Daily Cohort, Sessions per User, last 7/14/30 days
Daily Cohort, User Retention, last 7/14/30 days
Daily Cohort, Pageviews per User, last 7/14/30 days
Daily Cohort, Sessions Duration per User, last 7/14/30 days
If you have revenue data in Google Analytics, from AdSense or some other calculation, I would suggest looking at cohorts similar to in-app purchase.
Also keep in mind your publishing schedule. If you’re the New York Times or Wall Street Journal you publish a lot of content every day. A 7-day date range is very helpful. But if you’re a blogger that only publishes twice a month, you might want to look at a 21 or 30 day date range.
Similar to the previous items, your lead gen cohorts will really depend on how long it normally takes to get a lead. If you’re selling something expensive, look at a weekly cohort over a long time period. If you’re selling something less-expensive, look at daily cohort over a shorter time period.
One of the challenges here is that there is no metric for a single goal conversion. You could use the metric Goal Completions, but that looks at ALL your configured goals, and I’m assuming that most of you have more than one goal configured.
So your best bet for lead gen is to look at some engagement metrics. Look for cohorts that are showing lots of engagement based on time and sessions per user. This may indicate
A Final Tip
Hopefully this clears up why you should do Cohort analysis and how to do it with Google Analytics.
Here’s one more tip.
Use Shortcuts to save your specific cohort reports. This is a HUGE timesaver! You probably noticed that you need to configure the Cohorts report. If you look at a cohorts report often take the time to save your version using a shortcut. Then you can access it with one click in Google Analytics.
Cohort analysis is a useful way to understand how groups of users perform based on a common date attribute. I hope you will try cohort analysis and found this post useful.