Churn Buster
Dunning Cancel Flows Results Pricing
Sign In Book a Tour
Churn Buster
Dunning Cancel Flows Results Pricing Sign In Book a Tour
Analyze
Definitions
Glossary of Recovery Measurement Terms The Four Outcomes of a Recovery Campaign Daily Cohorts and Complete Cohorts Recovery Rate: the Formula
Fundamentals
Failure Reasons Recovery Campaigns Campaign Length and Churn Recognition What Moves a Recovery Rate
Analyze
Active vs Passive Churn Rolling Analysis Natural Variance Comparing Recovery Rates Across Periods, Tools, and Migrations Practices This Methodology Rejects
Cancel Flows
Two Measurement Frames: Dunning vs Cancel Flows Save Rate
Definitions
Glossary of Recovery Measurement Terms The Four Outcomes of a Recovery Campaign Daily Cohorts and Complete Cohorts Recovery Rate: the Formula
Fundamentals
Failure Reasons Recovery Campaigns Campaign Length and Churn Recognition What Moves a Recovery Rate
Analyze
Active vs Passive Churn Rolling Analysis Natural Variance Comparing Recovery Rates Across Periods, Tools, and Migrations Practices This Methodology Rejects
Cancel Flows
Two Measurement Frames: Dunning vs Cancel Flows Save Rate
Learn  /  Analyze

Rolling Analysis

How to build a rolling recovery rate from daily cohorts, why rolling windows beat calendar months, and how to read the two resulting charts.

This page is about dunning recovery, the campaign that starts when a subscription payment fails. Cancel flow data uses rolling windows too, but only to smooth volume noise after each 24 hour definitive-session window has closed.

Complete cohorts. Every outcome counted.

Rolling analysis sums every possible window of a given length and plots them in sequence. Spikes smooth out. Real trends become visible. False trends from arbitrary calendar boundaries disappear.

Where monthly views fit

Monthly views have a job. Performance analysis is a different job.

A monthly view answers “how much did we recover last month?” For revenue reporting on a dashboard or in a board update it's the right tool.

Performance analysis asks whether the rate changed, and calendar months can't answer that. January 1 to January 31 is one possible 31-day window out of many, and January 15 to February 14 might tell the opposite story about the same business. Comparing two date ranges to judge an optimization, or comparing two dunning tools, needs rolling analysis. Otherwise variance buries the change you're measuring.

Worked example: calendar vs rolling

The same account, two calendar months:

  • January 1-31: 65%
  • February 1-28: 50%

Side by side, recovery looks like it dropped 15 points.

Two 30-day rolling windows from the same data, each straddling a month boundary:

  • Jan 15 - Feb 13: 54%
  • Feb 15 - Mar 16: 63%

Now recovery looks like it rose 9 points. Same account, overlapping weeks, opposite story. The drop was an artifact of where the month boundaries fell relative to natural variance, not a change in performance. Only the full series of windows, plotted in sequence, shows what the rate did.

How to build it

A rolling window is a span of N consecutive days. Every possible window in the history is calculated and plotted.

Start from the daily cohort table, minus in-progress days:

  A B C D E F G
1 Date Failed
Payments
In
Progress
Card
Updates
Successful
Retries
Cancellations Passive
Churn
2 Apr 22 23 0 7 8 2 6
3 Apr 21 29 0 10 9 3 7
3 Apr 20 28 0 9 10 3 6
...  
112 Jan 3 26 0 9 8 3 6
113 Jan 2 25 0 8 8 3 6
114 Jan 1 20 0 7 7 2 4

Sum the rows into every possible N-day span, each starting one day after the last: April 1 to April 30, April 2 to May 1, April 3 to May 2. The same rows summed at 14 days:

  A B C D E F G H
1 Date Range Failed
Payments
In
Progress
Card
Updates
Successful
Retries
Cancellations Passive
Churn
Recovery Rate
2 Apr 9 - Apr 22 327 0 113 109 34 71 67.89%
3 Apr 8 - Apr 21 418 0 130 133 43 112 62.92%
...  
100 Jan 2 - Jan 15 352 0 122 121 35 74 69.03%
101 Jan 1 - Jan 14 345 0 104 117 36 88 64.06%

Recovery Rate is (Card Updates + Successful Retries) / Failed Payments for that span; the formula and its terms are on Recovery Rate: the Formula. Plot the rows in date order.

Any rolling window that contains an incomplete cohort day is excluded. You only see windows where every underlying day has fully resolved.

Choosing the window length

14 and 30 days are common starting points. For most accounts the sweet spot settles at 30-45 days, enough to smooth variance and not so long that the signal goes stale. Early in an account's history, use the largest window your completed days will support. During a specific analysis, you can adjust the window to test different smoothing levels.

How to read it

Over time. X axis is time, Y axis is rolling recovery rate, one point per window. Use it for trends, seasonality, and anomalies, and to see what was already happening before a tool switch, the baseline any lift claim rests on.

Distribution. A swarm plot or histogram of every rolling window. X axis is recovery rate, Y axis is how many windows hit that rate. It shows your typical range and your outliers, and its highest and lowest windows are the two ends of the variance band on Natural Variance.

Other metrics and segments

The same rolling procedure works for cancellation rate, retry-only recovery, or card-update-only recovery, and for any segment, such as decline type, subscription type, or customer tenure. Natural Variance covers segmentation in depth.

Don't measure it this way

  • Comparing two fixed calendar periods and calling the difference a trend. Two months are two cherry-picked windows; compare rolling windows instead.
  • Including a rolling window that spans an in-progress day. Wait for the whole window to complete.
  • Comparing a 3-month window against a 6-month window that contains it. Nested windows share most of their data, so any difference comes out muted and looks flat or declining. Compare non-overlapping periods.

These are the practices this methodology rejects: cherry-picked date ranges, incomplete windows, and nested comparisons that flatten the signal.


Prerequisites: Daily Cohorts and Complete Cohorts, which builds the table this page sums; Recovery Rate: the Formula, which defines the rate each window reports. Next: Natural Variance, which measures how far the windows spread.

← Previous
Active vs Passive Churn
Next →
Natural Variance

Integrates easily with all subscription platforms, or via API

  • Checkout Champ integration
  • Stripe integration
  • Shopify
  • Awtomic integration
  • Skio integration
  • Stay AI
  • Recharge integration
  • Seal Subscriptions integration
  • Ordergroove integration
  • Subbly integration
  • Smartrr integration
  • Recurly
  • Loop integration
  • Rivo integration
  • Braintree integration
  • Inveterate integration
Churn Buster

Established in 2013
Based in San Diego, CA

Questions?
Email support@churnbuster.io

Product
Dunning Cancel Flows Results Pricing Docs Sign In
Compare
Native dunning alternative Churnkey alternative Butter Payments alternative Chargebee Retention alternative Baremetrics Recover alternative Flycode alternative
Learn
Learn Passive Churn Failure Reasons Recovery Campaigns Recovery Rate Resources
Company
About Partners Security & Compliance Privacy Policy Terms of Service

© Churn Buster, LLC · All Rights Reserved