How an EdTech Startup Lifted Retention 38% with an AI Student Re-engagement Agent
- Before
- 47%
- students active at day 30
- After
- 65%
- with AI re-engagement
- Response rate
- 34%
- vs 6% on mass email
- Implementation
- 12 days
- plus 2 weeks observation
Context and challenge
In an online school, 30-40% of students would "get stuck" — stop logging into the platform after 2-3 weeks of coursework. Standard re-engagement emails got ~6% response, then quickly became spam. The support team of 4 couldn't reach out to each "cooling" student individually — for 1500-2000 active students.
Approach
LangGraph 4-stage pipeline:
- Detection — every night a scheduled Postgres job finds students whose activity dropped (no login/lesson_open events 5+ days)
- Context analysis — for each student, builds a mini-resume — what they completed, where they stopped, errors in tasks, typical pace
- Message generation — Claude with context — mini-resume + tone guidelines + good message examples. Outputs structured JSON (subject, body, suggested action)
- Send & track — Telegram Bot DMs the student, webhook catches replies, passes to Postgres + curator flag if replied
Every 2 weeks — cohort effectiveness analysis, prompt corrections.
What was hard
Hard part 1 — learning the tone. First messages from the agent sounded like marketing email (“Hey! Miss our lessons?”). Counterproductive. Collected 30 good and bad message examples (from real curator correspondence), embedded as few-shot. Tone got warmer and more human.
Hard part 2 — privacy. School collects sensitive data — age, country, payment method. Agreed — agent only sees anonymized profile (course status, progress, errors), no personal identifiers. Name interpolated at send stage on our side.
Hard part 3 — scaling. Launching for all 5000 students at once = big risk (if something breaks, lose trust at scale). Wave rollout — first 50 students, after a week 200, after 2 weeks — all. Metrics compared at each wave.
Business impact
2 months post-launch (after calibration period):
- 30-day retention: 47% → 65% (+38% relative)
- 60-day retention: 31% → 48% (+55% relative)
- Student LTV: +27% (paying longer)
- Support team: same 4 people, but more complex dialogs and fewer cold cases
"Students come back and pay longer. The key is — they say they don't feel an automated approach, they feel we remember each one."
Tech used
Case FAQ
- Won't it scare students that a bot is writing to them?
- Key thing — don't try to pass AI off as a human. First message honestly states — "hi, I'm an automated helper, noticed you haven't logged in for 5 days. If there's an issue — tell me, I'll pass to a curator". Removes discomfort. If student replies — dialog transitions to a live curator with full context.
- How does AI know what to suggest?
- Agent looks at specifics — which course, which lesson, what errors in recent tasks. If student stopped on algorithms — suggest similar task walkthrough. If discipline problem (opened but didn't do) — suggest format with a curator. Structured via Claude function calling into Pydantic schema.
- Can this approach break something?
- Yes, risks existed. Constrained — agent writes max once every 14 days per student (no spam). If no reply to 2 consecutive messages — switches to "silent monitoring" mode. Curator can manually unblock. Also "don't message me anymore" button in every message.
- How much does this cost to launch?
- Baseline setup — $4,500 for 10 days (MVP package). Operating cost — ~$0.05 per personalized message (Claude 3.5). At 200/day — $10/day. Paid back in 6 weeks.
Want the same result?
Free 2-day audit. In half an hour we'll know if there's reason to move forward.