Серия «Аналитика FM»

Главное, чтобы работало ...

Серия Аналитика FM

Или зачем вообще нужен код-стайл в SQL?

Очень часто можно услышать:

Какая разница, как написан SQL код? Главное, чтобы запрос работал.

И формально это правда.
Если запрос возвращает правильные данные - задача вроде бы решена.

Об этом порассуждаем чуть ниже, а пока....

Главное, чтобы работало ...

Подписывайся, если интересно как устроен мир аналитика!
В моем канале Аналитика FM выпуски про расчет Retention в разных бизнесах.

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

Особенность того, что необходимо "использовать" код-стайл при написании SQL запросов заключается в том, что SQL почти никогда не пишется один раз.

Его:

  • читают коллеги

  • правят через полгода

  • копируют в другие отчёты

  • используют как основу для новых запросов

И вот в этот момент становится понятно, зачем существует код-стайл.

Код-стайл - это договорённость о том, как писать код, чтобы его было легко читать, понимать и поддерживать.

Это не про красоту ради красоты.
Это про понятность.

В код-стайл обычно входят правила:

  • форматирования запроса

  • именования таблиц и алиасов

  • расположения JOIN

  • оформления условий

  • структуры сложных запросов

По сути это язык, на котором разработчики и аналитики читают код друг друга.

Почему "красивый SQL" важен

SQL отличается от многих языков тем, что он декларативный.

Ты описываешь не процесс, а результат.

И если структура запроса хаотичная, читать его становится очень тяжело.

Посмотрите на такой запрос:

SELECT a.id,b.name,sum(o.amount)

FROM users a JOIN orders o ON a.id=o.user_id

JOIN products b ON o.product_id=b.id

WHERE o.status='paid' AND o.created_at>'2025-01-01'

GROUP BY a.id,b.name;

Он работает.
Но мозг тратит энергию просто на то, чтобы разобрать структуру.

Теперь тот же запрос, но оформленный:

SELECT

u.id,

p.name,

SUM(o.amount) AS revenue

FROM users u

JOIN orders o

ON u.id = o.user_id

JOIN products p

ON o.product_id = p.id

WHERE o.status = 'paid'

AND o.created_at > '2025-01-01'

GROUP BY

u.id,

p.name;

Логика читается почти как текст.

Что обычно входит в хороший SQL-код-стайл

1️⃣ Ключевые слова - в одном регистре

Чаще всего пишут в верхнем:

SELECT
FROM
WHERE
GROUP BY

Это помогает быстро видеть структуру запроса.

2️⃣ Каждая логическая часть - с новой строки

Структура запроса должна читаться сверху вниз:

SELECT
FROM
JOIN
WHERE
GROUP BY
HAVING
ORDER BY

Это базовая навигация по SQL.

3️⃣ JOIN всегда выносят отдельно

Плохой вариант:

FROM users u, orders o

WHERE u.id = o.user_id

Хороший вариант:

FROM users u
JOIN orders o
ON u.id = o.user_id

Так видно:

  • какие таблицы участвуют

  • по каким ключам они связаны

4️⃣ Алиасы должны быть понятными

Плохой стиль:

SELECT a,b,c

FROM table1 t1

JOIN table2 t2

Хороший стиль:

users u
orders o
payments p

Код читается быстрее.

5️⃣ Сложные условия — разбивать

Вместо:

WHERE status='paid' AND created_at>'2025-01-01' AND country='DE'

Лучше:

WHERE status = 'paid'
AND created_at > '2025-01-01'
AND country = 'DE'

Так легче искать ошибки.

6️⃣ Вычисления лучше именовать

Плохой вариант:

SUM(amount)

Лучше:

SUM(amount) AS total_revenue

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

Есть ещё один важный момент

SQL-код почти всегда живет дольше, чем его автор помнит контекст.

Запрос, написанный сегодня:

  • могут открыть через год

  • могут использовать в другой задаче

  • могут передать другому аналитику

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

Хороший код-стайл - это уважение

Уважение:

  • к коллегам

  • к будущему себе

  • к системе, в которой работает код

Потому что чаще всего через несколько месяцев вы открываете свой старый SQL…
и думаете:

Кто это вообще написал?

И очень приятно, когда ответ:

Я. И я понимаю, что здесь происходит.

В моем канале Аналитика FM все про мышление аналитика, про инструменты аналитика.
Мы рассматриваем SQL и Python в применении к данным.

