Большинство команд используют коробочные инструменты продуктовой аналитики для работы с данными о том, как люди взаимодействуют с продуктом. При этом ни одна система аналитики (даже такая универсальная, как Amplitude или Mixpanel) не сможет исчерпывающе ответить на все вопросы о продукте.

Более гибкий подход, способный дать больше инсайтов на потраченное время, состоит в том, чтобы обращаться к собираемым данным напрямую, через SQL-запросы. Это позволит в том числе выйти за пределы стандартных кейсов и задач, решаемых через инструменты построения графиков, однако потребует и определенных навыков, и понимания структуры хранящихся данных.

Владение SQL — обязательный навык для продуктового аналитика, но владение им может существенно повысить эффективность работы и продакт-менеджера, и других участников продуктовой команды. Иногда SQL явно включают в требования к соискателю позиции продакта, но чаще — в числе общих требований в области “data analysis skills”.

Иногда SQL явно включают в требования к соискателю позиции продакта, но чаще — в числе общих требований в области “data analysis skills”.

И все же многие продакт-менеджеры пока не владеют SQL. В день публикации этого материала мы провели опрос в телеграм-канале. По его итогам видно, что 26% респондентов работают продакт-менеджерами, при этом владеют SQL лишь на базовом уровне. 19% продактов не владеют SQL совсем.

Владеете ли вы SQL. Опрос GoPractice

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

  • Аналитик далеко не всегда погружен в бизнес-контекст. Продакт далеко не всегда может корректно сформулировать то, что и зачем он хочет узнать. Могут быть и другие факторы, влияющие на качество постановки и выполнения задачи. Так или иначе, результаты могут оказаться не слишком полезными, если один плохо объяснил, а другой — плохо понял.
  • Даже при условии эффективной коммуникации между продактом и аналитиком, может возникнуть ситуация, в которой потенциальные ценные находки, всплывающие по ходу выполнения задачи, останутся незамеченными. Перегруженный другими запросами аналитик будет скорее прямолинейно решать очередную поставленную задачу, чем проявлять исследовательский интерес.
  • Ответы аналитика придется подолгу ждать из-за большой загрузки аналитики рутинными задачами. К тому же дополнительная нагрузка тормозит выполнение основных задач аналитиком. Наконец, когда на основе полученных ответов (почти неизбежно) возникнут новые вопросы — придется ставить подзадачу и снова погружать аналитика в контекст.

Список потенциальных проблем, возникающих из-за ограниченной способности продакт-менеджера самостоятельно обращаться к данным, не исчерпывается перечисленными выше. Это лишь лежащие на поверхности примеры.

