Интеграция LMS и BI: события, метрики и роли доступа

Руководитель открывает отчёт по курсу: средний процент прохождения не изменился. При этом в одной из групп несколько учеников уже пропускают вебинары, задерживают задания и приближаются к отчислению. В среднем значении их не видно.
В BI попадают только итоговые метрики: доля завершивших курс, усреднённая оценка и число активных пользователей. По ним руководитель замечает проблему уже после того, как она повлияла на удержание и учебный результат.
Дашборд не восстановит событие, которого нет
Перечень графиков рано составлять, пока не определено решение сотрудника. Запрос «нужен отчёт по вовлечённости» не объясняет, какие действия считать вовлечённостью и что команда сделает после сигнала.
Сначала ответьте на четыре вопроса:
Какое решение должна принять команда?
Какой сигнал нужен для этого решения?
Из каких наблюдаемых действий складывается сигнал?
Где возникают эти действия и кто отвечает за их передачу?
Методисту нужно заранее заметить ученика, которому требуется помощь. Для такого сигнала одной отметки недостаточно. В разных моделях обучения в расчёт входят пропуски занятий, задержки с домашними заданиями, несколько слабых результатов подряд или отсутствие активности в материалах. Состав показателя зависит от методологии школы, поэтому его фиксируют до разработки дашборда.
В xAPI 2.0 каждая запись содержит actor, verb и object: кто совершил действие, что сделал и с каким объектом. При необходимости в неё добавляют результат, контекст и время. Внедрять стандарт целиком необязательно. Эта структура отделяет зафиксированное действие от рассчитанной метрики.
Вместо строки «пользователь активен» BI получает факты: ученик открыл занятие, отправил работу, получил оценку, вошёл на вебинар, отсутствовал, пересдал тест. Из этой последовательности можно собирать разные показатели без доработки LMS под каждый новый отчёт.
Один статус «курс пройден» скрывает разные результаты

Статус «пройден» может означать разные результаты. Для одного курса достаточно открыть все уроки, для другого — набрать проходной балл, для третьего — посетить обязательные занятия и защитить итоговую работу. Финальный статус не сообщает BI, по какому правилу он появился.
Поэтому вместе с действием нужно передавать контекст:
идентификатор ученика и его роль;
учебный объект и его версию;
действие и результат;
время действия и время получения события;
курс, поток, группу, преподавателя и источник;
идентификатор сессии, когда путь проходит через внешние сервисы.
Версия учебного объекта нужна, когда методист меняет тест или порог прохождения посреди потока. Без версии в одном графике окажутся результаты, рассчитанные по разным правилам. Среднее останется математически верным, но его нельзя будет уверенно сравнивать между периодами.
Названия событий нужно согласовать между системами. LMS отправляет lesson_finished, видеосервис — view_complete, мобильное приложение — module_done. Аналитик должен понимать, обозначают ли они одно действие или разные. Caliper Analytics решает похожую задачу через профили для оценивания, заданий, выставления оценок, сессий, чтения и других учебных сценариев. Даже без внедрения стандарта каждому действию можно задать одно согласованное название и определение.
Исправленный статус должен оставить след

