# 1. Enrollment & Retention Analytics — Test Cases

User Type: **Training Institute**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: enrollment_retention_analytics.md — every feature, sub-feature, and rule covered

## Test Execution Policy

- Zero tolerance: any deviation from the documented behavior is a defect.
- Every failed test is logged with a Bug ID, the feature, the sub-feature, the expected vs actual result, and the severity; 100% of bugs are fixed before the group passes.
- 100% pass rate is required for the group to be marked complete.

## Coverage Matrix

| Feature | Sub-feature / Rule | Test IDs |
|---------|--------------------|----------|
| 1.1 | Enrollment trend chart | TC-TI-6-01-001 |
| 1.1 | Enrollments over time | TC-TI-6-01-002 |
| 1.1 | Growth rate shown | TC-TI-6-01-003 |
| 1.1 | Enrollments by course | TC-TI-6-01-004 |
| 1.1 | Seasonal patterns shown | TC-TI-6-01-005 |
| 1.1 | Set the period and granularity | TC-TI-6-01-006 |
| 1.1 | Trend available on web and mobile | TC-TI-6-01-007 |
| 1.1 | Trend event logging (viewed) | TC-TI-6-01-008 |
| 1.1 | Audit logging of the enrollment trends | TC-TI-6-01-009 |
| 1.1 | Rule: The trend is by the selected period and granularity. | TC-TI-6-01-001 |
| 1.1 | Rule: The growth rate is period over period. | TC-TI-6-01-002 |
| 1.1 | Rule: Trend events (viewed) are logged with the account and the timestamp. | TC-TI-6-01-003 |
| 1.1 | Rule: The enrollment trends is audit-logged with the account and the timestamp. | TC-TI-6-01-004 |
| 1.2 | Retention rate shown | TC-TI-6-01-010 |
| 1.2 | Retention by cohort | TC-TI-6-01-011 |
| 1.2 | Retention trend | TC-TI-6-01-012 |
| 1.2 | Active student definition | TC-TI-6-01-013 |
| 1.2 | Set the period | TC-TI-6-01-014 |
| 1.2 | Retention available on web and mobile | TC-TI-6-01-015 |
| 1.2 | Retention event logging (viewed) | TC-TI-6-01-016 |
| 1.2 | Audit logging of the retention rate | TC-TI-6-01-017 |
| 1.2 | Rule: The retention is by cohort. | TC-TI-6-01-010 |
| 1.2 | Rule: The active student definition is configurable. | TC-TI-6-01-011 |
| 1.2 | Rule: Retention events (viewed) are logged with the account and the timestamp. | TC-TI-6-01-012 |
| 1.2 | Rule: The retention rate is audit-logged with the account and the timestamp. | TC-TI-6-01-013 |
| 1.3 | Churn analysis view | TC-TI-6-01-018 |
| 1.3 | Students who left listed | TC-TI-6-01-019 |
| 1.3 | Churn rate shown | TC-TI-6-01-020 |
| 1.3 | Churn by course and reason | TC-TI-6-01-021 |
| 1.3 | Churn trend shown | TC-TI-6-01-022 |
| 1.3 | Export the analysis | TC-TI-6-01-023 |
| 1.3 | Analysis available on web and mobile | TC-TI-6-01-024 |
| 1.3 | Analysis event logging (viewed, exported) | TC-TI-6-01-025 |
| 1.3 | Audit logging of the churn analysis | TC-TI-6-01-026 |
| 1.3 | Rule: The churn is by course and reason. | TC-TI-6-01-018 |
| 1.3 | Rule: The churn rate is leavers over the starting cohort. | TC-TI-6-01-019 |
| 1.3 | Rule: Analysis events (viewed, exported) are logged with the account and the timestamp. | TC-TI-6-01-020 |
| 1.3 | Rule: The churn analysis is audit-logged with the account and the timestamp. | TC-TI-6-01-021 |

## 1.1 Enrollment Trends

### TC-TI-6-01-001 — Enrollment trend chart
**Type:** Positive
**Covers:** 1.1 → Enrollment trend chart; Rule: The trend is by the selected period and granularity.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Enrollment trend chart.
2. Observe the result and verify the full behavior: Enrollment trend chart.
**Expected Result:** Enrollment trend chart — delivered exactly as documented.
**Priority:** Critical

