The Seasonal Reactivation Window: How We Got a 12% Lift and 8% Churn Reduction at FabFitFun
Most teams treat win-back as a calendar chore. You run the same three-email lapsed series every quarter; it converts at 1 to 2 percent, and nobody asks why. The thing almost everyone underestimates is that reactivation is a timing problem before it is a copy problem, and when we matched the send window to the subscriber's natural seasonal intent at FabFitFun, we saw a 12 percent lift in reactivation and an 8 percent reduction in churn on the cohort that came back.
Why evergreen win-back campaigns underperform
A standard lapsed flow fires on a fixed inactivity threshold. Ninety days no open, no purchase, into the series you go. That logic ignores the fact that a lot of subscribers are not lapsed at all. They are just between seasons.
In subscription box and beauty, purchase intent is cyclical. Someone who went quiet in February is not disengaged; they are waiting for the spring box reveal. If you hit them with a generic "we miss you" in week ten, you burn the one message they were going to open in week fourteen.
We pulled two years of order and engagement data in Snowflake and plotted lapse-to-return intervals by acquisition month. The distribution was not flat. It clustered hard around seasonal box drops. That told us the inactivity trigger was measuring the wrong thing.
What we changed: intent windows instead of day counts
We replaced the single ninety-day trigger with three seasonal reactivation windows tied to box reveal dates. Instead of counting days since last engagement, the segment asked a different question: is this subscriber approaching the seasonal moment that historically drove their return?
In Braze, this ran as a scheduled campaign against a computed segment, with the same audience suppressed from the always-on lapsed flow. If you are on Klaviyo, the same structure works with a custom property for seasonal cohort plus a flow filter that blocks the generic winback. The mechanic is simple. The discipline is in the suppression.
We also cut sending volume to the cold cohort in the dead weeks by about 40 percent. That mattered more than we expected. Lapsed subscribers are the segment most likely to sit on stale, high-risk addresses, so before we pushed a large reactivation send, we ran the list through validation with a tool like Kickbox (https://app.kickbox.com/signup?fp_ref=chris17) to strip hard bounces and spam traps. Deliverability on a reactivation push is fragile. One bad send to a two-year-old cold file will tank inbox placement for the campaign you actually
care about.

The numbers and what actually drove them
Against the control, the seasonal windows produced a 12 percent lift in reactivation rate. Reactivation here meant a resumed subscription or a completed shop order within 30 days of the send, not an open or a click.
The more interesting number was downstream. The cohort that reactivated through the seasonal window churned 8 percent less over the following two billing cycles than the cohort that reactivated through the evergreen flow. Same product, same price, different re-entry point.
My read is that discount-driven reactivation pulls back people who were never going to stay. Timing-driven reactivation pulls back people who were already leaning in. You are not persuading them; you are meeting them. That cohort behaves like a healthy subscriber because they are one.
The copy barely changed. We swapped the apology tone for a reveal tone and led with what was in the upcoming box. Subject lines were product-specific, not relationship-specific. Nobody wants to process your feelings about their absence.
What to do this week
One: pull your lapsed-to-return intervals by month for the last 24 months and look for clustering. If your return curve has peaks, you have seasonal windows and your day-count trigger is fighting them.
Two: add a suppression rule so anyone entering a seasonal reactivation campaign is blocked from the evergreen lapsed flow. Overlap is the fastest way to make both look weak.
Three: measure reactivation on revenue events at 30 days, not on opens. If you cannot separate the reactivated cohort's retention curve from your baseline, you cannot tell whether you bought customers or rented them.
If you want the sequence structure, segment logic, and suppression rules already built out, I packaged the whole thing. Your Win-Back System, 19 dollars: https://castleandrook.lemonsqueezy.com/checkout/buy/ecd0a024-ce96-44ce-85d2-c59ba081e670




Comments