В онлайн-образовании уход студентов — привычная история: кто-то теряет мотивацию, кому-то не хватает времени, для кого-то курс оказывается слишком сложным. Часть таких случаев можно предсказать заранее — если внимательно смотреть на данные.
В 2025 году в Практикуме заработала ML-модель, которая за две недели до возможного ухода студента сигнализирует о том, что такой риск появился, и показывает вероятные причины. Благодаря этому кураторы успевают предложить поддержку: академ, смену курса или более гибкий формат обучения. В этой статье расскажем, как мы проектировали модель, какие данные использовали и как проверяли её работу на практике.
Для студента уход с курса — это потеря не только денег, но и времени, энергии и часто — мотивации продолжать учиться дальше. На наших курсах обучаются тысячи студентов, так что мы видим такие истории регулярно, и главная проблема в том, что обычно сигнал появляется слишком поздно: когда человек уже написал заявление, чтобы расторгнуть договор, или перестал заходить на платформу. Если такие ситуации удаётся заметить заранее, у человека появляется шанс продолжить обучение — пусть и, возможно, в другом формате.
В 2023 году в Практикуме мы уже пробовали решать задачу через модель «Светофор». Она определяла студентов, у которых падала активность, и подсвечивала их кураторам. Но у этого подхода оказалось несколько проблем.
Во-первых, точность была невысокой: ROC-AUC около 0,71. Для тех, кто не сталкивался с этой метрикой: ROC-AUC — это показатель качества классификатора, где 0,5 соответствует случайному угадыванию, а 1 — идеальной модели. Значение 0,71 считается рабочим, но явно оставляет пространство для улучшений.
Во-вторых, модель, опираясь на общие пользовательские признаки, не объясняла причины: куратор видел «красный сигнал», но не понимал, что именно не так и как помочь студенту.
Опыт «Светофора» стал отправной точкой. Мы увидели, что идея рабочая — кураторы действительно пытались реагировать на сигналы, — но без интерпретируемости и большей точности инструмент превращался в ещё один шумный алерт. Поэтому мы решили перезапустить проект:
сместить таргет с так называемых «академических» аспектов ухода (когда студент не заходил на платформу в течение 30 дней) на финансовые (когда студент либо делает запрос на возврат, если у него полная оплата, либо перестаёт платить, если у него рассрочка);
добавить объясняемость и построить сразу две модели — бинарную для прогноза самого события и мультиклассовую для определения причин.
Что именно предсказываем
В новой системе мы решаем сразу две задачи.
Первая — бинарная классификация. Модель оценивает, возникнут ли у студента в ближайшие две недели финансовые затруднения с оплатой курса. Для этого помимо поведенческих признаков мы смотрим, бывали ли уже задержки с оплатой платежей или отказ платежа из-за недостатка средств на карте пользователя.
Такой таргет мы выбрали не случайно: он напрямую связан с тем, продолжит ли студент учиться, и при этом даёт кураторам понятный горизонт времени для реакции.
Вторая — мультиклассовая классификация. Она отвечает на вопрос, почему студент может уйти. Модель прогнозирует вероятность по нескольким классам:
«нет времени» (студент не справляется с совмещением учёбы и жизни);
«не нравится учиться» (потеря мотивации, или ожидания не совпали с реальностью);
«слишком сложно» (курс объективно тяжёлый для конкретного студента);
«готовность сменить курс» (человек понял, что выбрал не ту профессию);
«нет денег»;
«цель курса достигнута или потеряла актуальность»;
«неоплата рекуррентного платежа»;
«неизвестная причина» (когда модель не может уверенно отнести случай к другим классам).
На выходе у одного студента может быть сразу несколько причин с разными весами. Это важный момент: реальные проблемы редко сводятся к одной-единственной.

