Cohorts
Run a Cohort/Batch learning path — schedule cohorts, understand the auto-cloned course batches, sequential leg gating, and the cohort status lifecycle.
Cohorts
When a learning path uses the Cohort / Batch delivery mode, you run it as scheduled groups of learners — cohorts — instead of open self-paced enrollment. Each cohort has a start date, an enrollment window, an optional capacity, and a set of legs (the path's courses, in order) that unlock one at a time as learners complete them.
The Cohorts panel appears on the path detail page for any batch-mode path, including Drafts. Set a path's Delivery Mode to Cohort / Batch to enable it.
Cohort mode is the only place Arythmatic enforces sequential course order. Self-paced paths unlock every course at once — see the Learning Paths overview.
Creating a cohort
Click Create Cohort in the Cohorts panel and set the cohort's name, start date, enrollment deadline, and an optional max students capacity. When you save, Arythmatic builds the cohort's legs from the path's published courses, in order.
Auto-cloned course batches
Creating a cohort has a side effect worth understanding: for each instructor-led course in the path, Arythmatic automatically spawns a cloned course batch.
- The clone is a deep copy of the course's content — sections, content items, and assignments are snapshotted into a new
batch_course. It appears in that course's Batches list as an auto-generated batch named "[Cohort name] - Leg N". - Self-paced courses do not get a batch — their leg points directly at the parent course.
- Learners in the cohort are enrolled into the cloned batch course for instructor-led legs, and into the parent course for self-paced legs.
Because each instructor-led leg is a separate content snapshot, editing the parent course later does not change a running cohort's legs — the cohort keeps the content as it was when the cohort was created. A single cohort can therefore create several auto-generated "Leg N" batches, each with its own roster count.
Leg scheduling (the day offset)
Legs are staggered rather than all starting on day one. Each leg carries a starts_after_days offset from the cohort's start date, shown as "Day N" on the leg row. By default Arythmatic staggers each leg roughly one week apart (derived from the course's estimated duration), which you can refine when editing the cohort.
How learners progress through a cohort
Within a cohort, courses unlock one leg at a time. Each leg shows one of four statuses:
| Leg status | Meaning |
|---|---|
| Locked | The previous leg has not been completed yet — the learner cannot open this course. |
| Available | Unlocked and ready to start (the previous leg is complete, or this is Leg 1). |
| In Progress | The learner has started this leg but not finished it. |
| Completed | The learner finished this leg — it unlocks the next one. |
The rule is simple: Leg 1 is always unlocked, and every later leg stays locked until the previous leg's enrollment reaches Completed. Legs also respect their Day N offset. Overall cohort progress is measured as completed legs ÷ total legs.
This completion-gated unlocking is what the overview means by "learners need Course A before Course B" — and it applies only in cohort mode. In a self-paced path the same courses would all be open from day one.
The cohort status lifecycle
Each cohort moves through a fixed state machine. You advance it from the cohort card actions (Open Enrollment, Start Cohort, Mark Complete), and illegal jumps are rejected.
scheduled → enrollment_open → in_progress → completed
└──────────┴──────────────┴──► cancelled| Status | What it means | Next allowed |
|---|---|---|
| Scheduled | Created but not yet accepting learners. | Open Enrollment, or Cancel |
| Enrollment Open | Learners can join (subject to the guards below). | Start Cohort, or Cancel |
| In Progress | Cohort is running; legs unlock as learners complete them. | Mark Complete, or Cancel |
| Completed | Cohort finished. Terminal — stamps who completed it and when. | — |
| Cancelled | Cancelled from any non-terminal state. Terminal; can then be deleted. | — |
You cannot skip states (for example, you cannot go straight from Scheduled to In Progress) — the transition is rejected with an error listing the allowed next states.
Why a cohort may not accept enrollments
A learner can only join a cohort when all of these are true. This is also exactly the filter behind the learner-facing "available cohorts" list — cohorts that fail any check are hidden from it.
- The cohort's status is Enrollment Open (not Scheduled, In Progress, Completed, or Cancelled).
- The cohort is not full — the enrolled count is below max students (an unset capacity means unlimited).
- The enrollment deadline has not passed.
- The learner is not already enrolled in that cohort.
On a paid learning path, learners cannot free-enroll into a cohort directly from the cohort picker — they must go through the payment flow, which enrolls them only after checkout succeeds.
Related
- Learning Paths Overview — self-paced vs cohort behavior
- Create a Learning Path — set the Delivery Mode to Cohort / Batch
- Path Builder — the courses that become a cohort's legs
Learning Path Pricing
Configure multi-currency bundle prices for a learning path, toggle between free and paid, and use Auto-Convert for quick multi-currency setup.
Assessments — Overview
Understand standalone Assessments in Arythmatic — how they differ from course quizzes, what they support, and when to use each.