Перейти к содержанию

·Observability

Продукту — реальное поведение, а не клики

Счётчик кликов говорит, что кнопку нажали. Он не говорит, что перед этим страница думала четыре секунды и половина людей ушла до того, как она ответила.

Продуктовая аналитика обычно устроена вокруг событий: нажали кнопку, открыли экран, дошли до шага. Из событий строится воронка, в воронке видно, где теряются люди.

Чего в ней не видно — почему. Событие «не нажал кнопку» не отправляется.

Что пропускает событийная аналитика

Ожидание. Между открытием экрана и появлением кнопки может пройти четыре секунды. Пользователь, ушедший в эти четыре секунды, в воронке выглядит как человек, которому не подошло предложение.

Ошибки, не видимые пользователю как ошибки. Запрос не выполнился, интерфейс остался в прежнем состоянии, человек нажал ещё раз, потом ушёл. В событиях это два клика и выход.

Разницу между устройствами и сетями. Сценарий, который на быстром ноутбуке проходится за секунду, на среднем телефоне в плохой сети может не проходиться вовсе.

Что даёт соединение двух картин

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

Соединённое с воронкой, это меняет вывод. Провал на шаге может оказаться не продуктовым, а инженерным — и тогда правильное действие не в переписывании текста на кнопке.

Обратное тоже случается: шаг быстрый и без ошибок, а люди уходят. Тогда это действительно продукт, и теперь это знание, а не предположение.

Почему для этого нужны свои данные

Потому что соединять надо на уровне сессии, а не сравнивать две панели глазами.

Когда продуктовые события лежат в одном сервисе, а метрики загрузки в другом, соединения не происходит. Формально данные есть, практически вопрос «была ли у ушедших хуже отзывчивость» остаётся без ответа, потому что нет способа сопоставить.

Свой стек снимает это ограничение: оба потока приходят в одно хранилище, и запрос по обоим — обычный запрос.

Что при этом стоит не собирать

Всё, что позволяет опознать человека, если для ответов на ваши вопросы это не требуется.

Соблазн собрать больше велик, особенно когда данные свои и лимитов нет. Но собранное придётся хранить, защищать и объяснять — а вопрос «была ли у ушедших хуже отзывчивость» отвечается на агрегатах без идентификаторов.

Правило простое: сначала вопрос, потом данные под него. Обратный порядок даёт хранилище, полное данных, на которых никто ничего не считает.

Что это меняет в разговоре между продуктом и разработкой

Появляется общий предмет. Спор «у нас медленно» против «у нас нормально» превращается в один график с распределением по процентилям, где видно, у какой доли пользователей и насколько.

Это скучнее, чем спор, и заметно короче.