Когортный анализ показывает картину, совершенно отличную от нашего привычного восприятия

Habrahabr

Позвольте мне перенести Вас на некоторое время назад. Представьте, что Вы стоите вместо со мной у одной из досок и пытаетесь объяснить коллегам Вашу новую концепцию метрик. Если сказать про мои чувства в тот момент — это было отчаяние. Я со всей отчётливостью понимал, что к сожалению, мои слова не смогли дойти до собеседников. Никто из участников встречи совершенно не воспринял ни одной моей мысли. Они мне не верили.

Не верили не потому, что я не логично изложил суть или сказал что-то глупое. Нет. С этой точки зрения всё было хорошо. “То, что ты предлагаешь — это действительно интересно и инновационно, но… давай-ка мы все-таки сделаем всё по-старому”. Как же обидно было это слышать.

Я разрабатывал систему метрик, ориентировать на которые должны были несколько тысяч человек. Представьте, что Вы совершенно чётко осознаете, что люди вокруг вас упорно и настойчиво, всеми своими силами стремятся упасть в глубочайшую яму, цена падения в которую невероятно высока. Вы просто не имеете права допустить, чтобы это произошло, понимаете? Просто не имеете права!

Но в тот момент я как собачка смотрел преданными глазами на коллег и ничего не мог сказать. Знаете, есть несколько выдающихся человек в мире, которые мне очень нравятся. И один из них — Илон Маск. После очередного неудачного запуска ракеты Фалькон в его компании царило полное уныние. Несмотря на то, что день был очень тяжелым, несмотря на 20 часов, проведенных на ногах и постигший его удар, Маск выступил перед компанией, поддержал сотрудников и завершил свою речь словами: “Сам я никогда не сдамся. Никогда!”

Слова Маска тогда сами собой всплыли у меня в голове: “Я не сдамся!”. Лихорадочные мысли упорядочились в понимание того, что мои собеседники просто не видели различий, не видели подтверждения моих теоретических раскладок. Может быть они им даже верили, но не хотели тратить деньги компании на разработку того, что “скорее всего не сработает”. Т.е. мне надо было показать реальные отличия когортного представления метрик от обычного — показать в чём засада обычных “слащавых” метрик и в чём когорты их бьют.

Но как это сделать, если никаких данных нет, необходимые метрики еще никем не собираются и никакого инструментария к ним тоже нет и в помине? Как быть? Единственный способ, с помощью которого можно было показать хоть что-то — смоделировать всё в обычном Excel.

Глаза боятся, а руки делают. Ровно через 4 часа был готов демонстрационный набор данных и визуализация к нему, показывающая коренное различие обычного и когортного представления метрик. Честно говоря, результаты потрясли даже меня самого.

Для чего мы используем метрики? Чтобы сократить time-to-market — время прохождения командами всей цепочки разработки программного продукта.

В качестве примера в демонстрационном наборе данных анализировалось время успешного прохождения командой стенда развёртывания DevOps (проверки дистрибутивов на корректность).

Задача — понять, сколько времени команды тратят на прохождение стенда и улучшаются ли их показатели. Вот что представляли из себя данные (созданы с помощью сервиса www.generatedata.com ):

image

Первое, что приходит на ум — посмотреть как команды проходят стенд.

По оси X — месяц, начиная с 01.01.2017. По оси Y — количество команд, прошедших стенд.

image

Даже беглый анализ показывает, что такого рода график совершенно бесполезен, потому что не отражает объективной картины — одна и та же команда делает множество сборок и проходит стенд несколько раз в год и это никак на графике не видно.

Да и вообще, непонятно как анализировать такой график и что обозначают все эти росты и падения. Одним словом, обычная бесполезная метрика наподобие посещаемости сайта.

Ок. Попробуем посчитать среднюю длительность прохождения стенда командами:

image

“Какой хороший график!” — воскликнул мой собеседник увидев эту картинку на экране.

— Всё понятно: команда Finance — самая лучшая, а Tech Support — худшая. Среднее время время прохождения стенда — 3 месяца. Красота! Мы устроим соревнование и будем давать премию за сокращение срока прохождения стенда

— Ээээ…. Постойте-постойте. Тут явно что-то не так…

— Да что может быть не так? Всё супер! То, что нужно

И именно тут когортный анализ проявил себя во всей красе. Типичный вид таблицы, предоставляющей время прохождения стенда по когортам:

image

Уверен, что Вы тоже не поверили бы такой таблице. Но несмотря на кажущуюся непонятность, таблица открывает настоящую новую вселенную метрик и показывает картину в совершенно ином свете. Оказывается, что самая “худшая” команда, Tech Support, на самом деле чуть ли не самый крутой передовик, сокративший время прохождения стенда более, чем на 100%:

image

Разве можно за это наказывать? Да за это награждать надо!

Твёрдый середнячок Accounting на самом деле работает из рук вон плохо, постоянно ухудшая свои результаты:

А самая «лучшая» команда Finance и вовсе настолько сильно увеличила время, что значение первого столбца не видно за сильно увеличившимся вторым:

Но ведь это полностью меняет всю картину! Понимаете?! Полностью! Всё становится ровно наоборот, шиворот-навыворот. Вот, оказывается, где скрывается та самая засада.

Как видите, “среднее по больнице” отражает совершенно неверную искажённую картину мира, которая в принципе не может быть использована для принятия управленческих решений. Принципиально не может. А вот когорты, наоборот, дают нужный ответ — улучшаются или ухудшаются показатели конкретных команд и на сколько.

Да, может быть они и не отвечают на вопрос, кто лучший, но вот надо ли это знать вообще?..

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

Присоединяйтесь вместе со мной к команде приверженцев когортного анализа! И успехов в работе.

P.S.: Было приятно видеть отвисшие челюсти собеседников при повторном показе.