Перейти к содержимому

Аналитика контингента

Аналитический дашборд для руководства, учебного управления и заведующих кафедрами. Он показывает, сколько обучающихся сейчас учится по каждой программе, подразделению и корпусу, насколько заполнены программы, как меняется удержание и отсев и как это соотносится с прошлым годом. Это не рабочий инструмент приёма, а единый источник цифр о контингенте.

Без него численность берут из выгрузок учётной системы, которые устаревают, пока их оформляют в отчёт. Подготовка к учёному совету или заседанию учредителя занимает день: отдельные запросы на численность, приведённый контингент, удержание и состав. Заполняемость программ сравнивают с числом мест вручную, а прошлогодний отчёт приходится искать и выравнивать по формату. Разные подразделения называют разные цифры, потому что считают по-своему.

Для первого релиза достаточно численности, заполняемости и снимков на контрольные даты. Удержание по когортам и разбивки по составу добавляют после того, как определения согласованы с учебным управлением и накопился хотя бы год снимков.

  • Даёт актуальную численность. Число обучающихся по программам, подразделениям, формам обучения и корпусам строится из живых данных.
  • Считает заполняемость. Текущая численность сравнивается с количеством мест программы, а статус отмечен цветом.
  • Показывает удержание и отсев. Доли по когортам, программам и периодам считаются по единым правилам.
  • Сравнивает периоды. Каждый показатель можно сопоставить с прошлым семестром или годом на ту же дату.
  • Держит одно определение цифры. Руководство, учебное управление и кафедры видят одинаковые значения, потому что все представления используют один расчёт.
  • Готовит выгрузку к заседанию. Экспорт совпадает с тем, что на экране, и не требует ручной доработки.
  • Граница сценария — уже зачисленные. Сервис не ведёт абитуриентов и не управляет местами при зачислении. Для этого есть воронка приёмной кампании и трекер зачисления; отсюда их результат виден как итоговая численность.
  • Определения фиксируют один раз. Что считается «обучающимся», как считается приведённый контингент по формам обучения, какие статусы исключаются (академический отпуск, отчисление) — записывают в систему, а не держат в головах аналитиков.
  • Когорта задаётся правилом. Удержание корректно, только если когорта определена одинаково: год поступления, форма обучения, первичный приём или перевод. Иначе цифры разных отчётов не сходятся.
  • Сравнение требует снимков. Учётная система хранит текущее состояние, а не состояние на прошлое 1 ноября. Нужны снимки на контрольные даты, иначе сравнение год к году невозможно.
  • Места — тоже данные. Без справочника мест по программам заполняемость не посчитать. Места меняются по годам, поэтому их хранят с периодом действия.
  • Подключение без миграции. Дашборд читает учётную систему через отдельное read-only подключение или реплику и хранит у себя только снимки и справочники. Если учётная система уже строит нужные отчёты, может хватить BI-инструмента поверх неё.
  • Доступ и малые группы. Заведующий кафедрой видит свои программы, руководство — всё. При разбивке по составу маленькие группы скрывают или объединяют, чтобы по цифрам нельзя было узнать конкретного человека.

Промпты рассчитаны на AI-агента (Claude Code, Cursor и аналоги) в Laravel-проекте с установленным Filament 4.x. Отправляйте их по одному и проверяйте результат каждого шага.

Настрой второе подключение к базе учётной системы только на чтение и создай
модели для обучающихся, программ и статусов обучения поверх её таблиц без
миграций. В основной базе создай ProgramCapacity (программа, период,
количество мест), CohortRule (название, условия) и EnrollmentSnapshot
(дата, программа, подразделение, форма обучения, численность, приведённый
контингент). Добавь демо-данные для локальной разработки.

Проверьте, что пользователь подключения к учётной системе не имеет прав на запись.

Вынеси в один сервисный класс расчёт численности, приведённого контингента,
заполняемости и удержания по когорте с параметрами: дата, программа,
подразделение, форма обучения. Все виджеты и выгрузки должны использовать
только его. Покрой расчёты тестами на демо-данных.
Сделай задачу по расписанию, которая сохраняет EnrollmentSnapshot
на контрольные даты из настроек и раз в неделю в течение семестра.
Повторный запуск на ту же дату перезаписывает снимок, а не дублирует его.
Добавь команду для построения снимков за прошлые годы, если исторические
данные есть в учётной системе.
Сделай страницу-дашборд с фильтрами по программе, подразделению, форме
обучения и дате. Добавь виджеты: численность и приведённый контингент,
заполняемость программ с цветовым статусом, удержание по когортам,
сравнение с прошлым годом на ту же дату.
Настрой доступ: заведующий кафедрой видит только свои программы, учебное
управление и руководство — всё. Скрывай значения в разбивках по составу,
если в группе меньше пяти человек. Добавь экспорт текущего представления
с датой расчёта и описанием показателей.