Фокус на финансовый аспект — принципиальное отличие от старой системы «Светофор». Там целевая переменная определялась как «нет активности на платформе в течение 30 дней». Такой сигнал был слишком косвенным: например, студент мог на время приостановить занятия, но продолжать платить. В Практикуме каждый учится в своём темпе, и некоторые студенты могут какое-то время не заходить на платформу, а потом вернуться и сдать все зачётные дисциплины. Именно поэтому при опоре на «академические» аспекты кураторам было сложно понять, кому действительно нужна помощь и какая.
Сместив акцент на отслеживание критичных для обучения финансовых аспектов, мы добились двух вещей:
таргет стал ближе к реальной «точке невозврата»;
предсказания можно связать с конкретными действиями куратора — предложить академ или изменить график.
Как строили модель
Чтобы предсказывать уход студента, мы собрали пул признаков, которые включали в себя активность студента на платформе Практикума, динамику выполнения заданий, взаимодействие с кураторами, данные об оплатах и многие другие.
Формирование выборки оказалось нетривиальной задачей. Для студентов, которые действительно ушли, целевая дата фиксируется просто — это сам момент ухода. А вот для тех, кто не ушёл, дату таргета пришлось моделировать искусственно, чтобы сбалансировать распределение. Мы использовали логнормальное распределение и специальные ограничения по дате наблюдения таргета, чтобы она для таких студентов выглядела реалистично.


Дальше мы собрали две обучающие выборки: для бинарной модели и для мультиклассовой. В свою очередь, их мы делили ещё на три: train, валидационную (с помощью кросс-валидации) и тестовую — после чего прогоняли эксперименты. Перепробовали разные варианты гиперпараметров, но значимого прироста они не дали, поэтому остановились на устойчивой базовой конфигурации.
Важно было добиться интерпретируемости. В «Светофоре» кураторы видели только общий риск, и это мешало реагировать. В новой системе мы сделали мультиклассовую модель, которая выдаёт не только «да/нет», но и распределение по причинам. При этом студент может одновременно попадать в несколько категорий — например, «слишком сложно» и «нет времени». Мы добавили логику формирования топ-3 причин, чтобы кураторы получали более точную и ясную картину по студенту, но без перегрузки.
Отдельно мы анализировали, какие признаки оказывают наибольшее влияние. Для бинарной модели в топ-25 попали в первую очередь финансовые и поведенческие данные: размер и частота платежей, регулярность активности на платформе, история выполненных заданий. Для мультиклассовой модели оказалось важнее сочетание признаков: одни сигналы сильнее коррелировали с классом «нет времени» (например, пропуски занятий), другие — с классом «слишком сложно» (низкие результаты по проверкам). Это помогло не только поднять качество, но и убедиться, что модель опирается на осмысленные факторы, а не на случайный шум.
После офлайн-экспериментов мы проверили модели на продовых данных. Делали это так: составляли прогноз ухода студентов, ждали две недели (именно этот горизонт и предсказывает модель) и сверяли этот прогноз с реальностью. Дополнительно разбивали все студенческие скоры на 10 равных корзин и смотрели, как конверсии в уход распределяются внутри них. Такой анализ показал: чем выше скор, тем выше вероятность ухода и кривая выглядит ожидаемо монотонной. Это подтвердило, что модель не только «ловит сигнал» на тестовой выборке, но и работает предсказуемо в проде.
Как это работает в проде
Модели считают скоры каждый день. На выходе мы получаем оценку риска для всех студентов, причём сохраняем историчность: можно проследить, как ситуация менялась во времени.
Из-за особенностей расчёта признаки приходят с задержкой 2–3 дня. Поэтому «сегодняшний» скор на самом деле отражает состояние студента позавчера. Для задачи прогнозирования это допустимо: горизонт у нас две недели.
Дальше данные попадают в систему Хогвартс — рабочий инструмент кураторов. При этом кураторы не видят сухие числа вроде 0,73. Вместо этого мы заранее фильтруем и сортируем студентов по порогам риска, а в интерфейсе показываем только тех, на кого действительно стоит обратить внимание. Такой подход избавляет кураторов от необходимости интерпретировать модель и сразу подсказывает, где их помощь может быть полезной.

