Clients & the at-risk queue
The trainer dashboard for cohort health, the ranked "who needs attention" queue with WhatsApp nudges, corporate client management, and each learner's full journey.
The Faculty area is your command centre for every learner in your tenant. It opens on a cohort-health dashboard that scores every trainee for risk, ranks the ones drifting off track, and lets you nudge them over WhatsApp in one tap — then drill into any corporate client or any individual learner's full journey. This page covers the three screens that make up that flow: the Faculty home (/faculty), a client (/faculty/client/...), and a trainee (/faculty/trainee/...).
Who can see this
Everything under Faculty is restricted to users with the Faculty or Admin role, and every list is scoped to your own tenant. A trainer in one tenant can never open a learner, client, or metric belonging to another — the trainee page returns "not found" rather than leak another tenant's data.
The Faculty home dashboard
Open Faculty (the "Clients" tab in the top navigation) to land on the cohort dashboard. It is built entirely from live data — there is nothing to configure. From top to bottom it shows a KPI row, the at-risk queue, cohort activity, mastery and item analysis, your corporate clients, and the live-sessions scheduler.
The KPI row
Five tiles summarise the whole cohort at a glance.
| Tile | What it counts | Notes |
|---|---|---|
| Trainees | Every learner (role Candidate) who is a member of your tenant | Includes learners not yet enrolled on anything |
| Active this week | Trainees whose most recent activity was 7 days ago or less | Based on the latest recorded learning event |
| Avg progress | Mean lesson-completion percentage across all trainees | A trainee's progress is completed lessons ÷ total lessons in their enrolled courses |
| Avg accuracy | Correct answers ÷ total answers across the whole cohort | Shows — when nobody has answered a question yet |
| Need attention | How many trainees are currently flagged at-risk | Rendered in the brand colour whenever it is above zero |
"Who needs attention" — the at-risk queue
This is the core of the dashboard: a single ranked list of the trainees who need a trainer's attention, most urgent first. Anyone with a risk score of 1 or more appears here; everyone else is left off so the list stays short and actionable.
Each row shows a coloured dot, the trainee's name, one or more reason chips explaining why they were flagged, and two actions on the right — Nudge and Open.
| Dot colour | Meaning | Risk score |
|---|---|---|
| Red | High risk — act now | 3 or more |
| Amber | Watch | 1 or 2 |
How the risk score is calculated
Risk is a points total built from four signals. The reason chips you see are exactly the rules that fired.
- Inactivity — never active
+2(chip "never active"); more than 7 days inactive+2; 4–7 days inactive+1(chip shows the day count, e.g. "9d inactive"). - Accuracy (only once the trainee has answered at least 5 questions) — below 50%
+2; 50–64%+1(chip e.g. "48% accuracy"). - Best mock below 60%
+1(chip e.g. "mock 55%"). - Progress below 25%
+1(chip e.g. "18% progress").
"Inactive" is measured from the trainee's single most recent learning event of any kind.
If nobody is flagged, the panel reads "Everyone's on track — no trainee is inactive, failing mocks, or stalling."
The one-tap WhatsApp nudge
The Nudge button appears on a row only when that trainee has a phone number on file. Tapping it opens WhatsApp (via wa.me) in a new tab, addressed to the trainee's number, with a message already written for you:
Hi
[first name], it's the CLIP team — noticed you've been away from your studies. Everything ok? Jump back in when you can and ping MOEgent if you're stuck.
You can edit the text before sending — nothing is sent automatically, and no message is logged by CLIP. If a trainee has no phone number, the Nudge button is hidden; add one from their trainee page (see below) to enable it.
The Open button next to it jumps straight to that learner's full journey page.
Cohort activity, mastery, and questions to review
Below the queue are three read-only analytics panels.
| Panel | What it shows |
|---|---|
| Cohort activity · 14 days | A bar per day for the last fortnight, counting questions answered across the whole cohort. Bars are bucketed by your local day (your timezone), and the footer totals the same window. |
| Cohort mastery by topic | Average mastery rating per topic, weakest topic first, each with a band label and bar. Only topics with real practice data appear. Empty until trainees start drilling. |
| Questions to review | The five published questions with the lowest correct-rate across your cohort (minimum 3 attempts each), to surface hard or broken items. Rate under 40% is red, otherwise amber; each shows the topic and attempt count. |
Mastery band labels are fixed thresholds: Strong (rating 1120+), Developing (1000–1119), and Needs work (below 1000).
Live sessions
At the bottom, faculty schedule live sessions that then appear on every learner's dashboard. The scheduler form fields:
| Field | Required | Notes |
|---|---|---|
| Session title | Yes | Up to 160 characters, e.g. "F3 filings clinic" |
| Start date & time | Yes | A date-and-time picker |
| Host | No | Free text, up to 120 characters |
| Join URL | No | The meeting link, up to 500 characters |
Each scheduled session is listed with its date, time and host, and a Remove button. The session length defaults to 60 minutes.
Corporate clients
Below the analytics, the Corporate clients section lists every client organisation in your tenant as a card showing the company name, its industry and main contact, and how many trainees it has. Click any card to open that client. Use Add client to create a new one.
Adding a client
| Field | Required | Limit |
|---|---|---|
| Company name | Yes | 120 characters |
| Industry | No | 80 characters |
| Main contact | No | 120 characters |
| Contact email | No | 160 characters |
| Notes | No | 2000 characters |
The client page
Opening a client shows its full corporate record, cohort metrics, entitlements, and the trainee roster.
Corporate card and editing details
The header card shows the company name, industry, main contact, contact email (a click-to-mail link), and any notes. Expand Edit client to change the name, industry, contact name, contact email or notes in place.
Cohort stats
Six tiles summarise this client's cohort specifically:
| Tile | Meaning |
|---|---|
| Trainees | Number of learners under this client |
| Active this week | Learners with at least one activity in the last 7 days |
| Avg progress | Mean lesson-completion across the cohort (— if nobody is enrolled) |
| Questions | Total questions answered by the cohort |
| Avg accuracy | Correct ÷ total answers for the cohort |
| Mocks passed | Mock attempts scoring 60% or higher |
Client entitlements — granting access at the organisation level
An entitlement is a standing "this client bought X" grant of a course or a whole programme to the organisation. It is the recommended way to give access because every member — including anyone you add later — automatically inherits it, and it works even before a single trainee exists.
Existing grants show as chips (a programme is marked with a ▣ prefix). Click the × on a chip to revoke it.
Revoking leaves people enrolled
Revoking an org entitlement stops future auto-enrolment and removes it from the client's listing, but by design it does not un-enrol learners who already inherited it. To remove one person's access, revoke the course on their individual trainee page.
| Field | Required | Notes |
|---|---|---|
| Programmes | Pick at least one programme or course | Grants every course inside the programme |
| Courses | — | Individual courses/phases |
| Seats | No | Whole number, minimum 1; blank = uncapped |
| Access expiry | No | Date; inherited enrolments default to this window |
Assigning the whole cohort at once
When a client already has trainees, an Assign the whole cohort to a programme or course panel appears. Unlike an entitlement, this is a one-off bulk enrolment: tick programmes/courses and click Assign all N trainees to enrol everyone currently in the org straight away. It does not create a standing grant, so people added later are not covered — use an entitlement for that.
The trainee roster
The Trainees table lists each learner with a link to their journey page, their email and position, what they are assigned to (course chips, or "Not assigned"), and a progress bar. Each row has an Assign button to add more courses/programmes to that one person.
Adding a trainee
CGI-xxxxxx) — share these first-time sign-in details with them.| Field | Required | Notes |
|---|---|---|
| Full name | Yes | 120 characters |
| Yes | Must be unique across the platform — a clash is rejected | |
| WhatsApp / mobile | No | E.164 style, e.g. +9715XXXXXXXX |
| Position / role | No | 120 characters |
| Notes | No | 2000 characters |
| Assign to | No | Any programmes and/or courses |
| Access expires | No | Optional date |
The new account is created as a Candidate with email already verified, joined to this client, enrolled on whatever you ticked, and given every course the client is entitled to. Errors you may see: "Name and email required" or "A user with that email already exists".
The trainee journey page
Clicking a trainee's name (from the at-risk queue, the roster, or an Open button) shows their complete journey. Use the link at the top to return to their client.
Header and status
The header shows the trainee's name, email, phone, position and organisation, and when they were last active (relative, plus an exact date). If a learner profile exists, their motivation and target exam sitting are shown. Enrolled courses appear as chips, alongside any cohort chips. A Suspended badge appears next to the name when the account is inactive; "Not assigned to any course yet" shows when they have no enrolments.
At-risk banner
When the learner is enrolled on something, an amber Needs attention banner lists their active risk signals. It stays hidden for an un-enrolled learner (there is nothing to be at-risk against yet).
| Signal | Fires when |
|---|---|
| Never started | The learner has no recorded activity at all |
| Inactive X days | 7 or more days since the last activity |
| Low accuracy · X% | At least 10 questions answered and accuracy below 50% |
| Progress stalled · X% | Progress below 20% and inactive 3+ days |
| N open questions | The learner has open escalation tickets waiting for the team |
Manage trainee
This panel is where you act on the learner.
- Active / Suspended toggle — the badge shows the current state; Suspend blocks their access to the whole platform, Restore re-enables it.
- Edit details — change full name, email, WhatsApp/mobile, position and notes. Editing the email checks it is not already used by someone else. If no phone is on file, a highlighted reminder prompts you to add one so the learner can be reached over WhatsApp.
- Access to courses & phases — lists every enrolment. Each shows its expiry as "access until
[date]" or, once past, "expired[date]". Revoke removes that one course. Assign opens a form to grant more programmes or individual courses, with an optional access-expiry date.
What you can and cannot manage here
These controls only work on candidates in your own tenant. You cannot suspend, edit, or re-assign an admin or fellow trainer, and cannot touch a learner from another tenant.
Progress, activity and achievements
Below Manage, four stat tiles show Progress, Questions answered, Accuracy, and current Day streak. A 14-day activity chart plots their daily question count. An Achievements grid shows earned badges lit and unearned ones dimmed, and a Mastery by topic panel lists their strongest topics (up to six) with band labels.
Recent activity, open questions and mock results
- Recent activity — the learner's last 18 events in plain language (lessons viewed and completed, questions practised, mocks completed, chats with the trainer, questions raised to the team, onboarding, certificates), each with a relative timestamp.
- Open questions to the team — up to five open escalation tickets the learner has raised. When empty it reads "No open questions — the AI trainer is handling everything in scope."
- Mock exam results — the learner's most recent mock attempts (up to six), each dated with its score and a passed (60% or higher) or keep going verdict.