{
  "title": "Original synthetic SaaS retention cohort workbook",
  "date": "2026-10-27",
  "guide": "https://showmeyoursaas.com/articles/cohort-analysis/",
  "synthetic": true,
  "description": "18 invented accounts for a fictional BriefBoard product. No customer records, observed company results, or benchmarks.",
  "asOf": "2026-10-27T00:00:00Z",
  "unit": "one account",
  "startEvent": "signup",
  "returnEvent": "at least one completed project brief within the stated elapsed interval",
  "intervals": [
    {
      "week": 1,
      "startDayInclusive": 7,
      "endDayExclusive": 14
    },
    {
      "week": 2,
      "startDayInclusive": 14,
      "endDayExclusive": 21
    },
    {
      "week": 3,
      "startDayInclusive": 21,
      "endDayExclusive": 28
    }
  ],
  "rules": [
    "All accounts in a cohort share its single synthetic signup instant, simplifying interval maturity.",
    "Count each original account once per interval; keep nonreturners in the denominator.",
    "An incomplete interval is null, never zero.",
    "Return-in-window retention allows an account to return after a missed interval.",
    "Week 0 is [0,7) elapsed days and is not displayed as a return column.",
    "A difference between small synthetic cohorts establishes neither improvement nor cause."
  ],
  "cohorts": [
    {
      "id": "sep29",
      "signupAt": "2026-09-29T00:00:00Z",
      "accounts": 8
    },
    {
      "id": "oct06",
      "signupAt": "2026-10-06T00:00:00Z",
      "accounts": 6
    },
    {
      "id": "oct13",
      "signupAt": "2026-10-13T00:00:00Z",
      "accounts": 4
    }
  ],
  "accounts": [
    {
      "id": "demo-sep29-01",
      "cohort": "sep29",
      "returnedWeeks": [
        1,
        2,
        3
      ]
    },
    {
      "id": "demo-sep29-02",
      "cohort": "sep29",
      "returnedWeeks": [
        1,
        2,
        3
      ]
    },
    {
      "id": "demo-sep29-03",
      "cohort": "sep29",
      "returnedWeeks": [
        1,
        2,
        3
      ]
    },
    {
      "id": "demo-sep29-04",
      "cohort": "sep29",
      "returnedWeeks": [
        1,
        2
      ]
    },
    {
      "id": "demo-sep29-05",
      "cohort": "sep29",
      "returnedWeeks": [
        1,
        3
      ]
    },
    {
      "id": "demo-sep29-06",
      "cohort": "sep29",
      "returnedWeeks": []
    },
    {
      "id": "demo-sep29-07",
      "cohort": "sep29",
      "returnedWeeks": []
    },
    {
      "id": "demo-sep29-08",
      "cohort": "sep29",
      "returnedWeeks": []
    },
    {
      "id": "demo-oct06-01",
      "cohort": "oct06",
      "returnedWeeks": [
        1,
        2
      ]
    },
    {
      "id": "demo-oct06-02",
      "cohort": "oct06",
      "returnedWeeks": [
        1,
        2
      ]
    },
    {
      "id": "demo-oct06-03",
      "cohort": "oct06",
      "returnedWeeks": [
        1,
        2
      ]
    },
    {
      "id": "demo-oct06-04",
      "cohort": "oct06",
      "returnedWeeks": [
        1
      ]
    },
    {
      "id": "demo-oct06-05",
      "cohort": "oct06",
      "returnedWeeks": []
    },
    {
      "id": "demo-oct06-06",
      "cohort": "oct06",
      "returnedWeeks": []
    },
    {
      "id": "demo-oct13-01",
      "cohort": "oct13",
      "returnedWeeks": [
        1
      ]
    },
    {
      "id": "demo-oct13-02",
      "cohort": "oct13",
      "returnedWeeks": [
        1
      ]
    },
    {
      "id": "demo-oct13-03",
      "cohort": "oct13",
      "returnedWeeks": [
        1
      ]
    },
    {
      "id": "demo-oct13-04",
      "cohort": "oct13",
      "returnedWeeks": []
    }
  ],
  "expectedRows": [
    {
      "cohort": "sep29",
      "startingAccounts": 8,
      "returned": [
        5,
        4,
        4
      ],
      "retentionPercentRounded": [
        62.5,
        50,
        50
      ]
    },
    {
      "cohort": "oct06",
      "startingAccounts": 6,
      "returned": [
        4,
        3,
        null
      ],
      "retentionPercentRounded": [
        66.67,
        50,
        null
      ]
    },
    {
      "cohort": "oct13",
      "startingAccounts": 4,
      "returned": [
        3,
        null,
        null
      ],
      "retentionPercentRounded": [
        75,
        null,
        null
      ]
    }
  ],
  "expectedAggregate": [
    {
      "week": 1,
      "retained": 12,
      "eligibleStartingAccounts": 18,
      "retentionPercentRounded": 66.67
    },
    {
      "week": 2,
      "retained": 7,
      "eligibleStartingAccounts": 14,
      "retentionPercentRounded": 50
    },
    {
      "week": 3,
      "retained": 4,
      "eligibleStartingAccounts": 8,
      "retentionPercentRounded": 50
    }
  ],
  "blankWorksheet": {
    "question": "",
    "unitAndIdentity": "",
    "startAndReturnEvents": "",
    "boundariesAndTimezone": "",
    "cutoff": "",
    "eligibleCounts": "",
    "missingDataChecks": "",
    "observations": "",
    "alternativeExplanations": "",
    "nextDecisionOwnerDate": ""
  }
}
