
Repurchase rate is one of those metrics everyone agrees matters and almost no one works on. And if they do, most teams try to fix it with scheduled promos or a generic point-based loyalty program.
And while this approach used to work well enough, it doesn’t anymore. Acquisition is more expensive, first orders are increasingly deal-driven, and don’t even get me started on how short our attention windows are now.
After years of running promotions across ecommerce stacks, one pattern shows up consistently: repurchase happens in tight time boundaries. After the first order ships, after delivery, definitely before the customer forgets you exist. If you can’t test and adjust repurchase strategies fast, you miss those windows.
This guide breaks down how to improve repurchase rate by treating incentives like a system that gets tuned continuously, not campaigns you set and hope for the best.
Repurchase rate is the percentage of customers who place a second order within a defined time window after their first purchase. In ecommerce, repurchase rate is typically measured over 30, 60, or 90 days.
That time window matters more than the percentage itself. A 25% repurchase rate over 12 months tells you almost nothing about whether your repurchase incentives are working. A 25% repurchase rate within 30 or 60 days tells you exactly where you’re failing or winning.
Most teams make two mistakes here. They average all customers together, and they ignore the cost of influence. Discount-driven buyers, full-price buyers, and subscription customers do not repurchase for the same reasons, and they should not be incentivized the same way.
There is no universal “good” repurchase rate. A 30% 60-day repurchase rate can be excellent for one category and meaningless for another. What matters is whether your repurchase rate improves when incentives change, not how it compares to a generic benchmark.
If you want repurchase rate to be something you can actually improve, you need to measure it along three axes:
Most repurchase problems are about timing and friction, not engagement or trust. This makes things easier and harder at the same time.
After the first purchase, three things usually happen:
Most teams lose the repeat purchase because the incentive arrives after the decision window has already passed. A scheduled “10% off your next order” email two weeks later is not reacting to behavior. By the time performance data comes back, the window you were trying to influence is already gone.
That’s why teams end up defaulting to bigger discounts. Not because they want to, but because it’s the only lever that still works when timing is off.
The teams that actually improve repurchase consistently do three things differently:
It’s about shortening the loop between signal, incentive, and outcome. Which brings us to the real shift.
Learn more: Loyalty programs are dead. Long live incentive optimization.
A campaign is something you launch and watch. An incentive loop is something that runs, learns, and adjusts while customers are still in motion.
A campaign usually looks like this:
By the time you learn anything, the conditions that produced those results are already gone.
An incentive loop is simpler and more brutal: Signal – Incentive – Outcome – Adjustment.
A signal is a concrete event that suggests a second purchase is either likely or slipping away.
Examples:
Signals are not segments, they are moments. If you’re waiting for a weekly job or a scheduled send, you’ve already missed them.
The incentive is the smallest nudge that could change behavior in that moment.
In a loop, incentives are intentionally narrow. Smaller discounts with short validity and clear incentive suppression limits. If you need 20% to get a second order, something upstream is broken.
This is where most systems fall apart. The outcome is not redemptions or clicks. It’s whether the second purchase happened within the window you were trying to influence, and what it cost to make it happen.
If you can’t tie incentive exposure to repeat purchase and later to incremental revenue or margin, then you’re not measuring a loop.
This is the part campaigns don’t have. Adjustment means:
The loop only works if this step is cheap. If every change requires a sprint, approvals across three tools, or a new campaign, the loop collapses.
Signal: First order delivered.
Window: 3 to 14 days after delivery.
Goal: Pull the second purchase forward, not increase AOV.
This is the highest-leverage repurchase window and the most wasted.
Most teams wait too long or go too big. They send a generic “10% off your next order” and hope for the best. Instead:
Example logic:
What you measure:
If you need a deep discount here, the issue is usually delivery experience or product-market fit, not incentives.
Signal: No activity X days after delivery.
Window: before the customer goes cold.
Goal: Prevent intent decay.
Some customers don’t need a nudge immediately. Others disappear fast. This loop exists to catch the latter:
Example logic:
Signal: First purchase used a deep discount.
Window: Second purchase opportunity.
Goal: Avoid training discount dependency.
Deal-driven first orders are not a problem. Treating them the same forever is. This loop deliberately reduces incentive value over time.
What you’re testing:
Signal: Product usage or lifecycle estimate.
Window: before replacement friction kicks in.
Goal: Make reordering the default.
This works best for consumables, but the principle applies broadly.
This loop is about removing decision friction at the right moment.
Signal: Second purchase intent detected.
Window: checkout or cart revisit.
Goal: Increase value without increasing discount depth.
This loop doesn’t push a repurchase directly. It makes repurchasing more profitable.
Examples:
When incentives can be launched, adjusted, and killed in minutes, repurchase improves as a side effect of better timing. Repurchase rate doesn’t improve because someone chose a better idea. It improves because the system got faster at correcting bad ones.