JuniorData Analyst > SQL и данные > Аналитическое мышление
Короткий ответ Уточняю, на каком шаге воронки и у какого сегмента (устройство, страна, канал) упала конверсия, с какого момента, и сравниваю это с относительной величиной падения — сначала локализую проблему, а не ищу причину. Как это работает подробнее «конверсия упала» — слишком общая формулировка; вопрос без локализации (когда, где, у кого, насколько) не даёт точки входа для анализа. Что использовать на практике Порядок действий. задаю вопросы: с какой даты/часа началось падение; на каком шаге воронки (просмотр → добавление в корзину → оплата); у всех пользователей или у сегмента (устройство, браузер, страна, новый/старый пользователь); насколько велико падение в абсолютных числах, а не только в процентах — у абсолютно разных объёмов трафика «упала на 50%» может значить разное. Подводные камни Частые ошибки. сразу открывать дашборд и смотреть на общий тренд, не разбивая на сегменты; путать относительное падение с абсолютным при малом трафике; не фиксировать точный момент начала падения, из-за чего сложно с
conversion-ratedata-quality
SeniorData Analyst > SQL и данные > Аналитическое мышление
Короткий ответ Выбираю North Star metric, которая отражает ценность, получаемую пользователем (а не только бизнес-доход), раскладываю её на input-метрики по основным драйверам (привлечение, активация, удержание, монетизация), но признаю, что единственно верной North Star metric обычно не существует — выбор зависит от стадии продукта и стратегии. Как это работает подробнее North Star metric должна одновременно отражать ценность для пользователя и коррелировать с бизнес-результатом в долгосрочной перспективе; дерево метрик декомпозирует её на управляемые командами input-метрики, которые объясняют её изменение. Что использовать на практике На практике: начинаю с вопроса «в какой момент пользователь получает ценность от продукта» (например, «успешно оказанная услуга», а не просто «посещение сайта»), затем раскладываю метрику на факторы, на которые реально влияют конкретные команды (число новых поставщиков услуг, конверсия в заказ, повторные заказы, отмены). Валидирую выбранную метрику, проверяя её историческую ко
analytical-thinkingmetric-tree
MiddleData Analyst > Метрики и эксперименты > A/B-тесты
Короткий ответ Корректный вывод: при текущей выборке эффект статистически не отличим от нуля — нельзя утверждать, что фича работает, но и нельзя утверждать, что она не работает; нужно либо продолжить сбор данных, либо явно признать результат неубедительным и обозначить дальнейшие шаги. Как это работает подробнее Как это работает: незначимый результат с положительным направлением эффекта — это не доказательство отсутствия эффекта и не доказательство его наличия; при p=0.21 данные совместимы и с отсутствием эффекта, и с небольшим положительным эффектом, и с небольшим отрицательным. Формулировка для бизнеса: «Мы увидели рост метрики на 0.3 п.п., но при текущем объёме данных эта разница статистически не отличается от нуля (p=0.21, 95% ДИ включает отрицательные значения). Это означает, что мы не можем уверенно сказать, работает фича или нет — рекомендую либо продлить тест до набора расчётной выборки (ещё ~X дней), либо принять решение с явным осознанием риска ошибки.» Что использовать на практике На практике: стои
ab-testingethics
MiddleData Analyst > Метрики и эксперименты > A/B-тесты
Короткий ответ При очень большой выборке даже крайне малый, экономически незначимый эффект может оказаться статистически значимым; решение о раскатке должно основываться на том, оправдывает ли величина эффекта (0.02 п.п.) стоимость поддержки изменения и возможные риски, а не только на факте значимости. Как это работает подробнее Как это работает: стандартная ошибка оценки эффекта уменьшается с ростом выборки, поэтому при достаточно большой n даже очень малая истинная разница рано или поздно становится статистически отличимой от нуля — значимость здесь говорит лишь о том, что эффект скорее всего не равен точно нулю, но не о его величине. Пример расчёта практической значимости: при 2 млн пользователей в месяц рост конверсии на 0.02 п.п. при среднем чеке 1000 условных единиц даёт примерно 2 млн * 0.0002 * 1000 = 400 000 условных единиц дополнительной выручки в месяц — здесь уже видно, что даже небольшой процентный эффект может быть значим в абсолютных деньгах при большом масштабе, что и нужно явно показать бизне
ab-testingpower
JuniorPython Developer > Основы Python > Аутентификация и авторизация
Короткий ответ Аутентификация отвечает на вопрос «кто ты» (подтверждение личности), авторизация — «что тебе разрешено» (права доступа к конкретным действиям и данным); успешный логин сам по себе не гарантирует доступ ни к одному защищённому ресурсу без отдельной проверки прав. Как это работает подробнее Аутентификация проверяет учётные данные (пароль, токен, сертификат) и подтверждает, что пользователь — тот, за кого себя выдаёт. Авторизация выполняется отдельно на каждом защищённом эндпоинте и сверяет роль/права аутентифицированного пользователя с требуемыми для операции. Пример кода Что использовать на практике Практика. В веб-API это обычно два отдельных слоя middleware: один декодирует и проверяет токен (authn), другой проверяет, например, что пользователь — владелец ресурса или имеет нужную роль (authz); пропуск второго слоя — частая причина уязвимостей вроде IDOR. Подводные камни Риск. Проверяют только валидность токена и забывают проверить, что именно этому пользователю разрешено запрошенное действие (
access-controlauthentication
JuniorDevOps Engineer > Контейнеры и доставка > Безопасность и DevSecOps
Короткий ответ Аутентификация — это подтверждение личности субъекта («кто вы»), а авторизация — это проверка, какие действия этому субъекту разрешены («что вам можно делать»); система может правильно аутентифицировать пользователя и при этом справедливо отказать ему в конкретном действии из-за авторизации. Как это работает подробнее при обращении к системе сначала проверяется, что субъект действительно тот, за кого себя выдаёт (пароль, токен, сертификат, MFA) — это аутентификация. После этого отдельный механизм (RBAC, ACL, IAM policy) проверяет, разрешено ли аутентифицированному субъекту конкретное действие над конкретным ресурсом — это авторизация. Пример кода Что использовать на практике Практика. в Kubernetes аутентификация происходит через токен service account или сертификат клиента, а авторизация — через RBAC (Role/RoleBinding); в облаке аутентификация — вход через IAM-учётные данные, авторизация — IAM policy, прикреплённая к пользователю или роли. Ошибка 401 означает проблему аутентификации, 403 — авто
access-controlauthentication
JuniorSMM Manager > Общее > Брендбук и Tone of Voice
Короткий ответ Брендбук — это более широкий документ о визуальной и смысловой идентичности бренда (логотип, цвета, миссия, ценности), а гайдлайн по Tone of Voice — это узкая часть про стиль текста; SMM-менеджеру нужны оба, потому что пост должен быть одновременно визуально и текстово «на бренд». Как это работает подробнее брендбук задаёт рамки для дизайна (шрифты, палитра, логотип, допустимые визуальные приёмы) и часто включает общее описание характера бренда; ToV детализирует именно речевое поведение. Что использовать на практике Подход. при создании визуала SMM-менеджер или дизайнер открывает брендбук, при написании текста — гайдлайн ToV; если ToV входит в брендбук как раздел, важно понимать, где искать нужную информацию быстро. Пример. Бренд косметики: в брендбуке — палитра пастельных тонов и логотип, в ToV — запрет на «агрессивные» формулировки типа «только сегодня, не упусти». Пост с баннером в фирменных тонах (брендбук соблюдён), но с текстом «ТОЛЬКО СЕГОДНЯ, НЕ УПУСТИ!!!» нарушает ToV. Проверка — отдел
brand-guidelinesbrand-management
JuniorPython Developer > Основы Python > Итераторы и генераторы
Короткий ответ Генератор возвращает значения лениво, по одному, по запросу, не храня всю последовательность в памяти, а функция со списком вычисляет и хранит все элементы целиком до возврата. Как это работает подробнее При вызове функции с yield Python не выполняет её тело сразу, а возвращает объект-генератор; выполнение кода происходит пошагово при каждом вызове next(), останавливаясь на yield и возобновляясь с этого места при следующем запросе. Функция, строящая список, выполняется от начала до конца за один вызов и возвращает готовый объект. Пример кода Что использовать на практике Практика. Генераторы экономят память при обработке больших или бесконечных последовательностей (чтение файла построчно, поток данных), но позволяют пройти последовательность только один раз вперёд; если нужен многократный доступ, индексация или len(), список подходит лучше. Подводные камни Риски. Используют список, когда достаточно один раз пройтись по данным (лишний расход памяти); пытаются индексировать генератор как список (T
generatorsiterators
JuniorData Analyst > SQL и данные > Статистика и теория вероятностей
Короткий ответ Корреляция показывает, что две переменные меняются согласованно, но не объясняет почему; причинность означает, что изменение одной переменной напрямую вызывает изменение другой. Наблюдаемая корреляция может объясняться обратной причинностью, общей скрытой причиной или совпадением. Как это работает подробнее коэффициент корреляции — чисто статистическая мера совместной изменчивости; он не «знает» о механизме, связывающем переменные. Такие вопросы особенно важны при работе с наблюдательными, а не экспериментальными данными, где нет случайного распределения по группам. Пример кода Что использовать на практике На практике: прежде чем делать причинные выводы из наблюдательных данных, стоит задать вопросы: нет ли скрытого фактора, влияющего на обе переменные (confounder); не может ли причинность идти в обратную сторону; воспроизводится ли связь на других срезах данных и во времени. Надёжные причинные выводы обычно требуют эксперимента (A/B-теста) или специальных методов причинного вывода. На практике
causalityconfounding
JuniorPerformance Marketer > Google Ads > События и GA4
Короткий ответ В GA4 всё — просмотр страницы, клик, покупка — это событие (event) с параметрами, тогда как в Universal Analytics были отдельные сущности: просмотры страниц, события и транзакции с разной структурой. Как это работает подробнее GA4 построен на единой модели event-based аналитики: каждое взаимодействие пользователя отправляется как событие с именем и набором параметров (например, event_name=purchase, value=100), без жёсткого разделения на «хиты» разных типов, как было в Universal Analytics. В Universal Analytics существовали отдельные типы хитов — pageview, event, transaction, social, — каждый со своей структурой данных, тогда как в GA4 даже транзакция интернет-магазина — это просто событие purchase с параметрами. Такой единый подход упрощает добавление новой аналитики: чтобы начать отслеживать новое действие пользователя, достаточно отправить ещё одно событие с нужным именем и параметрами, не меняя общую структуру данных и не создавая отдельную категорию хита. Пример кода Что использовать на пра
analyticsevent-model