Sign in

Blog · How-to guides

Customer survival analysis: read retention over time

Customer survival analysis compares retention at the same customer age. Build an observed retention table from dated account exports, handle unfinished observation windows, and check every denominator.

The short answerCustomer survival analysis measures how long customers remain before a defined loss event. Start with customer start dates, loss dates and a fixed observation cutoff. Compare retention at matching tenure, and distinguish observed losses from customers whose future is still unknown. A simple observed retention table can use fully observable cohorts without claiming to estimate a survival curve.

Customer survival analysis compares how long customers remain before a defined loss event. Use the same tenure, a fixed observation cutoff and an explicit rule for unfinished customer histories; otherwise, newer customers can make retention look better simply because they have had less time to leave.

Define the event before counting customers

Choose the start of the relationship and the event that ends it. For a subscription business, those might be service activation and contract termination. For a distributor, the event needs an agreed inactivity rule rather than an assumption that the last invoice was the departure date.

The NIST definition of a survival function describes the probability of surviving beyond a specified time. Applied to customer relationships, the event is the loss definition your business documents. This article builds an observed retention comparison, rather than fitting a statistical survival estimator.

Keep customer count separate from dollars. An account can survive while reducing its purchases. Use customer churn analysis in Excel for the period loss calculation and its denominator.

Prepare a dated customer export

Use one row per customer relationship. Include a stable customer ID, the segment assigned at entry, start date, termination date if known, and observation cutoff. Keep terminated customers in the export; a current-account list alone cannot show historical survival.

The example is a US subscription supplier reviewing its customers on September 30, 2026. All dates below are in 2026. A termination on the anniversary counts as a loss by that anniversary.

Customer Entry segment Start date Termination date Observation result
A Standard January 1 Active at cutoff
B Standard January 1 April 1 Observed termination
C Assisted February 1 Active at cutoff
D Assisted March 1 May 1 Observed termination
E Standard June 1 Active at cutoff
F Assisted August 1 Active at cutoff

A blank termination date means no termination observed through the cutoff. It does not mean the relationship will continue indefinitely. NIST calls an unfinished history right censored: the event time beyond the observation endpoint is unknown.

Before calculating, reject missing start dates, duplicate relationships and termination dates earlier than activation. If an account restarts, decide whether it remains the original relationship or begins a separate spell, and apply that choice consistently.

Calculate fully observable retention in Excel

Place the first four table columns in A:D, with customers in rows 2:7. Enter actual spreadsheet dates including the year 2026, and leave absent termination dates empty. Enter the cutoff in H1 as =DATE(2026,9,30) and the tenure in months in H2, initially 3.

Microsoft's date function reference describes EDATE as returning the date a specified number of months from the start. Column E flags whether that anniversary falls by the cutoff. Column F flags whether the eligible customer remained beyond it:

E2 = --(EDATE(C2,$H$2)<=$H$1)
F2 = --AND(E2=1,OR(D2="",D2>EDATE(C2,$H$2)))

Fill both formulas down. Calculate the overall rate with:

=IF(SUM(E2:E7)=0,"",SUM(F2:F7)/SUM(E2:E7))

The eligibility test uses the start date even when a customer already terminated. Excluding early terminations because they never reached the anniversary would remove the very losses the calculation must retain.

Observed retention at tenure = Customers retained beyond that tenure / Customers whose start dates permit full observation to that tenure

Change H2 to 6 for the second comparison. Display percentages to one decimal place.

Tenure Eligible customers Retained Terminated by tenure Too recent to include Observed retention
Three months 5 3 2 1 60.0%
Six months 4 2 2 2 50.0%

At three months, A, C and E remain; B and D have terminated. F is too recent. At six months, only A through D are eligible, and A and C remain.

Reconcile the counts before reading the pattern

The three-month population checks as 5 = 3 retained + 2 terminated. Adding the excluded customer returns the original 6 rows. At six months, 4 = 2 + 2, with 2 excluded, again returning 6.

The denominators differ, so the movement from 60.0% to 50.0% is not a ten-point decline along one fixed cohort's survival curve. Restrict both horizons to A through D and retention is 2 / 4 = 50.0% at each horizon. The apparent decline in the broader table reflects the changing eligible population.

For a segment comparison at three months, put a segment name in J2. Microsoft documents COUNTIFS as counting rows where all specified criteria are met:

Eligible = COUNTIFS($B$2:$B$7,J2,$E$2:$E$7,1)
Retained = COUNTIFS($B$2:$B$7,J2,$F$2:$F$7,1)

Standard retains 2 of 3 eligible customers, or 66.7%; Assisted retains 1 of 2, or 50.0%. Those small groups describe observations and do not establish that one service approach causes better retention. Covirage is not affiliated with Microsoft.

Where it goes wrong

  • Active-only exports. Missing former customers inflate every retention rate.
  • Unfinished histories called losses. A recent customer has an unknown future, rather than an automatic termination.
  • Changing populations read as one curve. Display eligible counts and compare a fixed cohort when describing deterioration over tenure.
  • Silent inactivity assumptions. Purchasing gaps can reflect seasonality. Inspect the lost customer review before labeling an event.

The customer success lead owns the event definition; finance checks the population against contract records. Read cohort retention tables for comparisons by entry period. Keep future contribution assumptions in the separate lifetime value calculation; observed retention alone does not establish remaining lifetime.

Compare your own customer histories in Covirage

Bring a dated account export with your loss definition, observation cutoff and approved segments. Covirage maps the columns, and its tools compute and check observed retention comparisons; the external AI model explains the results with every figure traced to its rows. Create a free Covirage account and bring a sample of your own export.

See renewal watch for the renewal review context.

Questions people ask

What does censored mean in customer survival analysis?

A customer is right censored when observation ends before a loss is observed. An active account at the reporting cutoff has an unfinished lifetime. Its observed history is useful, but its eventual loss date is unknown and should not be invented.

Is survival analysis the same as churn rate?

A churn rate summarizes losses over a specified period and starting population. Survival analysis follows time until loss and makes observation length explicit. A company can have one monthly churn rate while customers at different tenure have different retention patterns.

Can I use invoice dates for customer survival analysis?

Yes, if the business first defines what inactivity means for its buying cycle. A final invoice does not automatically establish a loss date. Document the inactivity threshold and allow enough follow-up before assigning an event to an account.