A milestone with a lag can't be judged the day someone starts. Paste cohort milestone rows, then scrub the observation date to see who is eligible to be judged, who was observed hitting the milestone, and who is still immature.
Local only: no network, no storage, no uploads. Reset clears the text and chart from this page.
One row per member (or per group of members) per milestone. A header row is required; column order doesn't matter.
cohort,entered,milestone,lag_days,reached,count Spring,2026-03-02,first_return,14,2026-03-09,1 Spring,2026-03-02,first_return,14,,1
cohort — group label (required)entered — start date, YYYY-MM-DD (required)lag_days — days allowed to reach the milestone (required, whole number)reached — date the milestone happened; blank if not yetmilestone — optional name; several milestones become tabscount — optional weight for grouped rows (default 1)On an observation date T, a row is immature while T < entered + lag_days. Once mature it is eligible: observed if reached within the lag, otherwise not observed. Bad rows are skipped and listed — the rest still draw.
| Cohort | Entered | Observed | Not observed | Immature (hit) | Immature (open) | Not yet entered | Matured rate |
|---|