В этом материале обсудим то, как владение SQL может помочь продактам повысить свою эффективность (а заодно и дать шанс аналитикам заниматься своей работой, а не чужой).

  • Насколько SQL нужен продактам и для решения каких задач? (#)
  • Какие уровни владения SQL можно выделить? (#)
  • Кому еще в продуктовой команде полезно владеть SQL, кроме аналитика и продакта? (#)

GoPractice благодарит экспертов, которые поделились своим опытом для этого материала:

  • Анастасия Присяжная — Product Owner, Digital Health.
  • Валерия Плотникова — руководитель отдела развития мобильных приложений Home Credit Bank.
  • Максим Адамов — Senior Product Manager, Exness.
  • Александр Зеленский — Product Manager, Womanly Corp.

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

→ «Симулятор SQL для продуктовой аналитики» поможет освоить SQL и применять его для решения продуктовых и маркетинговых задач.

→ «Симулятор управления продуктом на основе данных» поможет научиться принимать решения с помощью данных и исследований при создании продукта.

→ «Симулятор управления ростом продукта» поможет найти пути управляемого роста и масштабирования продукта. Вы построите модель роста и составите стратегию развития продукта.

→ Не знаете с чего начать? Пройдите бесплатный тест для оценки навыков управления продуктом. Вы определите свои сильные стороны и слепые зоны, получите план профессионального развития.

→ Еще больше ценных материалов и инсайтов — в телеграм-канале GoPractice.

Насколько SQL нужен продактам и для решения каких задач? 

Валерия Плотникова

Для продакта SQL дает возможность глубоко разбираться и участвовать в формировании и развитии важных продуктовых метрик и понимать их связь с метриками бизнесовыми. Эти знания помогают себя чувствовать уверенно при расчетах юнит-экономики и не собирать лишнего.

Чтение таблиц, понимание типов собираемых данных, разбор этих данных — все это позволит определить полезные метрики для конкретного продукта, а не «притягивать за уши» к популярным, но бесполезным метрикам. 

В своей работе не могу полагаться только на популярные системы аналитики, поскольку не всегда есть возможность проверить правильность разметки событий в продукте «по наследству», и не все данные можно в них собирать и трекать. Для понимания воронок это полезно, а вот чтобы иметь возможность копаться глубже, лучше иметь свою БД. 

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

Для работы с этими данными я использовала SQL. 

Александр Зеленский

Продакт-менеджер должен быть погружен в структуру данных. Так он сможет быстрее выполнять рутинные задачи и не прибегать к помощи аналитиков. Это значительно сокращает Time to value в его работе. К тому же обращаться к аналитикам по каждому мелкому запросу — не очень этично. У них может быть свой пул более важных для продукта задач.

Я использовал SQL для самых частотных задач: подсчитать Retention по когортам, ARPU на день N, воронки, активации в сценарии, DAU/MAU. Очень частотная задача — пойти и пообщаться с пользователями из определенных сегментов. Чтобы подобрать их по заданным параметрам, надо выгрузить их через SQL-запросы.

Я бы сказал, что SQL — ежедневная потребность. Вы обращаетесь к нему, когда нужно придумать какую-то фичу, провалидировать гипотезу, найти точки роста и так далее.

Максим Адамов

Если в команде нет аналитика, то для продакта это обязательный скилл в 99% продуктов и команд.

Есть две категории задач, которые продакт-менеджер может решать с помощью SQL самостоятельно.

Первая — это ad hoc задачи, то есть когда нужно что-то быстро посмотреть и проверить. Например, у нас постоянно возникают какие-то гипотезы, которые можно быстро провалидировать, используя SQL. Сколько в среднем инвесторов в одном фонде, как они торгуют, что используют и так далее. Иногда получается это сделать во время встречи, не откладывая решение надолго. У нас в команде нет выделенного аналитика, поэтому все такие простые вещи я делаю сам.

Вторая категория — более трудоемкие, но не регулярные задачи. Например, построить дашборды, чтобы регулярно отслеживать динамику какой-либо метрики и так далее. Например, как только мы определили NSM для нашего продукта, я собрал дашборд, чтобы команда могла отслеживать динамику.

Какие уровни владения SQL можно выделить?

Александр Зеленский

На мой взгляд, первый уровень знания SQL — это владение функцией GROUP BY. Вы можете сегментировать свои запросы, сегментировать своих пользователей. Даже такой начальный уровень уже позволяет делать более качественные выводы из данных, которые будут отражаться на принимаемых решениях в продуктах.

Переход к условному middle — понимание, как работает JOIN: INNER JOIN, OUTER JOIN. Еще один маркер — умение визуализировать процесс построения желаемой таблицы, чтобы было понимание, как с меньшим количеством JOIN получить таблицу с искомыми данными.

Когда вы уже достигли высшего пилотажа, то понимаете, как оптимизировать запросы. Именно efficiency, то есть выполнение задачи с наименьшими ресурсами, является, на мой взгляд, ключевым маркером владения SQL на уровне senior.

Валерия Плотникова

Знания уровня junior — базовое понимание, как строить SELECT-запросы, как извлечь максимум пользы из таблиц с данными, не дожидаясь вечно занятых аналитиков. Объем «Симулятора SQL» в целом покрывает все эти базовые потребности, и их чаще всего достаточно для продакт-менеджера. 

Middle-уровень, думаю, это работа уже не просто с SELECT, а уверенный навык делать записи в таблицы и ничего не сломать, писать простенькие скрипты, уметь перестраиваться на синтаксис других СУБД.

Middle+ — это, наверное, когда вы спокойно можете идти работать аналитиком.

Максим Адамов

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

Чуть более сложный уровень — когда всех данных нет в одном месте, они разбросаны по разным таблицам, и нужно сделать запрос с определенным условиями. Скажем, вы хотите сделать выборку только тех новых пользователей, которые купили на сумму больше, чем Х денег и зарегистрировались в период Y. 

Следующий уровень — использование функций и подзапросов. Например, для подсчета Retention часто требуется несколько подзапросов. Или когда нужно посчитать распределение данных, сделать сводную таблицу и так далее.

Дальше уже начинается дата-анализ, моделирование и прочее, что для продакта не так актуально и полезно при ежедневной работе над продуктом.

Анастасия Присяжная

Я бы выделила четыре уровня:

  • Для выгрузок. Делаешь SELECT, один JOIN и фильтруешь через WHERE. 
  • Для базовой аналитики. Несколько JOIN в запросе (важно: без ошибок в видах JOIN), используешь подзапросы, функцию CASE и агрегаторы.
  • Использование CTE и оконных функций. Этого достаточно для того, чтобы ответить практически на любой вопрос с помощью SQL.
  • Создание новых таблиц и изменение существующих, проработка структуры базы.

Кому еще в продуктовой команде полезно владеть SQL, кроме аналитика и продакта?

Александр Зеленский

Я бы сказал так: SQL нужен любому человеку, который принимает решения и который хочет перейти от субъективного знания к объективному. Например, маркетологу, User Acquisition менеджеру. В командах с широкой зоной ответственности — еще и руководителям команд. Во всех этих случаях вам нужны данные для принятия решений, поэтому вам нужен SQL.

Анастасия Присяжная

SQL полезно знать маркетологам и UX-исследователям. Им достаточно знать на базовом уровне.

Отдельно добавлю, что если есть возможность использовать Tableau и другие дашборд-инструменты, обязательно комбинируйте их с SQL для визуализации результата. Не нужно пытаться искать финальные ответы на вопросы на основе только SQL-запросов, но важно и визуализировать с помощью дашбордов, хотя бы в Google Sheets.

Максим Адамов

Я считаю, что для остальных членов продуктовой команды, владение SQL — это менее важный навык. Он может быть полезен в рамках развития T-shape компетенций.


Мы будем рады, если вы поделитесь с нами своими размышлениями по теме работы с SQL на позиции продакт-менеджера или в продуктовой команде. Пишите нам на dima@gopractice.io.