В курсе мы не раз решали задачи с помощью каждого типа диаграмм. Эти задачи помогли нам попрактиковаться, но в реальных рабочих процессах аналитика работает немного по-другому.
Чтобы решить рабочую задачу, аналитику часто приходится строить несколько диаграмм разного типа. Так он может увидеть всю картину и под разным углом посмотреть на данные. Одни диаграммы помогают ему сформировать гипотезы, а другие — протестировать их.
В этом уроке мы разберем аналитическую задачу, для решения которой необходимо построить сразу несколько диаграмм.
Знакомимся с задачей
Представим, что мы работаем в компании, которая разрабатывает Аманду — голосового помощника. Аманда обрабатывает запросы от пользователей и выдает им нужную музыку, видео, текст и картинки.
Сейчас команда обучает Аманду выдавать релевантный контент для пользователя — то есть обрабатывать запрос «фото кота» и выдавать именно кота, а не собаку или другое животное. Чтобы Аманда работала лучше, необходимо выявлять ошибки и дообучать алгоритмы на них.
Один из способов выявлять ошибки — это размечивать их. Компания наняла исполнителей, которые каждый день выполняют задания на тестирование Аманды и оценивают релевантность ее ответов на определенные запросы. С помощью разметчиков компания получает около 100 оценок ежедневно, что позволяет стабильно обучать алгоритм.
Недавно возникла проблема — в компании заметили, что скорость разметки упала. Нам нужно проанализировать, почему упала скорость разметки.
Чтобы мы могли решить эту задачу, компания выгрузила таблицу данных по разметке за последние семь дней. Вот так она выглядит:
В этой таблице есть такие столбцы:
date
— в какой день разметчик выполнил заданиеtask_type
— какой тип задания выполнил разметчик (допустимые значения:video
,music
,picture
,text
)timestamp
— за сколько минут выполнено заданиеworker_id
— идентификатор исполнителя
Решаем задачу
Для начала нужно признать, что для решения этой задачи может не хватить данных. Например, мы не знаем, стабильно ли работала платформа с заданиями. Если с ней были какие-то технические проблемы, скорость разметки могла упасть именно из-за них.
Наша задача — изучить имеющиеся данные и приблизиться к решению задачи: сделать какие-то полезные выводы, сформировать и протестировать несколько гипотез на основе имеющихся данных.
Шаг 1. Для начала проверим, действительно ли исполнители стали выполнять меньше заданий. Для этого построим график по количеству выполненных заданий в сутки:
По графику видно, что:
- Скорость разметки действительно упала, причем почти в два раза
- Это началось с 5 марта 2022 года
Шаг 2. Попробуем сформировать первую гипотезу. Судя по всему, 5 марта 2022 года произошло какое-то событие, которое повлияло на скорость разметки.
Возможно, в этот день были технические проблемы на платформе, но у нас нет данных об этом. При этом у нас есть информация об исполнителях, заданиях и времени на выполнение задания. Эти факторы тоже могли повлиять, поэтому изучим их подробнее.
Шаг 3. Начнем с исполнителей. Что могло произойти с исполнителями, что скорость разметки снизилась?
Например, исполнителей могло стать меньше. Чтобы проверить эту гипотезу, построим график или столбчатую диаграмму с количеством уникальных исполнителей в день:
По диаграмме видно, что количество исполнителей стабильно. Значит, дело не в этом. Гипотеза не подтвердилась.
Шаг 4. Перейдем к следующему фактору и выдвинем еще одну гипотезу.
Может быть, выросли временные затраты исполнителя на задание? Это могло повлиять на количество выполненных заданий в сутки. Построим график средних временных затрат на задание, чтобы проверить эту гипотезу:
Здесь видно, что с 5 марта 2022 года среднее время выполнения заданий сильно выросло. Это совпадает с датой, когда скорость разметки начала падать. Теперь нужно разобраться, почему задание стали выполняться дольше.
Шаг 5. На предыдущих этапах мы выдвинули и подтвердили такую гипотезу: количество выполненных заданий упало, потому что с 5 марта 2022 года исполнители стали тратить больше времени на каждое отдельное задание. Исследуем подтвердившуюся гипотезу и поищем ее причину.
В наших данных есть информация о типах заданий. Может, именно этот фактор как-то повлиял на скорость разметки?
Чтобы проверить это, нам нужны данные и в динамике, и в структуре. Визуализировать информацию таким образом помогают столбчатые диаграммы. Построим нормированную столбчатую диаграмму, чтобы посмотреть, изменилось ли соотношение типов заданий за последнее время:
Видно, что с 5 марта резко выросло количество заданий, связанных с видео. Скорее всего, такие задания отнимают больше времени у исполнителя — нельзя оценить релевантность видео, не досмотрев его до конца.
Теперь мы знаем, почему количество выполненных заданий упало — с 5 марта исполнителям попадалась больше заданий на видео, которые требуют больше времени и снижают скорость.
Далее можно прийти с этими выводами к бизнесу, изложить свои гипотезы и в случае их неподтверждения, запросить больше данных и проводить более обширный анализ. Например, можно запросить информацию о том, сколько времени уходит на задания разного типа. Там мы проверим, действительно ли задания с видео выполнять дольше, чем другие.
Выводы
В этом уроке мы разобрали аналитическую задачу бизнеса, для исследования которой нам потребовалось построить несколько диаграмм. Отразим ключевые моменты урока:
- Разные диаграммы позволяют взглянуть на данные под разным углом. На основе одних диаграмм можно сформировать гипотезы, на основе других — подтверждение или опровержение этих гипотез
- Вполне может быть, что для решения задачи у вас не будет всей необходимой информации
- Имеющиеся данные стоит исследовать вдоль и поперек, чтобы приблизиться к пониманию проблемы и понять, какие еще данные стоит запросить
- Не забывайте, как соотносятся типы диаграмм и гипотезы. Например, график показывает только динамику, а столбчатая диаграмма — динамику и структуру вместе
Самостоятельная работа
Скопируйте датасет и повторите все шаги из из урока
Дополнительные материалы
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
- Статья «Как учиться и справляться с негативными мыслями»
- Статья «Ловушки обучения»
- Статья «Сложные простые задачи по программированию»
- Вебинар «Как самостоятельно учиться»
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.