Research follow-up retention calendar calculator

Calculate visit windows [participant,target,start,end] and windows currently due with your own figures.

Your numbers

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

Use visit windows [participant,target,start,end] and windows currently due to compare changes to your inputs. The method and limits below explain the scope.

Examples

Examples

Try the starting example

JSON Participants [ID,enrollment day index]
[["A",0],["B",10]]
Required follow-up offsets (days)
30,60
Allowed early tolerance (days)
3
Allowed late tolerance (days)
5
Current day index
40
Visit windows [participant,target,start,end]
[["A",30,27,35],["A",60,57,65],["B",40,37,45],["B",70,67,75]]
Windows currently due
[["B",30]]
Windows ended without entered completion
[["A",30]]

Try another scenario

JSON Participants [ID,enrollment day index]
[["A",0],["B",10]]
Required follow-up offsets (days)
30,60
Allowed early tolerance (days)
3
Allowed late tolerance (days)
5
Current day index
70
Visit windows [participant,target,start,end]
[["A",30,27,35],["A",60,57,65],["B",40,37,45],["B",70,67,75]]
Windows currently due
[["B",60]]
Windows ended without entered completion
[["A",30],["A",60],["B",30]]
Calculation method

Calculation method

Visit windows [participant,target,start,end]

J([[r[0],r[1]+v,r[1]+v-c,r[1]+v+d] for r in a for v in b])

Windows currently due

J([[r[0],v] for r in a for v in b if r[1]+v-c<=e<=r[1]+v+d])

Windows ended without entered completion

J([[r[0],v] for r in a for v in b if e>r[1]+v+d])

Symbols and units
a
JSON Participants [ID,enrollment day index]
b
Required follow-up offsets (days)
c
Allowed early tolerance (days)
d
Allowed late tolerance (days)
e
Current day index

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

Assumptions & limits

Assumptions & limits

  • Uncompleted follow-ups only; remove completed participant-visit pairs before a per-visit run. Enrollment/visit units are civil days, user supplied protocol windows. 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.