JuniorPerformance Marketer > Google Ads > Частота и креативы
Короткий ответ Частота показывает среднее число показов рекламы одному пользователю за выбранный период; рассчитывается как количество показов, делённое на охват (Reach), и доступна в столбцах отчёта кабинета. Как это работает подробнее Частота = Impressions / Reach. Если аудитория небольшая, а бюджет и число показов остаются высокими, один и тот же человек видит объявление многократно, и значение частоты растёт. Что использовать на практике На практике. Частоту проверяют в разбивке по кампаниям/ad set'ам за одинаковый период, добавив соответствующий столбец в отчёт. Рост частоты при неизменном бюджете — сигнал сужающейся эффективной аудитории. Пример. В Meta Ads Manager в столбцах добавляется метрика «Frequency»: за последнюю неделю частота ad set'а выросла с 2.1 до 5.4 при том же бюджете. Проверка: сравнить динамику частоты по неделям в разбивке по дням. Подводные камни Частая ошибка. Частая ошибка — смотреть частоту за всё время жизни кампании без разбивки по неделям, из-за чего не видно, что рост начался
ad-platformscampaign-optimization
JuniorData Analyst > SQL и данные > SQL
Короткий ответ EXPLAIN показывает, какой план выполнения СУБД выбрала для запроса — какие таблицы и в каком порядке читаются, используются ли индексы или полное сканирование таблицы — и помогает понять, почему запрос работает медленно, до того как его запустят на полных данных. Как это работает подробнее EXPLAIN (без ANALYZE) строит предполагаемый план на основе статистики таблиц без фактического выполнения запроса, а EXPLAIN ANALYZE реально выполняет запрос и добавляет к плану фактическое время и количество обработанных строк на каждом шаге. Пример кода Что использовать на практике на базовом уровне аналитику достаточно уметь заметить признаки проблемы — например, «Seq Scan» (полное сканирование таблицы) на очень большой таблице там, где ожидался индексный поиск, или то, что оценка числа строк на одном из шагов плана сильно расходится с фактической. Если в плане видно «Seq Scan on orders», а таблица на миллионы строк, это сигнал задуматься об индексе на customer_id. Проверка: после создания индекса повторный
explainindexes
JuniorDevOps Engineer > Контейнеры и доставка > Infrastructure as Code и управление конфигурацией
Короткий ответ terraform fmt приводит код к единому стилю форматирования (отступы, выравнивание), а terraform validate проверяет синтаксическую корректность и внутреннюю согласованность конфигурации без обращения к реальному API провайдера — поэтому ошибки, зависящие от реального состояния облака (квоты, права доступа, занятые имена), validate не отловит. Как это работает подробнее validate работает локально, разбирая HCL и проверяя схему ресурсов из уже установленных провайдеров (после terraform init), но не выполняет сетевые запросы к облаку и не знает о внешних ограничениях; fmt просто переформатирует файлы по канонизированным правилам HCL и ничего не проверяет по смыслу. Пример кода Что использовать на практике Практика. оба инструмента полезно запускать в CI как самый быстрый и дешёвый первый шаг pipeline (до plan), отбраковывая явные ошибки раньше, чем кто-либо начнёт ждать результат plan; fmt -check в CI (без изменения файлов) используют, чтобы требовать единообразного стиля в Pull Request. Подводные к
configuration-managementiac
JuniorPython Developer > Основы Python > Надёжность и отказоустойчивость
Короткий ответ Без явного timeout запрос через requests может ждать ответа неограниченно долго, если внешний сервис завис или сеть деградировала, что приводит к зависанию обрабатывающего потока/воркера и, при повторении у многих запросов, к исчерпанию ресурсов приложения. Как это работает подробнее По умолчанию у requests нет таймаута на соединение и чтение ответа, поэтому запрос физически может висеть до разрыва соединения операционной системой, что происходит далеко не сразу и не гарантированно. Пример кода Что использовать на практике Практика. Timeout стоит задавать явно и раздельно для connect и read (timeout=(3, 10)), а поведение при истечении таймаута — оборачивать в обработку исключения requests.Timeout и, при необходимости, повторные попытки с ограниченным числом ретраев и экспоненциальной задержкой. Подводные камни Риск. Ставят один общий большой timeout «на всякий случай», из-за чего пользователь долго ждёт ответа при деградации внешнего сервиса; не обрабатывают исключение таймаута отдельно от проч
httpreliability
JuniorDevOps Engineer > Контейнеры и доставка > Kubernetes и оркестрация
Короткий ответ Без requests/limits планировщик не знает, сколько ресурсов резервировать для Pod, и под получает низший приоритет QoS (BestEffort) — он будет выселен первым при нехватке ресурсов на узле и может бесконтрольно потреблять CPU и память, мешая соседним подам. Как это работает подробнее requests — это объём ресурсов, который планировщик резервирует для Pod при выборе узла; limits — верхняя граница, которую контейнер не может превысить (для CPU — через throttling, для памяти — через убийство процесса, OOMKilled). Если не задать ни то, ни другое, под может занять сколько угодно свободных ресурсов узла, пока их хватает. Пример кода Что использовать на практике Практика. для предсказуемой работы прод-нагрузки желательно явно задавать и requests, и limits, ориентируясь на реальное потребление приложения под нагрузкой (через мониторинг), а не на произвольные числа. Слишком заниженные requests ведут к избыточному размещению подов на узле и конкуренции за ресурсы; слишком высокие — к неэффективному использо
kubernetesresource-limits
JuniorPerformance Marketer > Google Ads > Тестирование гипотез и запуск изменений
Короткий ответ Победитель — это вариант, который показал статистически значимое превосходство по заранее выбранной главной метрике (например, CPA или CVR), а не просто чуть лучший результат по любому показателю. Как это работает подробнее Вывод о победителе делают после достижения нужного объёма данных и уровня значимости (обычно 90-95%), сравнивая именно ту метрику, которая была определена как главная до начала теста. Некоторые платформы (например, Google Ads Experiments) прямо показывают статус «эксперимент завершён, есть статистически значимый победитель», что упрощает финальное решение. Пример. Главная метрика теста — CPA. Вариант A: CPA 500 руб., вариант B: CPA 430 руб. при статистической значимости 95% — вариант B признаётся победителем и масштабируется. Что использовать на практике Практика. Если главная метрика показывает значимое улучшение, но вспомогательная метрика (например, качество лида) ухудшилась, стоит разобраться в причинах, прежде чем масштабировать «победителя». После признания победителя
ab-testingad-creatives
JuniorSMM Manager > Общее > Брендбук и Tone of Voice
Короткий ответ Слова-табу — это зафиксированный список слов и формулировок, которые бренд не использует (из-за позиционирования, юридических ограничений или негативных ассоциаций), и их нужно проверять в каждом тексте перед публикацией, а не держать в памяти. Как это работает подробнее табу-слова попадают в список по разным причинам: конфликт с ценностями бренда, юридический риск (например, обещания результата в медицинской тематике), ассоциация с конкурентом или прошлым кризисом. Что использовать на практике Подход. список табу-слов держат в общем документе, доступном всей команде, и по возможности используют простой поиск по ключевым словам в черновике перед публикацией. Пример. Табу-список бренда БАДов включает «вылечит», «гарантированный результат», «100% эффект» — формулировки, которые создают юридический риск недостоверной рекламы. Черновик «Гарантированно почувствуешь эффект уже через неделю» нарушает табу и требует переформулировки, например на «Многие отмечают улучшение самочувствия в течение несколь
brand-guidelinesbrand-management
JuniorPerformance Marketer > Google Ads > Стратегии ставок
Короткий ответ Фаза обучения — это период после запуска или значительного изменения кампании, когда алгоритм собирает данные об откликах аукциона, и результаты в это время обычно менее стабильны и предсказуемы. Как это работает подробнее Алгоритму нужен минимальный объём данных о конверсиях (у Meta — порядка 50 оптимизационных событий на ad set за 7 дней), чтобы начать точно предсказывать вероятность результата для каждого показа. До набора этого объёма ставки выставляются менее точно. Что использовать на практике На практике. В этот период не рекомендуется делать резкие выводы об эффективности кампании и часто вносить изменения — каждое «значительное» изменение (бюджет, аудитория, креатив, цель оптимизации) может перезапустить фазу обучения. Пример. В Meta Ads Manager статус ad set'а — «Learning». Проверка: в столбце «Delivery» отслеживают переход в статус «Learning limited» (недостаточно данных) или «Active» (обучение завершено) после накопления нужного числа событий. Подводные камни Частая ошибка. Частая о
ad-platformsbidding-strategies
JuniorPython Developer > Основы Python > Функции и области видимости
Короткий ответ *args и **kwargs — это специальный синтаксис Python для передачи в функцию произвольного числа аргументов. *args собирает все неименованные аргументы в кортеж, а **kwargs — все именованные аргументы в словарь. Как это работает подробнее Порядок параметров в сигнатуре строго фиксирован: сначала идут обычные аргументы, затем *args, затем **kwargs. Механизм сборки. Когда функция объявлена со звёздочкой, все лишние позиционные аргументы упаковываются в кортеж, а все аргументы вида ключ=значение — в словарь. Имена не обязательны. args и kwargs — лишь общепринятое соглашение: синтаксически важны звёздочки, поэтому допустимы и *numbers, и **options. Обратная распаковка. При вызове func(*seq) разворачивает последовательность в позиционные аргументы, а func(**mapping) — словарь в именованные. Пример кода Что использовать на практике Гибкие API. Применяй, когда заранее неизвестно количество передаваемых значений, чтобы функция не зависела от конкретной сигнатуры. Декораторы. Обёртки почти всегда принимаю
argsarguments
JuniorDevOps Engineer > Контейнеры и доставка > Облачные платформы
Короткий ответ Авто-масштабирование автоматически изменяет число запущенных инстансов в зависимости от текущей нагрузки или расписания, чтобы приложение выдерживало пики без постоянного содержания избыточных мощностей и без ручного вмешательства оператора. Как это работает подробнее группа авто-масштабирования следит за метрикой (например, средняя загрузка CPU) и, когда та выходит за пороги, запускает новые инстансы по шаблону или останавливает лишние, подключая/отключая их от балансировщика автоматически. Пример кода Что использовать на практике Рекомендация. задают минимальное и максимальное число инстансов и целевую метрику; минимум обеспечивает базовую отказоустойчивость, максимум ограничивает расходы при аномальном всплеске. Проверка. при росте среднего CPU выше 60% группа постепенно добавляет инстансы до max=10, а при снижении нагрузки — уменьшает их число обратно до min=2. Подводные камни Риск. не задавать верхний предел и получить неожиданно большой счёт при баге, вызывающем бесконечный рост нагрузки
autoscalingcloud-monitoring