Automating academic follow-up for large cohorts
- Tested on
- Claude Sonnet 4.6, November 2026
- Estimated time
- 30 min
- Time saved
- 3-5 hours per cohort
- Published
- 2026-11-02
- Last reviewed
- 2026-11-02
- Attribution
- Equipo Circles
Context
University instructor teaching a course with 40 or more students who needs to identify those at academic risk before the end of the term, without manually reviewing every record. The prompt guides a two-phase process: first, risk classification from anonymized performance data; then, the generation of personalized follow-up message templates by risk segment for batch sending through the institutional system. Particularly useful in weeks 8–12 of an 18-week semester, when there is still time for an intervention to make a difference.
Paste before
Before opening the model, prepare:
- A table with your cohort's performance data, anonymized: use an internal identifier (student ID number, seat number, or roster code) instead of names or government-issued IDs. Do not include identifying data (applicable data-protection regulation, e.g., FERPA, GDPR, or your institution's policy).
- Minimum recommended columns:
student_ID,assessment_1_grade,assessment_2_grade(or whatever assessments you have),attendance_percentage,assignments_submitted_of_N. - The risk thresholds your institution uses, or the ones you apply: grade cutoff, minimum attendance percentage, number of missing assignments that trigger an alert.
- Your usual communication style with students (formal or conversational) and the delivery channel (institutional email, Canvas, Moodle, or another LMS).
- The current week of the semester and the assessments still ahead.
- Keep a second tab in your spreadsheet with the student_ID → real name mapping, locked from external reading; you will use it after receiving the model's templates, right before sending each message.
Privacy rule: The model must not process identifying data about students. Use internal IDs only. The mapping from ID to real name is done by you in your institutional spreadsheet, outside the model, just before sending each message.
Prompt
Act as an analytical assistant for university instructors. I will share performance data from my cohort **in anonymized format** (no names or government-issued IDs) and I need your help with two phases: classifying students by academic risk level, and drafting follow-up message templates for each risk segment.
**Context:**
- Course: {{course_name}} — {{semester_and_year}}
- Cohort size: {{number_of_students}} students
- Current week of the semester: {{current_week}} of {{total_weeks}}
- Remaining assessments or deadlines: {{upcoming_assessments}}
- Communication channel: {{institutional_email_or_lms}}
- Usual tone with students: {{formal_or_conversational}}
**Risk thresholds I use:**
- Low average grade: {{grade_threshold}} or below
- Critical attendance: {{attendance_threshold}}% or below
- Missing assignments: more than {{missing_assignments_threshold}} not submitted
**Cohort data (anonymized table):**
{{anonymized_performance_table}}
---
**Phase 1 — risk classification:**
Analyze the table and classify each student (by ID) into one of three segments:
- **Red** (high risk): meets two or more of my risk thresholds.
- **Yellow** (medium risk): meets exactly one threshold, or whose average grade falls between {{grade_threshold}} and {{grade_threshold}}+0.7 points AND whose attendance falls between {{attendance_threshold}} and {{attendance_threshold}}+10 percentage points (proximity zone across two variables simultaneously).
- **Green** (no apparent risk): does not meet any threshold.
Return the result as a table with columns: `student_ID | Segment | main_criterion | average_grade | attendance_% | missing_assignments`.
Then provide a brief summary: how many students are in each segment, and what pattern is most common in the Red and Yellow segments (low grade, low attendance, or missing assignments).
---
**Phase 2 — follow-up messages by segment:**
For the Red and Yellow segments, draft a message template that I will personalize with each student's name before sending. Each template must:
1. Match the tone I specified: {{formal_or_conversational}}.
2. State the reason for contact by describing the trend, without revealing the exact grade or attendance figure. For example: "I've noticed you've been having trouble keeping up with assignments" — not "you have 4 missing assignments"; "I can see there are difficulties on more than one front" — not "your average is below passing".
3. Offer a concrete and accessible next step: a link to office hours, a pending submission deadline, or an invitation to talk.
4. Be no longer than 120 words.
5. Include the marker `[NAME]` where the student's real name will go.
Do not draft individual messages for each student ID. Only two templates: one for Red and one for Yellow.Expected output
Real example (excerpt):
Phase 1 — risk classification table (excerpt)
student_ID Segment main_criterion average_grade attendance_% missing_assignments E-002 Red Low grade + critical attendance + missing assignments 3.15 42 3 E-003 Yellow Low grade 3.85 71 1 E-010 Yellow Proximity zone (grade + attendance) 3.95 62 1 E-004 Green No risk factors 6.35 90 0Summary: 4 Red · 4 Yellow · 7 Green. Dominant pattern in Red: critical attendance in all four cases; three of them also combine it with missing assignments.
Phase 2 — Red template
Hi [NAME], I'm reaching out because I've noticed that this semester you are dealing with challenges on more than one front at the same time. There is still time before Assessment 3 (week 13). Feel free to email me or drop by my office hours [link]. Don't leave it too long.
Phase 2 — Yellow template
Hi [NAME], I'm writing because I've noticed the semester has been a bit harder than expected. There is still a good stretch of the course ahead. If you have questions or want to talk about how to organize your workload, my office hours are available [link]. Happy to help.
Watch out for
- Do not paste names or government-issued IDs into the model. The pipeline works with internal IDs: the ID-to-name mapping is done by you in your spreadsheet, after the model generates the templates. Pasting identifying data may violate applicable data-protection regulations (FERPA, GDPR, or your institution's policy).
- The model may misclassify rows if the table has empty cells, inconsistent decimal formats (comma vs. period), or unexplained "N/A" values. Clean the table before pasting: replace blanks with
0orN/A, standardize the decimal separator, and add a line above the table explaining whatN/Ameans. - The message templates are a starting point, not final text. The model does not know each student's prior history or the real tone of your relationship with them. Always review before sending, especially the Red message: it can come across as threatening if dispatched without editing.
Suggested iteration
If the segments are poorly calibrated: "The Red segment ended up with more than 30 % of the cohort. Recalibrate: Red only for students who meet all three thresholds simultaneously; Yellow for those who meet exactly two."
If you need to follow up with students who do not respond: "Generate a second round of messages for the IDs in the Red segment who did not respond within 5 business days. The tone should be more direct and include a specific date to contact the student support office."