At Constructor, we access petabytes of data across a variety of both B2C and B2B verticals. Given the massive gifting events that just occurred over the past few months (namely Black Friday, Christmas, and Valentine’s Day) and occasions like Mother’s Day and graduations just around the corner, we thought it’d be interesting to analyze data from a traditionally gift-reliant industry — jewelry — to see how shopping behavior changes over the course of a year.
We analyzed weekly sales over the past more than 12 months for one of our jewelry customers, and a specific pattern emerged: holidays and sales events drove significant traffic spikes. What was particularly interesting was how much of that traffic came from repeat customers.
Observation 1: Massive spikes drive most orders
We started by plotting weekly orders over the course of a year. A few peaks stood out: November, January, March, and June.

- Black Friday and Christmas (November–December): the biggest spike, with a straightforward explanation (i.e., gift-buying and seasonal promotions)
- January: likely tied to Valentine’s gifting behavior (people shop early)
- March and June: sales driven by this retailer’s own discounting (not typical seasonality for jewelry overall)
Observation 2: The spikes are largely driven by return customers
Then, we asked ourselves: what percentage of buyers are first-timers each week?
The “share of first-time” metric shows clear periods when existing customers make up a significantly larger share of shoppers (Black Friday/Christmas and June sales are strong).

When you combine the orders chart and the first-time share, the story gets more interesting.

Here’s how it looks across varying occasions:
- Black Friday/Christmas: November and December bring in a lot of orders and traffic spikes. It's when the most people return all year (even though it's at a lower percentage of total traffic due to the overall spike in orders)
- January: the share of first-timers drops more noticeably while orders rise. This suggests a larger portion of the spike comes from returning customers (reactivation)
- March: orders rise without a clear change in first-time share, so the lift may be coming from broader demand or promotion mechanics rather than a clear acquisition/reactivation shift
- June: looks like January in shape (more returning activity), but for a different reason (i.e., discount-driven demand rather than gifting demand). Previous customers appear to return for the June sale.
Things get even more interesting when you look at purchase behavior by cohort.
A quick cohort refresherCohort analysis is a powerful, yet often misunderstood, tool in the data-driven marketer's arsenal. At its core, it's simple: instead of treating all your users as one big, anonymous crowd, you group them into “cohorts,” or specific subsets that share a common characteristic or experience (like “made a purchase”) within a defined timeframe. Cohort analysis groups customers by a shared starting point — often “first purchase month” — and tracks how many come back in later months. The common setup looks like this:
When more buy in March, that counts as Month 2 retention for the Janauary cohort.
So if we look at a cohort table (like the one pictured below), each column is a cohort (customers whose first purchase happened in that month). Each row corresponds to the month number since the first purchase: Month 0 is the first purchase month, Month 1 is the following month, and so on. The diagonal shows purchases that happened in the same calendar month, but from different cohorts at different “ages.” For example, look at March:
Total March purchases are the sum of those March cells: 300 (new in March) + 150 (returning from Feb) + 10 (returning from Jan). That’s why the diagonal is useful: it shows what’s driving a given month’s sales — brand-new customers (those buying in Month 0) vs. returns from earlier cohorts (those buying in any month after Month 0). |
What the cohorts show in this jewelry dataset
When we applied cohort analysis to this client, the main “diagonals” in the heatmap aligned with thos same commercial moments we saw earlier: June sales, Black Friday/Christmas, January (Valentine’s-related), and March sales.
We can see repeat-purchase behavior in the spikes; they’re driven by those returning not just from the prior month, but also from several months prior.

Interestingly, there was no clear trend in average order value. Both sale cohorts and special-occasion cohorts show similar order values across both new and return customers.
A few other observations:
1. Black Friday triggered both acquisition and reactivation
Black Friday brought in many new customers and reactivated the most older cohorts of any occasion.
For this jeweler, if they can find ways to retain Black Friday buyers, they’re not just growing once, but adding fuel for future seasonal reactivation.

2. June sales were strong at reactivation
Cohort behavior suggests the June sale is a powerful reactivation trigger: it pulls prior customers back to purchase again, despite the lack of major gifting holidays during early summer.
In other words, the June sale reliably drove repeat revenue when the calendar could otherwise be relatively slow for jewelry purchases.

3. January behaves like a “special occasion” trigger (due to Valentine’s Day)
Yes, January brings new customers. But more importantly, the month reactivates existing customers (think: brand loyalty), including people who purchased on Black Friday.
So, a discount-driven purchase can still create a relationship. Some customers who bought first on Black Friday return later for a special occasion purchase.

4. Retention seasonality is category-specific
As mentioned in the introduction, we have ingested petabytes of data across many industries, from fashion & apparel to furniture & home goods, automotive, grocery, and more.
Across industries, there’s no single “holiday retention pattern.” While this jewelry store showed a clear November reactivation bump, a car parts store didn’t show this same pattern.
Clearly, retention seasonality is category-specific. What brings shoppers back in a vertical that is more gift-dependent may not show up elsewhere.

What “loyalty” looks like in the data
Without a doubt, the most important retention hurdle — no matter the industry — is getting customers to make a second purchase. For this jeweler, only about 10% did.
But repeat probability increases sharply with each prior order. Once a jewelry customer made five orders, the chance they would place another order was over 50%.

That’s why the goal is never only to acquire. It’s to build mechanisms that move customers from first purchase → second purchase → habit.
Turning analysis into action
Based on the learnings from this jeweler’s dataset, here are practical moves retailers can take through product search and discovery to improve repeat purchases:
- A/B testing and optimization: Ensure you are set to track how well your product discovery experience drives repeat purchases (not sure where to start or how to proceed? Lean on experts)
- Lifecycle campaigns: personalize product recommendations via email/SMS to bring back previous purchases based on what they browsed and bought on previous visits
- Personalized customer experience: use the data you collect to shape a unique experience for each shopper across all on-site and off-site touchpoints
Closing thoughts
Cohort analysis shifted the question from “How many orders did they get?” to “Who came back, when did they come back, and why?”
When brands can track these patterns — holiday shoppers, reactivated customers, discount-driven buyers — they can build marketing and product strategies that last beyond traffic spikes.
Interested in getting more unique, real-world insights delivered straight to your inbox? Sign up for the Split/Test Digest.

