Проект «Кинжала»: объективные данные о вашей продуктивности

Проект «Кинжала»: объективные данные о вашей продуктивности

work-hard

Вот вам проект: ставим на комп специальную программу, которая будет следить за тем, на что вы отвлекаетесь от работы. И потом рисуем красивый график, чтобы увидеть это и сильно удивиться. 

График будет примерно такой. Его можно будет настроить по вкусу:

Проект «Кинжала»: объективные данные о вашей продуктивности

Идея и предыстория

Рассказывает Максим Ильяхов, главред «Кинжала».

У меня однажды на целый час отключился интернет. И за этот час я переделал больше дел, чем за весь следующий день. Оказалось, что причина бешеной продуктивности — отсутствие Ютуба и активного Телеграма. 

Дальше у меня возникли вопросы:

  • Есть ли связь между тем, как часто я отвлекаюсь на Ютуб, и временем суток?
  • А с днём недели? 
  • Когда у меня самые продуктивные часы? 
  • Сколько я реально провожу времени за работой, а сколько отвлекаюсь?

Что-то из этого можно посмотреть в программе RescueTime, но непонятно, как за неё сейчас платить. Ну и хотелось своё, чтобы можно было как угодно настроить и докрутить. 

Я пошёл в «Практикум» за помощью. Меня познакомили с экспертом курса «Визуализация данных и введение в BI-инструменты» Таней Цвировой. Она написала код, который превращает сырые данные в полезную визуализацию. Сейчас я вам покажу, как этим пользоваться.  

Зачем это? 

Три цели: 

  1. Стать продуктивнее.
  2. Ощутить кайф визуализации собственных данных.
  3. Лишний раз прорекламировать вам курсы про анализ данных и визуализацию.

Про рекламу курсов серьёзно: «Кинжал» существует благодаря людям, которые учатся в «Практикуме». Если тема визуализации и анализа вам интересна, посмотрите на эти курсы.

Видео для наглядности

Если не хотите читать статью, вот видеоинструкция. Приключение на 20 минут, русское, с разговорами: 

Общий план

Вот общий план того, что надо сделать:

  1. Установите программу ActivityWatch.
  2. Дайте ей поработать несколько дней или недель. Она будет собирать данные.
  3. Экспортируйте сырые данные из ActivityWatch в формате CSV.
  4. Заходите в «Гугл-колаб»: https://colab.research.google.com
  5. Импортируйте ваш файлик csv.
  6. Прогоните части кода про библиотеки и анализ исходного файла.
  7. В середине кода настройте названия приложений, которые вы считаете рабочими и нерабочими; укажите, что будет какого цвета.
  8. Прогоните остальной код и получите визуализацию.
  9. Если что-то получилось коряво, возвращаетесь на предыдущие шаги в коде и выполняете их заново.

Установка ActivityWatch и встроенные средства визуализации

ActivityWatch — это простой открытый тайм-трекер. Скачивается тут: https://activitywatch.net/. Программа сидит в фоне и собирает статистику, что у вас открыто, какие вкладки на переднем плане и сколько времени вы проводите за компьютером. 

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

Проект «Кинжала»: объективные данные о вашей продуктивности
Наверное, это можно глубоко настроить и получить более полезную разбивку. Но неохота

Экспорт сырых данных для визуализации

Мы выгрузим сырые данные из ActivityWatch в формате CSV. Это делается на экране Raw Data (кнопка вверху справа). Из того, что там представлено, нам нужна только первая строка с ключевыми словами watcher-window:

Проект «Кинжала»: объективные данные о вашей продуктивности

Получившийся файлик сохраните с каким-то простым названием, чтобы потом не путаться. У меня так:

Проект «Кинжала»: объективные данные о вашей продуктивности

«Гугл-колаб»: проверяем, что всё работает

Дальше нужно зайти в Google Colab, который нам написала Таня из Практикума. Colab — это среда разработки, которую можно использовать прямо в браузере. Сейчас мы будем исполнять в колабе код на языке Python — на нём пишут программы для анализа данных, визуализации, нейросетей и много другого. 

Когда зайдёте в Colab, найдите слева вкладку «Файлы» и загрузите туда свой csv-файлик.