С причинами ухода мы поступили осторожно. У студента может быть несколько факторов одновременно, и показывать полный набор было бы бесполезно: часть причин имела слишком маленькие веса. Мы реализовали гибкий топ-3:
если уверенность модели в одной причине выше 0,7 (и это не «неизвестная причина»), показываем только её;
если уверенность умеренная (0,4–0,7) — показываем две причины;
в остальных случаях — три.
В интерфейсе остаются только те классы, под которые есть готовые инструкции для куратора: «нет времени», «слишком сложно», «не нравится учиться», «неоплата рекуррентного платежа». Всё остальное остаётся на бэкенде и используется для статистики.
Фильтры работают автоматически: студент может появиться в списке рисковых и исчезнуть через пару дней, если его скор упал ниже порога или условия изменились (например, он уже покинул поток, в которомм выше вероятность обучался, или закрыл долг по оплате). Для куратора это выглядит как «живая очередь» студентов, где приоритетные кейсы подаются первыми.
Перед выкладкой мы проверили интерфейс в мини-эксперименте: дали задание трём кураторам работать с инструментом в течение двух недель и собрали обратную связь. Выяснилось, что система понятна интуитивно, а предсказания выглядят реалистично: по ощущениям кураторов, модель «угадывала» проблемы студентов. Этот этап показал, что инструмент готов к интеграции в прод и может быть полезен без долгого обучения персонала.
Что показали результаты
Во-первых, мы увидели, что качество предсказаний выше, чем у прошлой системы.
Во-вторых, кураторам стало проще работать: есть инструкции по контрмерам, понятные статусы.
Первые замеры показали: новые модели работают заметно лучше, чем старая система «Светофор». Если там ROC-AUC держался на уровне ~0,71, то теперь метрики вышли на уровень, который считается хорошим для бизнес-задач, — выше случайного угадывания и достаточно надёжный для реальной эксплуатации.

Для кураторов инструмент стал удобнее. Вместо абстрактного «сигнала риска» они получают список студентов с объяснением причин ухода и готовыми инструкциями, что можно предложить: академ, перенос, рассрочку или смену трека. Это сократило количество ситуаций, когда куратор «не знает, с чего начать разговор», и сделало работу предсказуемой.
Мы проверяли это в небольшом пилоте: три куратора вели 20 студентов с использованием новой системы в течение двух недель. Итог получился такой:
3 студента всё же выбыли;
7 приняли оферы и продолжили обучение;
1 отказался от помощи;
9 пока остались «в подвешенном состоянии», но кураторы получили план, как продолжить работу.
Несмотря на скромный масштаб, эксперимент показал: модель не мешает, а реально помогает в ежедневной работе — и теперь она работает в проде. Кураторы отметили, что предсказания «читаются» интуитивно: система выделяет именно тех студентов, у которых действительно есть риск ухода, и почти не помечает тех, у кого проблем нет.
Выводы
Для студентов такая система — это не про контроль, а про поддержку. Когда риск ухода замечают вовремя, у человека появляется шанс договориться об академе, сменить трек или найти более удобный формат. Это снижает уровень стресса и увеличивает шансы закончить обучение, вместо того чтобы бросить его на середине.
Для нас как команды этот проект стал проверкой подхода: можно ли предсказывать не только факт события, но и его причины и при этом встроить модель в живой процесс работы кураторов. Оказалось, что можно, — и это открывает пространство для применения не только в онлайн-образовании. Подобные инструменты пригодятся там, где важно вовремя поймать пользователя «на грани»: в маркетинге, екоме или любых retention-сценариях.
Дальше мы хотим развивать систему в двух направлениях. Во-первых, расширить набор объяснимых причин и сделать их ближе к реальности студента. Во-вторых, научиться точнее подбирать контрмеры: не просто говорить «у студента нет времени», а сразу предлагать вариант решения, который в прошлом работал для похожих кейсов.