Учебные данные меняются после первоначальной записи. Преподаватель исправляет отметку о присутствии, ученик пересдаёт тест, работа получает новую оценку после апелляции. Простая перезапись значения стирает историю: команда уже не объяснит, почему показатель за прошлую неделю изменился.
Храните исходное событие и отдельное исправление со ссылкой на него. В xAPI записи неизменяемы, а ошибочную запись помечают недействительной отдельным событием. В другом хранилище механизм может называться иначе, но каждое исправление должно оставаться в истории.
В LMS «Маяка» посещаемость связана с Контур.Толком. После занятия платформа получает статус ученика: присутствовал, отсутствовал или опоздал. Преподаватель может скорректировать отметку. Пропустивший урок ученик изучает материал и отправляет конспект преподавателю. После проверки занятие получает статус «восполнено», и пропуск перестаёт ухудшать текущую статистику.
BI должен получать текущее состояние и историю переходов. Первое показывает, что происходит сейчас, второе — как изменялся статус. Без второго слоя спор об отчёте превращается в поиск того, кто и когда переписал значение.
Среднее прохождение не показывает, кому нужна помощь
Средний процент удобен для общего контроля, но сглаживает разные траектории. Два потока могут дать одинаковое значение: в одном почти все ученики движутся ровно, в другом часть прошла курс полностью, а часть перестала заниматься на старте. Командам в этих потоках потребуются разные действия.
В LMS «Маяка» данные о посещаемости, домашних заданиях и пробных экзаменах собираются в отчёты. Отдельная выборка показывает учеников с риском отчисления, низкой вовлечённостью или риском провалить экзамен. Руководитель видит, где требуется внимание, преподаватель — работы, которые ещё не проверены. По одному набору событий руководитель получает общую сводку, а преподаватель — список работ, которые нужно проверить.
Каждый показатель свяжите с действием сотрудника: связаться с учеником, пересмотреть материал, проверить нагрузку преподавателя, сравнить потоки или уточнить правило расчёта. Без этого график не помогает принять решение.
Один отчёт — разные выборки для руководителя и преподавателя
Ролевой доступ часто проектируют после метрик: сначала строят дашборд, затем скрывают отдельные страницы. Этого мало. Разным сотрудникам нужны одинаковые показатели, но на разных уровнях детализации.
Руководителю продукта важна динамика по школе, курсам и потокам. Методисту — темы, задания и группы. Преподавателю — его ученики и работы. Сотруднику поддержки может понадобиться история конкретного пользователя без оценок других учащихся. Корпоративный клиент должен видеть только своих слушателей.
Права задают минимум на трёх уровнях:
какие показатели доступны роли;
по каким строкам разрешена выборка, например только свой поток или организация;
какие персональные поля можно открыть внутри записи.
Фильтр в интерфейсе не заменяет контроль на уровне данных. Полный набор строк, уже переданный браузеру, остаётся доступным через запросы и выгрузки. Ролевая модель должна работать в API и хранилище, а BI наследовать эти ограничения.
Минимальный контракт между LMS и BI помещается на одной странице
До разработки зафиксируйте короткий договор о данных между LMS и BI:
список событий и точное значение каждого названия;
обязательные поля, типы данных и общие идентификаторы;
правила повторной отправки, дедупликации и исправлений;
допустимую задержку между действием и появлением в отчёте;
владельца события в LMS и владельца метрики в BI;
роли, уровни детализации и правила выгрузки.
Отдельно задайте общие идентификаторы. Ученик в LMS, CRM, видеосервисе и платёжной системе должен связываться без сопоставления по имени или телефону. То же относится к курсу, группе, занятию и преподавателю. В спецификации Caliper Connector для внешних учебных инструментов отдельно подчёркнута связь активности в рамках одной логической сессии. Поэтому источник и сессия входят в событие наравне с действием.
Добавьте в договор контроль качества: долю событий без обязательных полей, дубли, задержку доставки и расхождение между итогом в LMS и витриной BI. Система мониторинга должна обнаружить расхождение раньше руководителя.
Один учебный контур — повод оставить аналитику внутри LMS
Внешняя BI-система нужна не каждой школе. Встроенных отчётов обычно достаточно, когда обучение идёт в одном продукте, определения показателей стабильны, ролей мало, а решения принимаются по текущему состоянию без сопоставления с продажами, платежами и поддержкой.
Выносить аналитику в отдельную BI-систему стоит, когда данные приходят из нескольких источников, меняются правила сегментации, нужны исторические срезы и разные уровни доступа. Ещё один признак — регулярные вопросы, на которые команда отвечает выгрузкой и склейкой таблиц.
Сначала решение, затем событие и только потом график
Средний процент скрывает отток, пока BI получает только итог по группе, а не события отдельных учеников. Выберите один управленческий вопрос, ошибка в котором влияет на удержание или учебный результат, например как заранее увидеть риск ухода. Зафиксируйте сигнал, события, формулу, роли и допустимую задержку. Затем соберите пилотный отчёт на одном курсе и проверьте, приводит ли он к конкретному действию команды.
Если такой отчёт сейчас собирается из LMS, видеосервиса, CRM и таблиц, приходите к нам с одним сценарием. Разберём решение сотрудника, сигнал, события и минимальный контракт данных.


