Calculating customer repeat purchase timing for a single customer

At a certain point it can be difficult to understand what your customers are doing in your Shopify store. You're getting orders, shipping products and managing support every day, but you are having a difficult time connecting the orders to actual customers, let alone figuring out how those customers behave.

Behavior is an important quality. Especially for repeat customers who are coming back to your store multiple times.

By identifying common behavior patterns in your customers, you can optimize and adapt your store to better suit those behaviors, resulting in happy customers and an increased revenue.

Analyze one customer's purchasing timeline

One easy way to figure out customer behavior is to sample a small set of customers and look at their purchasing timeline. Let's look at how long it takes a customer to reorder, also called their customer purchase latency.

Let's use this anonymized customer, from one of my Shopify apps.

Tim has 4 orders.

Order Amount Date Latency
#1210 $32.95 February 24, 2015 ???
#1229 $16.15 February 25, 2015 ???
#1235 $14.24 February 25, 2015 ???
#1499 $16.99 March 13, 2015 ???

1. Set the first order to have a latency of 0

Since we are focused only on one customer's behavior, their first order acts as the starting point of this analysis. This means its latency will be 0.

Order Amount Date Latency
#1210 $32.95 February 24, 2015 0 days
#1229 $16.15 February 25, 2015 ???
#1235 $14.24 February 25, 2015 ???
#1499 $16.99 March 13, 2015 ???

2. Count the number of days between the first and second order

Next to find out the purchase latency between the first (#1210) and second (#1229) orders, we just count the days.

In this case it's just 1 day so Order #1229 has a latency of 1 day.

Order Amount Date Latency
#1210 $32.95 February 24, 2015 0 days
#1229 $16.15 February 25, 2015 1 day
#1235 $14.24 February 25, 2015 ???
#1499 $16.99 March 13, 2015 ???

3. Continue counting the number of days between orders

Next we just repeat the last step but for each order, counting the number of days between the previous order and the current order.

Order Amount Date Latency
#1210 $32.95 February 24, 2015 0 days
#1229 $16.15 February 25, 2015 1 day
#1235 $14.24 February 25, 2015 0 days
#1499 $16.99 March 13, 2015 16 days

Notice that there were two orders on the same day (#1229, #1235) which gives a latency of 0. In the actual data there's a few hours difference between the orders but with order latency it's best to just round to the nearest day.

4. Analyze the customer's order timeline for behaviors

Now that we've built the order timeline for the customer, we need to analyze it and see what behaviors we can find. Without knowing anything else about them, there's a few things that stand out.

They quickly placed two orders the day after the first order. This could mean they were adding additional products to their order, perhaps through an upsell.

Then they placed their next (4th) order 16 days later which is enough time for the customer to receive and try out the products. This means they probably had a pleasant experience the first time and wanted to re-order.

Since the order value drops on the 2nd, 3rd, and 4th orders, it makes me think that the first order was for two $16 products and each of the remaining orders were single product purchases. If we knew the average order value for the store or looked at the order details we could confirm that.

5. Deciding on what changes to make based on the behaviors

This is only an analysis of one customer so you wouldn't want to change your store based on just this data. For this example though, if we assume this single customer is representative of the rest of the customers, there are a few changes we can make to the store to adapt to these behaviors.

  1. Add and promote a 24-hour order change period. This would allow someone to buy risk-free and then edit or update their order later. In this case, it would consolidate the three orders into one order worth $63.34.

  2. Add a post-order customer engagement campaign to email the customer 16 days after their first order (or tied to the delivery date plus a few day delay). This campaign could ask what they thought of their products and give them a coupon that expires in the next 7 days. This would entice them to place their second order right away.

  3. We can guess that the store's average order value is about $20 so we can offer free shipping or 10% for orders over $25. This would drive the AOV up with a bit of extra revenue ($22.50 vs $20).

Your next step

Try to run this analysis on three of your customers. That will give you a few ideas and let you understand the process. It should take about 5 minutes per customer.

Once you've done the first three, you might find it valuable to analyze a larger segment of your customers. If you sample 5-10% of your customer base, you should be able to draw some conclusions and see some regular behaviors. For more details on evaluating your entire customer base, check out Calculating your customer purchase latency and the free email course below.

Did all of those holiday shoppers ever come back?

Compare how your last winter customers performed over the year with the Winter Holiday report in Repeat Customer Insights.

Learn more

Topics: Customer purchase latency Ecommerce metrics

Would you like a daily tip about Shopify?

Each tip includes a way to improve your store: customer analysis, analytics, customer acquisition, CRO... plus plenty of puns and amazing alliterations.