Этот канал я веду с нуля подписчиков. Если тебе тоже интересно погрузиться в мир аналитики, подписывайся!

Показать полностью 1
9

PostgreSQL и Oracle для аналитка

Серия Аналитика FM

Я недавно вышла в найм.
И попала в реальность, где компании активно импортозамещаются, переписывают монолиты, режут их на микросервисы…
Но историческая база при этом — на Oracle Database.

И если ты много лет работал с PostgreSQL, переключение ощущается не как «ну ладно, другая СУБД»,
а как смена диалекта с тем же словарём, но другой грамматикой.

Важно: это взгляд аналитика.
Не администратора.
Не архитектора.
А человека, который каждый день пишет SELECT.

1️⃣ Работа с NULL

В PostgreSQL

COALESCE(value, 0)

Работает как и в большинстве СУБД.

В Oracle

NVL(value, 0)

Да, COALESCE тоже работает.
Но в легаси-коде ты почти везде увидишь NVL.

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

2️⃣ Ограничение строк (LIMIT)

PostgreSQL

SELECT *
FROM table
LIMIT 10;

Oracle

В старых версиях:

SELECT *
FROM table
WHERE ROWNUM <= 10;

В новых версиях:

FETCH FIRST 10 ROWS ONLY

3️⃣ Работа с датами

Вот здесь начинаются настоящие нюансы.

PostgreSQL

Очень удобные конструкции:

CURRENT_DATE
NOW()
DATE_TRUNC('month', date_column)
AGE()

Интервалы читаются логично:

date_column + INTERVAL '1 month'

Oracle

SYSDATE
TRUNC(date_column, 'MM')
ADD_MONTHS(date_column, 1)

4️⃣ Работа со строками

PostgreSQL:

STRING_AGG(column, ',')

Oracle:

LISTAGG(column, ',') WITHIN GROUP (ORDER BY ...)

Синтаксис разный, логика похожая.

А в моем канале Аналитика FM выпуски про расчет Retention в разных бизнесах.

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

Подписывайся, если интересно как устроен мир аналитика!

Показать полностью

Первое знакомство с новой Базой Данных

Серия Аналитика FM

Ты открываешь схему.
Сотни таблиц.
Описание есть — понимания нет.
Коллеги заняты. Онбординга "с объяснениями на пальцах" не будет.

И ты остаёшься один на один с данными.

Обычно начинают с просмотра таблиц руками:

  • что в них лежит,

  • какие поля реально заполнены,

  • какие значения встречаются,

  • какие даты живые, а какие "мертвые".

Ошибка, которую делают новички

Когда нет понимания структуры, новички часто:

  • сразу пишут "большой правильный запрос",

  • делают несколько JOIN подряд,

  • не проверяют объёмы данных,

  • не смотрят кардинальность,

  • а потом говорят: "База тормозит".

Но чаще всего тормозит не база.
Тормозит наше понимание модели данных.

Для начала, важно понять логику. Таблицы - это реализация, а нам надо понять:

  • что является сущностью,

  • что является атрибутом,

  • что является справочником,

  • где факт, а где классификатор.

Затем, не надо делать сразу финальный запрос, который должен вернуть результат со сложной логикой:

Сначала:

  • SELECT COUNT(*)

  • LIMIT 100

  • группировки по статусам

  • проверка на NULL

  • проверка дублей

Каждый JOIN нужно проверять отдельно:

  • сколько строк было до соединения,

  • сколько стало после,

  • не раздули ли вы данные в 10 раз.

Это экономит часы.

Самый важный вопрос:

  • по чему соединяются таблицы?

  • это 1:1, 1:N или N:N?

  • есть ли составные ключи?

Очень часто "медленный запрос" - это не индексы и не сервер,
а просто не тот ключ в JOIN.

Если запрос со сложной логикой и при запуске висит - не нужно грешить на "неповоротливость базы "

Нужно спросить:

  • есть ли индексы на поля соединения?

  • используется ли фильтрация до JOIN?

  • не делаем ли мы unnecessary full scan?

База редко "плохая".
Она просто делает ровно то, что ты ей сказал.

Важно искать живые примеры:
Очень правильный шаг — смотреть запросы коллег.
Это даёт:

  • понимание договорённостей,

  • понимание "какие данные считаются валидными",

  • понимание негласных ограничений.

