Аналитика онлайн курсов



История о том как понять, что поведение пользователей - одна из 7 загадок тысячелетия, а команда - не просто рандомные люди.



Я уже говорил, что последний месяц был в Сириусе, во время которого трудился над проектом "Метрики сложности образовательных курсов".



👉 Мы делали аналитический инструмент, что на вход получает информацию по курсу и пользователям, а на выходе выдает html с показателями, графиками и котиками.



💪 Нас было пятеро прогеров, под руководством аналитика из Сириус.Курсов мы проводили брифинги, писали "отчеты" о проделанной работе и делились опытом.



😅 Первое время мы втыкали в таблички и пытались понять их устройство/связь, начали придумывать гипотезы о "сложности" задачи/модуля/курса, задумались над архитектурой будущего приложения.



😎 В ходе реализации метрик звали коллег, чтобы те провалидировали код, дали комментарии. И это было круто! Когда ты лично объясняешь каждую строчку кода, гораздо легче увидеть свои косяки - спасало много раз.



⚡️Я забыл упомянуть ещё одного важно участника проекта - доску, я не знаю как бы мы жили без неё, все таки наскальные рисунки и в наше время мощный инструмент взаимодействия.



После первой предзащиты мы поняли одну важную вещь - мы не знаем как объяснить "сложность" в качестве понятия. Решили делить на 2 вида: та что полезная/естественная и та что "затык" (неправильные цифры, учебного материала недостаточно чтобы решить задачу). Искали второе.



😐 В какой-то момент перешли к валидации, ждали пока дадут результаты опросника на платформе, но в итоги не уложились в сроки.



😕 Ну что же, пришлось размечать самим, открывать каждую задачу, просматривать материалы, бр.. За все время собрали 534 задачи по инфе и матану и только единицы из них были сложными. Будем считать, что качество курсов высокое.



🙃 Собрав сет и проанализировав результаты метрик на данных, поняли ошеломляющую вещь - наши метрики описывают поведение пользователя, а не саму сложность.



👀 Ну ок, а почему вы не смотрели на текст задачи?



1️⃣ Он специфичный, так ещё в markdown, нейронки тупо не работали на таком домене, а учить не вариант, доступ мне не дали)



2️⃣ Много работы, скажем на условной лингвистике могли найтись иноязычные слова, которые руберт токсисити отмечал плохими)



3️⃣ Нашел инфу по индексам текста (о чем писал ранее), но оказалось что они частично описывали только возможность задавания вопроса.



🤷‍♀️ Ну ладно, вот у нас табличка с чиселками есть, давайте обучать катбуст. Но он не обучался, вот вообще, тут же переучивался, та же история с деревом, логрегом.



У нас тупо было слишком мало данных, связи с чем пришлось делать костыли, получили recall 0.5 и precision 0.1, не густо, но тоже неплохо.



Работа над проектом мне нравилась, но до определенного момента. На это повлияло отсутствие нормального отдыха, а также понимание того, что мои навыки как датасаентиста почти не нужны, там была аналитика.



Из этого я вынес урок: датасаентист не может заменить аналитика, это две разные и по своему сложные профессии.



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



И да, датасаентисов не бывает, это вымысел.