Historical Count: Track user behavior for different instances of each user action

  • Updated

This article will help you:

  • Pinpoint the Nth instance of a user action
  • Identify customer based on the number of times they've performed a critical action
  • Incorporate Historical Count into behavioral cohorts

Amplitude's Historical Count feature helps you achieve a deeper level of understanding when you're investigating why your users are retaining, converting, or engaging—or why they're failing to do that.

Have you ever noticed that conversion and retention rates can sometimes be very different for a user who has, for example, made one in-app purchase versus those who have made two or three?

With Historical Count, you can easily capture each Nth instance of any user action (up to the fifth), right out of the box. This will help you quickly pinpoint and resolve areas of friction for first-time users, so that you can boost your overall North Star metric.

You can also use it to identify your best customers based on the number of times they’ve taken a critical action in your product, like completing a purchase in an e-commerce platform or playing a song in a music streaming app. 

For example, if your product is a music streaming platform, Historical Count could highlight the usage differences between users who have performed the Play Song event for the first time and those who've fired it multiple times. 

NOTE: Historical Count is not the same as Amplitude's behavioral cohorts. However, you can use Historical Count in a behavioral cohort. See this section for more details.

Before you begin

Before you get started using the Historical Count feature, there are some things you should know. If you're new to Amplitude, you'll need to complete the instrumentation process in order for your events to appear in any Amplitude charts. We recommend you start exploring the Event Segmentation chart first.

Other important things to note about this feature:

  • The following operators are currently supported: <   <=   !=   >   >=
  • Only one Historical Count property can be selected at a time.  
  • Historical Count is an amplitude_logo.png event property available on the Event Segmentation, Funnel Analysis, Pathfinder, and Retention Analysis Charts.
    • In a funnel analysis, Historical Count works only on funnels set to "this order."
    • You can apply an Historical Count filter only to the first event in the Pathfinder and Retention Analysis charts.
    • However, you can apply it to multiple events when doing event segmentation and funnel analyses.

How Amplitude defines Historical Count

Generally speaking, Historical Count can tell you if it's a user's first time firing a specified event, or their fifth. But there are some constraints to be aware of here.

Amplitude's definition of "Nth time" is itself time-limited, to include a period of up to one year before the beginning of the date range of your analysis.

For example, let's say a user performed the Play Song event for the first time on February 20th, 2019, and then did so again a month later, on March 20th, 2019. In order to include the user's true first performance of the Play Song event, your chart's date range must begin no later than February 19th, 2020. If your chart covers the period of, say, March 1st, 2020 to March 31st, 2020, Amplitude will then treat the event performed on March 20th, 2019 as the user's first interaction with the Play Song event.

Apply a Historical Count filter

To apply a Historical Count filter, follow these steps:

  1. In your Events Module, choose the event you're interested in. Then click + Filter by.
  2. Scroll down to Amplitude Event Properties and select amplitude_logo.png Historical Count.
  3. Choose the correct operator and specify the N-value (first through fifth) that you're interested in.


In the example above, the chart will include users who performed the Send Message event, with a Historical Count of three. 

Historical Count in the Amplitude order of operations

Whenever Amplitude applies filters to an event, it does so in a specific order. The Historical Count filter is always applied last.

Let's take this Historical Count filter as an example:


With the Historical Count filter applied, this chart will not show you everyone whose third time firing that event just happened to take place in Germany (i.e., where the first and second instances could have happened anywhere in the world). Instead, it shows the third Germany-located instance of that event—in other words, both previous instances will also have taken place in Germany. It could be the user's third, eighth, or hundredth time firing that event overall, as long as it was only their third that took place in Germany.

NOTE: Any group-bys will apply to the first event selected in the Funnel Analysis, Pathfinder, and Retention Analysis charts. When you apply a group-by, Amplitude will show the user's property value at the time of firing the event for the Nth time.

Event Historical Count

The Event Historical Count filter works very similarly to the Historical Count filter. While both capture a user's Nth instance of performing a specified action, Historical Count is applied after all other filters have been applied. By contrast, Event Historical Count is applied first, before any other filters.

This can have important implications for your analyses. Let's use the table below to illustrate the difference:


Maya’s event

Loc’s event










If we were to set up an event segmentation analysis that searches for Any Event where:

  • Historical Count = 1st
  • Event Name = Run

This will yield two results: Maya at time 1, and Loc at time 3.

By contrast, let's consider a similar analysis that searches for Any Event where:

  • Event Historical Count = 1st
  • Event Name = Run

This will give us only one result: Maya at time 1. This is because run is Loc's second event, and the Event Historical Count filters out everything but first events.

Historical count in funnel analyses

In Funnel Analysis charts, a user could enter the funnel multiple times, or perform the various steps multiple times. In order to decide if a user counts as converted in a Funnel Analysis chart with a Historical Count filter, Amplitude considers two things: 

  1. The Nth instance must be within the date picker dates; and
  2. The Nth instance must occur within the conversion window of the other funnel steps.

As an example, let's imagine a two-step funnel. We've set the Historical Count filter to 2 on event A, with a date range of December 21st, 2020 to December 22nd, 2020. The funnel is:

Step 1 = Event A

Step 2 = Event B

And the user has performed the events in this order: BBABAB.

Here, in order to count as a conversion, the user will have to fire the second instance of event A in the specified date range (December 21 and 22, 2020), and perform event B within event A's conversion window.

If we instead apply the Historical Count filter of 2 to the second event—everything else remaining equal—the user will count as a conversion if:

  • Either occurrence of event A is in the specified time frame,
  • The second occurrence of event B is in the specified time frame, and
  • Event A (the one in the specified time frame) was performed before the second occurrence of event B.

NOTE: When using Historical Count filters on the same events that happen within the same second, users will appear to have dropped off. This is because the funnel query does not distinguish between events that happen within the same second, but the Historical Count filter does. 

Historical Count in behavioral cohorts

Historical Count and behavioral cohorts are related but distinct concepts in Amplitude. A behavior cohort can be used to define a group of users who took a specific action with a certain frequency in a specific time frame—for example, users who completed a workout five times in the last 30 days. A fitness company might want to know which of its users fit this description, as it may be their definition of a recent power user.

Conversely, Historical Count allows you to pinpoint a user’s fifth workout. So if they completed only two workouts in the last 30 days, but had also completed three workouts prior to that, the most recent workout was actually their fifth. This is an important distinction, because a user’s fifth workout overall could also mark an important milestone in their overall user lifecycle: they have now transitioned into a group of users that are highly likely to retain long-term, or be a frequent purchaser.

Amplitude allows users to combine the power of both, by creating a cohort with historical count as a condition. You can also see the cohort population over time as well.

To add Historical Count to a behavioral cohort, see our Help Center article on creating a behavioral cohort in Amplitude.

Historical Count and custom events

The custom event logic will be considered before the Historical Count filter, and will count all of the underlying events triggered by the user.

For example, imagine a custom_event_c, that is triggered when a user triggers either event_a or event_b. Let's say that the user triggers events on the following days: 

Day 1: event_a

Day 3: event_b

Day 7: event_b

Day 14: event_a

If we apply the Historical Count filter of 1 to custom_event_c within the time frame, the user will be counted in the data point for Day 1 since event_a was triggered for the first time on that day. The user's events triggered on Day 3, 7, and 14 will not be counted for those days.

When we apply the Historical Count filter of 2 for custom_event_c, the Historical Count will register Day 3 as the day on which custom_event_c was triggered for the second time.