Sports club membership renewal cohorts calculator

Calculate cohort retention and lapse and overall renewal fraction with your own figures.

Your numbers

Use the units shown. Results update as you change valid inputs.

Use cohort retention and lapse and overall renewal fraction to compare changes to your inputs. The method and limits below explain the scope.

Examples

Examples

Try the starting example

JSON Cohorts [join cohort ID,eligible-to-renew count,renewed count,category-transition count]
[["2025-A",100,80,10],["2025-B",50,35,5]]
Cohort retention and lapse
[["2025-A",0.8,20,10],["2025-B",0.7,15,5]]
Overall renewal fraction
0.766667

Try another scenario

JSON Cohorts [join cohort ID,eligible-to-renew count,renewed count,category-transition count]
[["2025-A",100,85,12],["2025-B",50,40,7]]
Cohort retention and lapse
[["2025-A",0.85,15,12],["2025-B",0.8,10,7]]
Overall renewal fraction
0.833333
Calculation method

Calculation method

Cohort retention and lapse

J([[r[0],r[2]/r[1],r[1]-r[2],r[3]] for r in a])

Overall renewal fraction

sum(r[2] for r in a)/sum(r[1] for r in a)

Symbols and units
a
JSON Cohorts [join cohort ID,eligible-to-renew count,renewed count,category-transition count]

Use the units shown. A list keeps the order in which you enter its values. The symbol ^ means “raised to the power of”.

Calculation steps and notation

sum(list) adds all entries in the list.

Assumptions & limits

Assumptions & limits

  • Observed eligible cohorts only; denominator>0, renewed≤eligible, transitions≤renewed. Different eligibility dates must already be reconciled. Supported limits: All numeric inputs must be finite. Only the explicitly described mathematical scenario is supported.
Are these inputs private?

These calculations run in your browser. A shared link contains the values you choose to share. Only questions submitted to the separate AI finder are sent to OpenAI.

Share this page
Share this calculator

Leave unchecked to share the page without your entered values.