### TC-TI-6-01-002 — Enrollments over time
**Type:** Positive
**Covers:** 1.1 → Enrollments over time; Rule: The growth rate is period over period.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Enrollments over time.
2. Observe the result and verify the full behavior: Enrollments over time.
**Expected Result:** Enrollments over time — delivered exactly as documented.
**Priority:** High

### TC-TI-6-01-003 — Growth rate shown
**Type:** Positive
**Covers:** 1.1 → Growth rate shown; Rule: Trend events (viewed) are logged with the account and the timestamp.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Growth rate shown.
2. Observe the result and verify the full behavior: Growth rate shown.
**Expected Result:** Growth rate shown — delivered exactly as documented.
**Priority:** High

### TC-TI-6-01-004 — Enrollments by course
**Type:** Positive
**Covers:** 1.1 → Enrollments by course; Rule: The enrollment trends is audit-logged with the account and the timestamp.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Enrollments by course.
2. Observe the result and verify the full behavior: Enrollments by course.
**Expected Result:** Enrollments by course — delivered exactly as documented.
**Priority:** High

### TC-TI-6-01-005 — Seasonal patterns shown
**Type:** Positive
**Covers:** 1.1 → Seasonal patterns shown
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Seasonal patterns shown.
2. Observe the result and verify the full behavior: Seasonal patterns shown.
**Expected Result:** Seasonal patterns shown — delivered exactly as documented.
**Priority:** High

### TC-TI-6-01-006 — Set the period and granularity
**Type:** Positive
**Covers:** 1.1 → Set the period and granularity
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Set the period and granularity.
2. Observe the result and verify the full behavior: Set the period and granularity.
**Expected Result:** Set the period and granularity — delivered exactly as documented.
**Priority:** High

### TC-TI-6-01-007 — Trend available on web and mobile
**Type:** Positive
**Covers:** 1.1 → Trend available on web and mobile
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Trend available on web and mobile.
2. Observe the result and verify the full behavior: Trend available on web and mobile.
**Expected Result:** Trend available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-TI-6-01-008 — Trend event logging (viewed)
**Type:** Positive
**Covers:** 1.1 → Trend event logging (viewed)
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Trend event logging (viewed).
2. Observe the result and verify the full behavior: Trend event logging (viewed).
**Expected Result:** Trend event logging (viewed) — delivered exactly as documented.
**Priority:** High

### TC-TI-6-01-009 — Audit logging of the enrollment trends
**Type:** Positive
**Covers:** 1.1 → Audit logging of the enrollment trends
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, perform the enrollment trends action.
2. Open the audit log and verify the entry for the action.
**Expected Result:** The enrollment trends action is recorded in the audit log with the account and the timestamp.
**Priority:** Critical


## 1.2 Retention Rate

### TC-TI-6-01-010 — Retention rate shown
**Type:** Positive
**Covers:** 1.2 → Retention rate shown; Rule: The retention is by cohort.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Retention rate shown.
2. Observe the result and verify the full behavior: Retention rate shown.
**Expected Result:** Retention rate shown — delivered exactly as documented.
**Priority:** Critical

### TC-TI-6-01-011 — Retention by cohort
**Type:** Positive
**Covers:** 1.2 → Retention by cohort; Rule: The active student definition is configurable.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Retention by cohort.
2. Observe the result and verify the full behavior: Retention by cohort.
**Expected Result:** Retention by cohort — delivered exactly as documented.
**Priority:** High

### TC-TI-6-01-012 — Retention trend
**Type:** Positive
**Covers:** 1.2 → Retention trend; Rule: Retention events (viewed) are logged with the account and the timestamp.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Retention trend.
2. Observe the result and verify the full behavior: Retention trend.
**Expected Result:** Retention trend — delivered exactly as documented.
**Priority:** High

### TC-TI-6-01-013 — Active student definition
**Type:** Positive
**Covers:** 1.2 → Active student definition; Rule: The retention rate is audit-logged with the account and the timestamp.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Active student definition.
2. Observe the result and verify the full behavior: Active student definition.
**Expected Result:** Active student definition — delivered exactly as documented.
**Priority:** High