Иногда реальная логика живёт не в описании таблиц,
а в том, какие фильтры люди используют годами.

Знакомство с новой БД — это не проверка твоего SQL.
Это проверка твоего мышления.

Новичку важно понять:

  • база не обязана быть удобной

  • справочники не обязаны быть очевидными

  • описание не равно пониманию

И если запрос выполняется час —
в 80% случаев проблема не в сервере,
а в отсутствии структуры в голове.

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

  • что здесь является "фактом",

  • что "состоянием",

  • что "справочником",

  • и что вообще считается "актуальной записью".

Когда появляется понимание модели —
запросы начинают работать быстрее.
И технически, и логически.

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

В моем канале Аналитика FM все про мышление аналитика, про инструменты аналитика.
Мы рассматриваем SQL и Python в применении к данным.

Этот канал я веду с нуля подписчиков. Если тебе тоже интересно погрузиться в мир аналитики, подписывайся!

Показать полностью

Психотерапевт для бизнеса

Серия Аналитика FM

Недавно я получила комментарий к одному из моих постов, что "хороший аналитик" - это как психотерапевт для бизнеса!

Я полностью согласна с этим!

Психотерапевт для бизнеса

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

Так описывается взаимодействия "человек-человек". Но и для бизнеса тоже есть свои психотерапевты. Очень часто эту роль выполняет аналитик. Иногда в связке с финансистом или продактом. Именно аналитик задает правильные вопросы и переводит ощущения в факты.

В моем канале Аналитика FM я рассказываю про инструменты аналитика, про мышление и разбираю рабочий кейсы. Мы рассматриваем SQL и Python в применении к данным.
Этот канал я веду с нуля подписчиков.

Если тебе тоже интересно погрузиться в мир аналитики, подписывайся!

Бизнес, как и человек, редко приходит с чётким запросом.
Обычно это звучит так:

  • Продажи что-то просели

  • Маркетинг стал дорогим

  • Клиенты какие-то не такие

  • Кажется, мы зарабатываем, но денег нет

Это не диагноз. Это эмоции и тревога.

Бизнес чувствует, что всё плохо.
Аналитик проверяет:

  • где именно плохо,

  • с какого момента,

  • для каких сегментов,

  • и плохо ли вообще.

Иногда оказывается, что:

  • revenue растёт,

  • но падает маржа,

  • или растёт LTV, но сжирается CAC,

  • или прибыль есть, но кэшфлоу убит.

Аналитик возвращает контроль через структуру.

Пока нет цифр - есть хаос.
Появляются метрики → появляется язык, на котором бизнес может с собой разговаривать.

Аналитик:

  • договаривается, что считать,

  • как считать,

  • и зачем.

Это ровно как в терапии: сначала выстраивается общий словарь.

Аналитик помогает увидеть причинно-следственные связи.

Бизнес часто путает:

  • симптомы и причины,

  • решения и их последствия.

Аналитик показывает:

  • какие действия к чему привели,

  • где решение помогло, а где замаскировало проблему,

  • и что будет, если ничего не менять.

Не "плохо работает маркетинг",
а "вот где именно он перестал окупаться и почему".

Хороший аналитик не обвиняет.
Он говорит:

  • Это не ошибка команды

  • Это ограничение модели

  • Это следствие выбранной стратегии

Как психотерапевт - без осуждения, но честно.

Аналитик не решает за бизнес,
но делает так, чтобы решения принимались не на тревоге, а на понимании.

Аналитик - не спасатель и не волшебник.
Он не делает бизнес успешным.

Он делает бизнес осознанным.

А дальше - как в жизни:
осознанность не гарантирует счастья,
но резко повышает шансы перестать делать себе больно.

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

В моем канале Аналитика FM уже вышла серия постов про Revenue в разных бизнесах.
Как рассчитывается, где и какие есть особенности. Как пишутся запросы на SQL.

Если тоже хочешь разобраться в нюансах подсчета выручки в разных бизнесах, то подписывайся.
Следующая серия постов будет про Retention.

Показать полностью 1
0

Revenue в разных бизнес кейсах и как его считать

Серия Аналитика FM

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

Ключевое слово здесь - признал.

То есть ответ на вопрос не "когда заплатили", а когда бизнес считает, что он действительно заработал эти деньги.
И вот тут начинаются нюансы.

