Отто · операционный директор доставки «Гонец»
С 1 по 7 июня заказов на 11% меньше, чем неделей раньше. Совет хочет знать, что сломалось. И ещё: мы хотим показывать клиенту курьера на карте. Как потом понять, что это помогло?
Отто задал два вопроса, которые на собеседовании продуктового аналитика задают почти дословно. «Метрика упала, что будешь делать?», «Как оценить фичу, если A/B-теста не было?», «Какую метрику выбрать для новой фичи?». Готового SQL тут нет. Проверяют, как ты думаешь: по порядку или куда глаза глядят.
Все нужные инструменты у тебя уже есть: дерево метрик, факторный разбор, группировки и ROLLUP. Сегодня собираем из них план, который работает и на собеседовании, и в понедельник утром.
Врач в приёмном покое
Человек жалуется на боль в груди. Хороший врач не начинает с редкой болезни из учебника. Сначала он проверяет, что прибор не врёт: давление померили правильно, градусник исправен. Потом спрашивает про внешнее: что ел, не было ли травмы. И только потом идёт по органам, от частого к редкому.
Падение метрики разбирают так же, в три круга:
- Данные и трекинг. Правда ли метрика упала, или сломался её подсчёт.
- Внешние факторы. Календарь, погода, праздники, конкуренты, маркетинг.
- Сегменты. Где упало: платформа, страна, версия приложения, канал привлечения, новые и старые пользователи.
А перед первым кругом стоит нулевой шаг: уточнить вопрос. Какая метрика, с чем сравниваем, и насколько такое падение вообще необычно.
Кейс 1. Минус 11%
Шаг 0. Необычно ли это
Отто сравнивает 2266 заказов с 1 по 7 июня с 2547 неделей раньше: минус 11,0%. Звучит тревожно. Посмотрим, как обычно меняются заказы неделя к неделе. За весну и лето в базе 16 сравнений полных недель, и в шести из них изменение было больше 10% в ту или другую сторону, от минус 12,2% до плюс 12,6%.
Значит, минус 11% для «Гонца» это обычная неделя, а не авария. Разбор всё равно нужен: совет ждёт ответа. Но тон ответа уже другой.
Шаг 1. Данные
Прежде чем искать причину, убедись, что падение есть.
- Обе недели полные: в каждой семь дней с заказами, последний заказ в базе 30 июня в 22:57, то есть 7 июня не обрезано выгрузкой.
- Доля отменённых почти не изменилась: 5,0% и 4,6%. Если бы отмены подскочили, мы бы увидели проблему в приложении, а не в спросе.
- Считаем все созданные заказы в обе недели одинаково, по местному
created_at.
Если бы падение пришлось на день выхода новой версии приложения, первым подозреваемым был бы трекинг: события перестали отправляться, а заказы идут как шли. Как такое ловить, разобрано в уроке про план трекинга.
Шаг 2. Внешние факторы
Внешнее проверяют до сегментов, потому что оно дешёвое: календарь, погода, маркетинг, конкуренты. Календарь здесь ровный: в каждой неделе по семь дней, по одной пятнице и одной субботе, праздников нет. Акций у «Гонца» в базе нет.
Остаётся погода. С апреля по июнь будний ясный день даёт в среднем 306,9 заказа, а будний дождливый 341,2, на 11% больше: в дождь люди не хотят идти в магазин. Неделя с 25 по 31 мая была дождливой четыре дня из семи, неделя с 1 по 7 июня ни одного. Сильная гипотеза. Во втором квесте ты сравнишь ясные дни обеих недель между собой и проверишь её до конца.
Шаг 3. Сегменты: широко или узко
Если внешняя причина верна, она бьёт по всем сегментам сразу. Это и проверяет разрез. Правило:
- падение сосредоточено в одном сегменте (одна зона, одна платформа, одна версия): причина локальная, ищи, что поменялось в нём;
- падение размазано почти по всем сегментам примерно поровну: причина общая для всех, и внешняя гипотеза остаётся в силе.
Разрежем по зонам, по части дня и по тому, новый ли это клиент. Новым считаем заказ, который у клиента первый за всю историю.
разрез | 25-31 мая | 1-7 июня | изменение
------------------+-----------+----------+-----------
зоны | падение в 9 из 12, от −6% до −20%; в трёх +1-3%
до 17:00 | 1233 | 1119 | −9,2%
после 17:00 | 1314 | 1147 | −12,7%
старые клиенты | 1790 | 1605 | −10,3%
новые клиенты | 757 | 661 | −12,7%
Картина одна и та же в каждом разрезе: падает всё и почти одинаково. Самый большой вклад у Центра, минус 82 заказа из 281, но и заказов там больше всех, так что в процентах это обычные минус 17%. Это ты посчитаешь сам в первом квесте.
В игре вроде «Хроник» в этом месте был бы ещё разрез по платформе и по версии приложения: релиз на одной платформе даёт падение ровно на ней. У «Гонца» приложения в данных нет, и разрез по зоне играет ту же роль.
Дерево метрик в голове
Если бы сегменты и внешние факторы ничего не дали, следующий шаг это дерево метрик. Заказы = активные клиенты × заказы на клиента. Упало число клиентов или они стали реже заказывать? Если клиентов меньше, то новых или старых? Каждый узел дерева это гипотеза, которую проверяет один запрос. Так список «20 возможных причин» превращается в путь из трёх-четырёх шагов.
урок из курса
Урок из курса «Аналитика данных с нуля». Курс покупается один раз и остаётся навсегда: 500 ₽.
Оплата пока не подключена: премиум и курсы открываются промокодом.