Теперь нужно по очереди запустить ячейки с кодом, который делает разные вещи. Что именно он делает — написано зелёненьким. Чтобы запустить кусок кода, жмите на треугольный значок Run.

Проект «Кинжала»: объективные данные о вашей продуктивности

На очередном этапе вам нужно будет ввести название своего csv-файлика. Вводите и запускайте:

Проект «Кинжала»: объективные данные о вашей продуктивности

Теперь запустите все остальные ячейки, чтобы получить хоть какую-то визуализацию в конце. Так мы убедимся, что всё работает.

Настройка визуализации

Мы проверили, что всё работает. Теперь настроим, чтобы визуализация была нам полезной. Для этого:

  1. Найдите ячейку «Функция для категоризации приложений». Проверьте, что там в нужные категории записаны ваши рабочие и развлекательные программы. Если нужно, скопируйте нужные программы из списка сразу над этой ячейкой. 
  2. То же самое с ячейкой «Функция для категоризации заголовков браузера». Проверьте, чтобы YouTube был написан с заглавными буквами. Названия вкладок разделяйте вертикальной чертой |, как в примере
  3. В разделе «Задаём цвета для категорий» распишите, что каким цветом красить

Когда всё вписали, заново выполните все ячейки. Если что-то сломалось, откатите изменения. В результате ваша визуализация станет более полезной за счёт детализации и цветового кодирования.

Если захотите вывести не только числа месяца, но и дни недели, замените одну строку и выполните код заново.

Было: число и месяц. data['yticks'] = pd.to_datetime(data['timestamp']).apply(lambda x: (f'{x.day} {x.month_name()}'))

Стало: число, месяц и день недели. data['yticks'] = pd.to_datetime(data['timestamp']).apply(lambda x: (f'{x.day} {x.strftime("%B")} {x.strftime("%A")}'))

Как на это смотреть

В своём случае я хотел узнать, где у меня больше всего Ютуба, на который я отвлекаюсь. Это у меня выводится красным. Видно, что самые обширные красные области у меня по вечерам, а самое продуктивное время — по утрам. 

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

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

По-хорошему нужно набрать побольше данных — например за месяц-полтора. И это должны быть данные со всех рабочих компьютеров, собранные в одном файле.

Про обучение, работу и карьеру в этой сфере

Вообще это дико интересно — как из сырых данных можно получать знания и делать выводы. Это нужный навык для компаний и хорошая карьера, если вас зажигает магия визуализаций. Посмотрите вот эти курсы: 

  • Основы анализа на Python — полностью бесплатный навыковый курс для тех, кто хочет попробовать Python с нуля.
  • Аналитик данных — длинный курс, профессия с нуля, старт бесплатно, помощь в трудоустройстве
  • Визуализация данных — короткий навыковый курс, тоже с нуля, старт бесплатно, потом карьерный центр.

В «Практикум» нужно идти за четырьмя вещами: тренажёрами, практикой, наставниками и сообществом. 

Тренажёры — это интерактивные песочницы типа «Гугл-колаб»: там можно сразу писать код и видеть результат.

Практика — это вы выполняете задания, а не только смотрите лекции. Лекций в «Практикуме» нет вообще, есть только интерактивные объяснения.

Наставники помогают преодолеть сложности: когда общаешься с живым человеком, это намного эффективнее, чем просто сидение перед экраном.

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

У всех платных курсов есть бесплатный старт, чтобы понять, ваше это или нет. И есть прямо конкретно бесплатные курсы. Инджой.

А сколько получают аналитики и датавизы — вы и так знаете.

arrow-scrollTop arrow-scrollTop
bblock-icon
«Кинжал» — это журнал «Яндекс Практикума»

А «Практикум» — это центр цифровых профессий. Сюда люди приходят без опыта в мире ИТ, а выходят готовыми ИТ-специалистами: от программистов и тестировщиков до дизайнеров и менеджеров.

В ИТ могут работать и технари, и гуманитарии. Старт — бесплатно. Выбирайте, какая профессия вам по душе.

Начать бесплатно
«Кинжал» — это журнал «Яндекс Практикума»
Еще по теме: