Analyze time between purchases
The time between purchases report shows how often your customers make purchases. Use this insight to identify the best moment to target customers with personalized campaigns and improve your retention rate. This guide explains how to read the report data and how to create the analysis.
Prerequisites
To create this report, you'll need to be familiar with the following:
Overview
Why analyze time between purchases
Knowing when customers are most likely to make another purchase helps you target them with email campaigns or special offers within the right time frame. For example, if your customers typically make their third purchase between one and four months after their second one, you can target customers who have made two purchases within that time frame.
The ideal time between purchases varies across industries. A business selling seasonal equipment like skis has a different purchase cycle than an online drugstore. Compare your results to similar businesses to determine whether your retention rate meets industry standards.
Read the report data
Use the report data to identify patterns in your customers' purchasing behavior.

Time between purchases report showing purchase patterns across customer segments.
A typical time between purchases report shows the following insights:
- Most returning customers purchase between 30 days and four months after their previous purchase.
- Avoid sending communications to one-time buyers in the second, third, and fourth week after their purchase.
- If you don't reactivate active customers within a year of their purchase, you risk losing them.
Create a time between purchases report
Create the expression
Create an expression for the time between a customer's purchase and their previous purchase:
- Go to Data & Assets > Data manager > Definitions > New definition > Expression.
- Select Expression for event and select
purchase. - Create a running aggregate
last(purchase.timestamp)and subtract it fromtimestamp. - Divide the result by
86400to convert the output to a day count. - Name the expression and save it.

Set up the expression to calculate the time between purchases in days.
Create the event segmentation
Create an event segmentation using the expression you created:
-
Start from the smallest time difference and increase incrementally.
-
Set the time limits according to your preferences. Use the following segments as a starting point:
- Last 7 days (first segment)

Set up the first segment for Last 7 days.
- More than a year ago (last segment)

Set up the last segment for More than a year ago.
Create the final report
- Create a new report and use the event segmentation you created in the rows.
- For the columns, create a running aggregate showing the number of purchases.
- Use a simple count of purchases in the metrics.

The final report with event segmentation in rows and purchase count in columns.

Set the correct value format for the count(purchase) metric.

Select Column total % in the Show value as dropdown to set the correct value format.
NoteIf your purchase event has a different name than purchase, you'll need to adjust the event name in the report, event segmentation, and expression.
Best practices
Break down data by attributes other than the number of previous purchases. Consider segmenting by gender, age, order value, shipping city, or total customer value to generate more granular insights.
Updated about 5 hours ago