Revenue в разных бизнес кейсах и как его считать

Кстати, в моём канале Аналитика FM уже есть примеры SQL-запросов для расчёта Revenue в разных бизнес-моделях. Ниже как раз объяснение, почему этих вариантов так много.
Присоединяйся!

В классическом виде Revenue:

Revenue = количество × цена

Или:

  • сумма чеков

  • сумма оплаченных заказов

  • сумма выставленных счетов

Это работает ровно до тех пор, пока бизнес простой.

Но как только появляются:

  • подписки

  • рассрочки

  • комиссии

  • возвраты

  • отложенные услуги

формула "сумма денег" перестаёт отражать реальность.

Пример: клиент оплатил год обучения сразу.
Но по договору он может расторгнуть его и вернуть часть денег.
Если считать Revenue как "всё, что оплатили", то при возврате показатели будут прыгать - и бизнес будет принимать решения на искажённой картине.

Как по-разному считается Revenue в разных бизнесах

1️⃣ Транзакционные офлайн-бизнесы

(кафе, рестораны, услуги)

Здесь всё относительно честно и просто:

  • Revenue = сумма оплаченных чеков

  • возвраты не входят

  • дата Revenue = дата покупки

Заплатили → заработали.


2️⃣ Подписочные и онлайн-продукты

(SaaS, онлайн-образование)

Здесь деньги и доход - разные сущности.

  • деньги могут прийти сразу

  • Revenue признаётся равномерно во времени

  • payment ≠ revenue

Если подписка действует 3 месяца, то и доход "размазывается" по этим 3 месяцам - независимо от того, когда пришла оплата.

Поэтому:

  • смотрят не на платёж

  • считают строго по периоду оказания услуги

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


3️⃣ Финансы и страхование

В финтехе деньги почти никогда не означают доход «сегодня».

  • кредит выдали сегодня

  • доход зарабатывается постепенно

  • Revenue считается на даты начислений

Причём Revenue может:

  • пересчитываться задним числом

  • меняться из-за досрочного погашения

  • корректироваться из-за каникул, судов, ошибок

Здесь Revenue отвечает на вопрос:
"Когда мы реально заработали?",
а не "когда приняли решение выдать кредит".


4️⃣ Розница и FMCG

Фокус не на клиенте, а на товаре.

  • Revenue = количество × цена

  • считается по SKU, магазинам, регионам

  • аналитика чаще товарная, чем клиентская

Кто купил - вторично. Главное - что и где продали.


5️⃣ Маркетплейсы и платформы

Самый частый источник ошибок.

Клиент платит много, но:

  • эти деньги не принадлежат платформе

  • платформа - посредник

Поэтому:

  • order_amount ≠ revenue

  • Revenue = комиссия + сервисные сборы

Платформа не владеет товаром и не несёт товарные риски.
Она зарабатывает на услуге, а не на продаже.


6️⃣ Проектные и экспертные бизнесы

Здесь нет логики "продал → отгрузил → забыл".

Работа делается этапами.
Каждый этап:

  • закрыт

  • принят заказчиком

  • имеет согласованную стоимость

Revenue признаётся по факту выполненной работы, а не по оплате.

Это не прихоть аналитиков, а:

  • бухгалтерский принцип

  • управленческий принцип

  • часто юридическое требование


Главное, что важно запомнить

Revenue — это всегда:

  • про модель бизнеса

  • про правила признания

  • про момент, когда бизнес считает, что заработал

Одна и та же формула в разных компаниях может означать совершенно разные вещи.

И именно поэтому нельзя просто взять "SUM(amount)" и успокоиться.

Если хочешь посмотреть, как это выглядит в реальных SQL-запросах -
в канале Аналитика FM я уже разбираю расчёт Revenue для разных бизнесов:
подписки, финансы, маркетплейсы и проектные модели.
Без магии - только логика и данные.

Подписывайся!

Показать полностью 1
3

Новичок аналитик в 2026 году

Серия Аналитика FM

Стоит ли вообще идти в аналитику в 2026 году, если раньше ты в этом совсем не разбирался.

Если коротко и честно, то стать аналитиком в 2026 году можно, но это больше не "вход через открытую дверь", как было несколько лет назад.

Эпоха "пройду курс → получу оффер" закончилась.
И это не трагедия - это просто взросление рынка.

Новичок аналитик в 2026 году

