Average Days Between Orders That Contain Certain Product Types

  • 2 September 2021
  • 4 replies

Userlevel 2

Owned data mavericks! 👋 Got a brain buster for ya.

Data Point

I am trying to determine the average time spent between orders that contain a certain product type. (Not average amount of days between all orders, as outlined below.)


For context, I would like to use this data point as a trigger for a flow with the CTA of generating repeat purchases of a specific product type.


For example, let’s say a client’s main product is desks.

→ Client also sells desk accessories s/a lamps, drawer organizers, etc.

→ Most customer’s initial purchase contains a desk, but customers place orders of desk accessories that do not contain a desk in between purchasing another desk. (Say that 5 times fast!)

Example Customer:

Days Between Orders

Order No. Order Contains
0 1 Desk
32 2 Accessories
67 3 Accessories
120 4 Accessories
365 5 Desk


→ On an individual profile level, it’s easy to determine the days between orders that contain a desk, this example would be 365 days.

→ However, if I were to factor in all of the orders, the orders that do not contain a desk dramatically lowers the average amount of days between orders, which would lead to a premature flow trigger.

→ I could go through all profiles that placed multiple orders with desks, but it is extremely time consuming and dynamic.

The Challenge

→ I am trying to determine the average amount of days between orders that contain a desk, but I’m having trouble figuring out a way to filter out the accessory orders that do not contain a desk at scale.


Got any tips, tricks, or suggestions to figure this out? Maybe there’s a Klaviyo feature that can automatically pull this up that I am unaware of? Cheers!


Best answer by stephen.trumble 3 September 2021, 19:58

View original

4 replies

Great question, Dan!

I’m about to face the exact same challenge. A client who sells chicken feeders and drinkers, which seem to last forever, who also sells replenishable products like food and medicine for chickens.

So, as I progress, I will happily share any learnings...

Userlevel 4
Badge +4

Hey @DanJacobs 

Thank you so much for sharing this strategy with the Klaviyo Community!

At this time, it is not possible to create this custom reporting within Klaviyo’s Analytics Dashboard. However you may be able to use a third party analytics tool, by running and exporting a custom report that contains the information needed for this specific use case, and using it in the third party tool. 

I would love to hear if @The Fin has discovered any workarounds or helpful information on their journey with custom reports?

Thank you both for being part of the Klaviyo Community and helping each other collaborate!

Userlevel 5
Badge +3

@DanJacobs at a high level you need to get an export of all orders containing the product you're trying to calculate. Then filter out all those people/companies who have only 1 order.

Then it's just a matter of calculating between the days.

How to filter out those other products? If shopify, can't you only export those orders containing that product? In the end you only need the dates and email address (or another unique identifier).

Userlevel 4
Badge +4

Hey @Omar 

Thank you so much for contributing to this post! Your suggestion will definitely work and the theory works on so many levels, not just for time between orders! Thank you so much for collaborating with our other Klaviyo Community members!