How to Identify Shopify Customers Who Are Due to Buy Again

 

Getting a customer to place a second or third order is often more valuable than constantly trying to find new customers. The challenge is knowing when a customer is actually ready to buy again.

A customer who normally orders every 30 days and has not purchased for 32 days is very different from a customer who usually orders every six months and has not purchased for 40 days. Instead of treating every customer the same, you can use their purchase history and typical buying interval to identify customers who are due for another purchase.

What Does "Due to Buy Again" Mean?

A customer is due to buy again when their expected time between purchases has arrived.

For example:

  • Customer A usually buys every 30 days.
  • Their last order was 31 days ago.
  • They are likely due for another purchase.

Compare that with:

  • Customer B usually buys every 120 days.
  • Their last order was 31 days ago.
  • They are not yet due.

Both customers have been inactive for 31 days, but their situations are completely different. This is why simply creating a segment such as "customers who haven't purchased in 30 days" can produce poor results.

In the following section, I have prepared 6 steps to determine customers who have repeating purchasing patterns and what parameters to use to identify them.

Quick Start Guide & How to

Please find below a useful tips & how-tos

How to Identify Shopify Customers Who Are Due to Buy Again
Step 1: Step 1: Look at the Customer's Purchase History

The first step is to look at how frequently each customer has purchased.. For every customer with multiple orders, you can calculate the number of days between their purchases.

For example:

  • #1001 January 1
  • #1054 January 29 28
  • #1120 February 27 29
  • #1187 March 28 29

This customer has a very consistent purchasing pattern. Their typical purchase interval is approximately 29 days. That gives you a much more useful signal than simply looking at their total number of orders.

Step 2: Step 2: Calculate the Typical Purchase Interval

The next step is determining how many days normally pass between purchases. A simple approach is to calculate the median purchase interval.

For example, suppose a customer has these intervals:

25, 28, 29, 30, 31, 90 days

The average is heavily affected by the 90-day gap. The median, however, is much closer to the customer's normal purchasing behavior. Using the median interval can therefore provide a more stable estimate of when the customer is likely to purchase again.

Why Median Instead of Average?

Customer purchasing behavior is rarely perfectly consistent. A customer might normally purchase every month but occasionally skip a month or make a much later purchase. Using the median helps reduce the effect of these unusually long or short intervals.

Step 3: Step 3: Estimate the Expected Next Purchase Date

Once you have the customer's typical purchase interval, you can estimate their next purchase date.

A simple calculation is:

Expected next purchase date = Last purchase date + typical purchase interval

For example:

  • Last purchase: March 28
  • Typical purchase interval: 29 days
  • Expected next purchase: April 26

You can then compare today's date with the expected purchase date.

This creates a much more useful customer segment.

Step 4: Step 4: Separate Due Customers From Overdue Customers

Not every customer who has reached their expected purchase date is in the same situation. You can divide customers into several groups.

Due

The customer's expected purchase date is approaching or has just arrived.

These customers may be good candidates for a reminder or replenishment campaign.

Overdue

The customer has passed their expected purchase date but has not purchased again.

For example:

Typical interval: 30 days
Last purchase: 40 days ago
Customer is approximately 10 days overdue.

These customers may require a different message from customers who are simply approaching their expected purchase date.

Churn Risk

A customer who remains inactive significantly beyond their normal purchase interval may represent a higher retention risk. For example, a customer who normally purchases every 30 days but has not purchased for 100 days has a very different status from someone who is only two days overdue.

The exact thresholds should depend on the customer's purchasing behavior and the store's business model.

Step 5: Step 5: Segment Customers Based on Their Purchase Behavior

Once you calculate these values, you can create actionable customer segments.

For example:

Due to buy again
Customers approaching or reaching their expected purchase date.

Overdue
Customers who have passed their expected purchase date.

Churn risk
Customers significantly beyond their normal purchasing interval.

Repeat customers
Customers who consistently purchase more than once.

These segments are more useful than a single "inactive customers" list because they reflect the customer's actual purchasing pattern.

Step 6: Step 6: Turn the Segments Into Marketing Actions

The purpose of identifying customers due to buy again isn't simply to create another report. The data should help you decide what to do next.

For example:

Customers who are due

Send a reminder that it may be time to reorder.

Customers who are overdue

Consider a stronger re-engagement message.

Customers at risk of churn

Test a different retention strategy, such as personalized recommendations, an incentive, or a reminder based on their previous purchases. The appropriate strategy will depend on the products, margins, purchase frequency, and customer behavior of the store.

How to Do This in Shopify

Shopify provides order and customer data that can be used to analyze purchasing behavior. However, identifying customers based on their individual purchase intervals requires more than a simple customer filter.

You need to:

  • Retrieve customers with multiple orders.
  • Sort each customer's orders chronologically.
  • Calculate the intervals between purchases.
  • Determine the customer's typical purchase interval.
  • Calculate their expected next purchase date.
  • Compare the expected date with the current date.
  • Assign the customer to a relevant segment.
  • Use the segment for marketing or retention campaigns.

For stores with thousands of customers, doing this manually becomes impractical. Automating Repeat-Purchase Analysis With RepeatFlow

RepeatFlow is designed to automate this type of customer analysis.

Instead of manually calculating purchase intervals for individual customers, RepeatFlow analyzes customer order history and identifies customers based on their purchasing behavior.

It can identify customers who are:

  • Due for a repeat purchase
  • Overdue for their next purchase
  • Showing signs of potential churn
  • Consistently making repeat purchases

Each customer's analysis can include information such as their order count, last purchase date, typical purchase interval, expected next purchase date, and how far they are from that expected date.

This turns historical order data into customer segments that can be used for retention campaigns.

Connecting Repeat-Purchase Data to Klaviyo

Once you know which customers are due or overdue, the next step is to reach them. For example, a store could use the "Due" segment to trigger a replenishment or reminder campaign in Klaviyo. An "Overdue" segment could be used for a different re-engagement flow, while customers showing stronger signs of churn could receive a separate retention campaign. This allows marketing messages to be based on when the customer is expected to purchase, rather than an arbitrary rule such as "send an email 30 days after every order."

The Key Is Individual Customer Behavior

There is no universal number of days that defines when a Shopify customer should buy again. A 30-day rule may work for one customer and be completely wrong for another. The more useful approach is to ask:

"When does this particular customer normally buy again?"

By analyzing each customer's purchase history, calculating their typical purchase interval, and comparing it with the time since their last order, you can identify customers who are approaching their expected purchase date or have already passed it.

That gives you a more behavioral approach to repeat-purchase marketing and a practical way to turn existing customer data into retention opportunities.

Author: Angel Kostadinov

Extensions for Magento

Anowave is an extension developer for Magento 1.x and Magento 2.x platforms. We provide a wide range of premium extensions for our in-house and public clients. The extensions we offer extend the capabilities of Magento and provide bespoke functionality. They also fill some gaps in the functionality provided by the base platform and help customers choose Magento as their preferred eCommerce platform.

The extensions we offer are part of our full-range Magento service, which also includes a Premium Helpdesk where customers can speak with actual software engineers and have their issues resolved without hassle. Premium-labeled modules also include free installation, configuration, testing, etc.