Рынок больше не испытывает дефицита новичков.
Зато он испытывает дефицит людей, которые:

  • понимают, зачем считают цифры

  • умеют думать, а не только писать запрос

  • могут связать данные с реальным решением

Компаний не стало меньше.
Просто они перестали нанимать работников "впрок".

Главный миф, который мешает новичкам

Нужно выучить SQL / Python / BI - и меня возьмут

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

Аналитика сейчас не просто про написание SELECT, построить дашборд, посчитать метрику.
Сейчас аналитику необходимо понять, какой вопрос вообще имеет смысл задавать.
Проверять или знать, что данные действительно отвечают на этот вопрос.
Полученный результат объяснять так, чтобы по нему могли действовать.

Для новичка необходимо знать следующее:
- базовая логика данных: строка, таблица, срез, период, агрегация
- почему данные могут быть неполными, кривыми и противоречивыми и что с этим делать
- воспринимать SQL как язык мышления, а не просто синтаксис, а понимать что делает JOIN с данными; почему GROUP BY может "сломать смысл", почему NUL - это не 0 и не "пусто"

Об этом и о многом другом я рассказываю в своем канале Аналитика FM.
Его я веду с нуля подписчиков. В этом канале я публикую информацию об инструментах аналитика (SQL, Python)
О мышлении аналитика, о метриках, об ошибках. Публикую чек-листы по стандартным видам работы аналитика.
Присоединяйся!

- необходимо понимать контекст бизнеса: откуда берутся деньги, что считается успехом, какие решения вообще принимаются.

Для новичка не надо целится сразу в "классического аналитика".

Реалистичными точками входа будут:

  • аналитик внутри операционных команд

  • продуктовые команды с простыми метриками

  • поддержка, финансы, логистика, маркетинг

  • смежные роли, где аналитика - часть работы, а не вся роль

Часто аналитиками становятся изнутри, а не "с улицы".

Что делать, если опыта нет вообще

Не пытаться выглядеть "готовым специалистом".
Это видно сразу и не работает.

Работает другое:

  • разбор реальных кейсов

  • умение объяснить ход мыслей

  • честное "я не знаю, но вот как бы я проверил"

В 2026 ценится не уверенность, а адекватность мышления.

А стоит ли вообще сейчас идти в аналитику?

Самый важный вопрос.

Если мотивация:

  • «хочу в IT»

  • «хочу удалёнку»

  • «говорят, там платят»

- скорее нет.

Если мотивация:

  • нравится разбираться

  • задавать вопросы

  • сомневаться в очевидном

  • искать смысл за цифрами

- да, время нормальное.

Аналитика никуда не исчезнет. Просто она больше не про "быстро войти", а про долго остаться.

Главное, что стоит понять новичку в 2026

Аналитик - это не профессия "на хайпе".
Это роль для тех, кто готов:

  • не знать ответ сразу

  • задавать неудобные вопросы

  • сомневаться в цифрах

  • и брать ответственность за выводы

Если хочешь, в Аналитика FM я как раз пишу про это:
не как "стать аналитиком", а как не потеряться в данных и ожиданиях,
и почему SQL - это не про код, а про мышление.
Сейчас как раз выходит серия постов про Revenue в разных бизнесах.
Присоединяйся!

Показать полностью 1
4

Метрики и их смыслы в разных бизнесах

Серия Аналитика FM

Очень часто к аналитику приходят с запросом

Давайте посчитаем стандартные метрики

У меня в этот момент всегда возникает вопрос:

А стандартные - это какие?
ИЛИ
Стандартные для кого?

Могут ли стандартные метрики быть одинаковыми для разных категорий бизнеса?
Об этом чуть ниже.

Метрики и их смыслы в разных бизнесах

А пока подписывайся на мой канала Аналитика FM.
Его я веду с нуля подписчиков. В этом канале я публикую информацию об инструментах аналитика (SQL, Python)
О мышлении аналитика, о метриках, об ошибках. Публикую чек-листы по стандартным видам работы аналитика.
Присоединяйся!

Формула для метрик может выглядеть одинаково.
Но смысл метрики почти всегда зависит от бизнеса.

Возьмём простую вещь - Revenue (выручка).

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

Формально везде можно написать:

SUM(amount)

Но то, что именно лежит в amount, решает всё.

То же самое с конверсией.