### TC-TI-6-01-014 — Set the period
**Type:** Positive
**Covers:** 1.2 → Set the period
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Set the period.
2. Observe the result and verify the full behavior: Set the period.
**Expected Result:** Set the period — delivered exactly as documented.
**Priority:** High

### TC-TI-6-01-015 — Retention available on web and mobile
**Type:** Positive
**Covers:** 1.2 → Retention available on web and mobile
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Retention available on web and mobile.
2. Observe the result and verify the full behavior: Retention available on web and mobile.
**Expected Result:** Retention available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-TI-6-01-016 — Retention event logging (viewed)
**Type:** Positive
**Covers:** 1.2 → Retention event logging (viewed)
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Retention event logging (viewed).
2. Observe the result and verify the full behavior: Retention event logging (viewed).
**Expected Result:** Retention event logging (viewed) — delivered exactly as documented.
**Priority:** High

### TC-TI-6-01-017 — Audit logging of the retention rate
**Type:** Positive
**Covers:** 1.2 → Audit logging of the retention rate
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, perform the retention rate action.
2. Open the audit log and verify the entry for the action.
**Expected Result:** The retention rate action is recorded in the audit log with the account and the timestamp.
**Priority:** Critical


## 1.3 Churn Analysis

### TC-TI-6-01-018 — Churn analysis view
**Type:** Positive
**Covers:** 1.3 → Churn analysis view; Rule: The churn is by course and reason.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Churn analysis view.
2. Observe the result and verify the full behavior: Churn analysis view.
**Expected Result:** Churn analysis view — delivered exactly as documented.
**Priority:** Critical

### TC-TI-6-01-019 — Students who left listed
**Type:** Positive
**Covers:** 1.3 → Students who left listed; Rule: The churn rate is leavers over the starting cohort.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Students who left listed.
2. Observe the result and verify the full behavior: Students who left listed.
**Expected Result:** Students who left listed — delivered exactly as documented.
**Priority:** High

### TC-TI-6-01-020 — Churn rate shown
**Type:** Positive
**Covers:** 1.3 → Churn rate shown; Rule: Analysis events (viewed, exported) are logged with the account and the timestamp.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Churn rate shown.
2. Observe the result and verify the full behavior: Churn rate shown.
**Expected Result:** Churn rate shown — delivered exactly as documented.
**Priority:** High

### TC-TI-6-01-021 — Churn by course and reason
**Type:** Positive
**Covers:** 1.3 → Churn by course and reason; Rule: The churn analysis is audit-logged with the account and the timestamp.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Churn by course and reason.
2. Observe the result and verify the full behavior: Churn by course and reason.
**Expected Result:** Churn by course and reason — delivered exactly as documented.
**Priority:** High

### TC-TI-6-01-022 — Churn trend shown
**Type:** Positive
**Covers:** 1.3 → Churn trend shown
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Churn trend shown.
2. Observe the result and verify the full behavior: Churn trend shown.
**Expected Result:** Churn trend shown — delivered exactly as documented.
**Priority:** High

### TC-TI-6-01-023 — Export the analysis
**Type:** Positive
**Covers:** 1.3 → Export the analysis
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Export the analysis.
2. Observe the result and verify the full behavior: Export the analysis.
**Expected Result:** Export the analysis — delivered exactly as documented.
**Priority:** High

### TC-TI-6-01-024 — Analysis available on web and mobile
**Type:** Positive
**Covers:** 1.3 → Analysis available on web and mobile
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Analysis available on web and mobile.
2. Observe the result and verify the full behavior: Analysis available on web and mobile.
**Expected Result:** Analysis available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-TI-6-01-025 — Analysis event logging (viewed, exported)
**Type:** Positive
**Covers:** 1.3 → Analysis event logging (viewed, exported)
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Analysis event logging (viewed, exported).
2. Observe the result and verify the full behavior: Analysis event logging (viewed, exported).
**Expected Result:** Analysis event logging (viewed, exported) — delivered exactly as documented.
**Priority:** High

### TC-TI-6-01-026 — Audit logging of the churn analysis
**Type:** Positive
**Covers:** 1.3 → Audit logging of the churn analysis
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, perform the churn analysis action.
2. Open the audit log and verify the entry for the action.
**Expected Result:** The churn analysis action is recorded in the audit log with the account and the timestamp.
**Priority:** Critical