В одном бизнесе конверсия - это "визит → покупка".
В другом — "регистрация → первый платёж".
В третьем — "лид → контракт через 3 месяца".

Цифра одна.
Слово одно.
А управленческие решения - совершенно разные.

Поэтому метрики не бывают универсальными.
Универсальными бывают названия, а не смыслы.

И именно здесь аналитика перестаёт быть "про формулы" и становится "про понимание бизнеса".

Одинаковая метрика в разных компаниях - это как одно и то же слово в разных языках.
Вроде знакомо, но если не знаешь контекста - легко ошибиться.

Кстати, в моём телеграм-канале Аналитика FM я как раз разбираю Revenue:
что под ним реально считают бизнесы и где чаще всего начинаются ошибки.
Если интересно копать глубже - буду рада видеть.

Показать полностью 1

Клиентские метрики без user_id

Серия Аналитика FM

Большая часть клиентской аналитики опирается на user_id - идентификатор клиента.

Пользователь → действия → история → повторные визиты → поведение во времени.

И когда user_id нет, ломается не написание SQL-запроса - ломается логика вопросов, которые вообще можно задавать данным.

В своем канале Аналитика FM начала серию постов про метрики в разных бизнесах.
Являются ли эти метрики или формулы их вычисления универсальными для разных бизнес направлений.

Об этом и об аналитике в целом рассказываю у себя в канале.
Канал веду с нуля подписчиков.
Присоединяйся, если хочешь разобраться в SQL, python и мышлении аналитика.

Одна из самых неприятных фраз, которую аналитик может услышать в начале проекта:

user_id у нас нет

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

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

Это агрегаты "по событиям".
Им не важно, кто именно сделал действие - важно, что действие произошло.

Бизнес часто живёт именно на этом уровне, и на старте ему кажется, что этого достаточно.

Проблемы с клиентскими метриками возникают в тот момент, когда появляется аналитика "на повторы".

- Повторные покупки.
- Возвраты клиентов.
- LTV.
- Retention.
- Конверсия по шагам воронки.

Все эти метрики - не про события.
Они про людей.

А без user_id "человек" в данных перестаёт существовать.

И когда user_id отсутствует, бизнес начинает выкручиваться.

Вместо user_id появляются:

  • номер телефона

  • email

  • cookie

  • device_id

  • хэш паспорта

  • комбинации из "телефон + дата рождения + регион"

Это не плохие решения.
Это компромиссы.

Каждый такой "заменитель пользователя" решает одну задачу и ломает другую.

Телефон:
- отлично для CRM
- плохо для веба и офлайна

Cookie:
- хорошо для сессий
- бесполезно для долгой аналитики

Email:
- стабилен
- но есть одноразовые email-ы

Device_id:
- у клиента может быть несколько устройств
- может жить до переустановки приложения
- может стоять запрет на трекинг

В итоге бизнес не считает "пользователей".
Он считает версии пользователей.

Из-за этого появляются странные эффекты:

  • пользователей стало больше, но денег больше не стало

  • retention упал, но продажи выросли

  • конверсия пляшет, а поведение вроде то же

И это не всегда ошибка данных.
Это ограничение идентификации.

Важно понимать:
отсутствие user_id - это не техническая проблема, а продуктовая.

Она говорит о том, как система была спроектирована изначально:

  • думали ли о пользователе как о сущности

  • или думали только о событиях и операциях

Поэтому аналитика без user_id возможна.
Но она всегда:

  • менее точная

  • более приближённая

  • и требует аккуратной интерпретации

Хуже всего - считать "пользовательские" метрики и делать вид, что всё ок.

Лучше честно сказать:

Мы считаем это так, потому что другого способа у нас нет

Данные могут существовать без user_id.
Запросы SQL может работать без user_id.
Отчёты можно построить без user_id.

Но аналитика поведения - нет.

НО... Главный НО...

Наличие user_id не спасет вас от того, что клиента "на входе" не идентифицировали и завели ему новый идентификатор. Либо при объединении клиентских баз у вас не задвоится один и тот же клиент.

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

Для дедупликации клиентских записей существуют системы класса CDI (Customer Data Integration). Такие системы помогают идентифицировать клиента и вести его мастер карточку.

Ну а в моем канале Аналитика FM не только об инструментах аналитика, но и об аналитическом мышлении, метриках, логики.
Присоединяйся!

Показать полностью
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества