Прогнозирование рекламной активности в ВКР: ML-пайплайн для ad-tech проекта
**Семантическое ядро (для ориентира перед чтением):** - **Поддомен:** AI/ML + Data Engineering (маркетинговая аналитика / ad-tech) - **Роль:** Data/ML-инженер - **Primary keyword:** прогнозирование рекламной активности для ВКР - **LSI:** Airflow, ClickHouse, MLflow, CatBoost, MAPE, ROC-AUC, Feature Store, dbt, SARIMA, AB-тест, сезонность, time-series - **Сущности:** ISO/IEC 25010, C4/UML, OpenTelemetry, OWASP API Top 10, ГОСТ 34.601 ## Введение «VK Реклама» зафиксировала: во время весенней распродажи рекламодатели запускали кампании **в 2 раза чаще**, чем в обычные недели. Для выпускника ИТ-специальности это не «новость про маркетинг», а рабочий кейс: перед вами классический пример **сезонного всплеска**, который можно спрогнозировать, описать формально и превратить в главу ВКР. Такой материал легко укладывается в темы по ML, Data Engineering, Backend-аналитике и даже QA (нагрузочное тестирование под пиковый трафик). Если вы ищете, **как написать ВКР**, которую примут с интересом на защите — берите не абстрактную «систему аналитики», а конкретный бизнес-сценарий с числами и метриками. ## FAQ: 4 вопроса, которые задаёт каждый второй студентГде брать данные, если у меня нет доступа к логам VK?
Три пути: (1) открытые датасеты Kaggle — «Marketing Campaign», «Online Retail II»; (2) синтетика на основе сезонных коэффициентов (множитель 2.0 на распродажу, коэффициент вариативности 0.3); (3) внутренние логи учебной платформы вуза. В главе 1 честно укажите ограничения выборки — это плюс, а не минус.
Какую метрику бросать в защиту вместо «точность 95%»?
Для регрессии прогноза активности берите MAPE и sMAPE, для классификации всплесков — F1 и ROC-AUC. «Точность» без указания класса — красный флаг для комиссии.
Что писать в третьей главе, если модель уже обучена?
Сравнение baseline (SARIMA/Prophet) с ML-моделью (CatBoost, LightGBM), AB-тест по неделям, экономический эффект через ROI рекламодателя. Это и есть «эффективность» в терминах ISO/IEC 25010 — функциональная полнота + производительность.
Обязательно ли разворачивать весь стек в облаке?
Нет. Docker Compose + Airflow + ClickHouse локально закрывает 90% требований к демонстрации. Раздел «Развёртывание» опишите через C4-диаграмму контейнеров — это уважают на защите.
-
Тема 1. «Прогнозирование сезонных всплесков рекламной активности на основе градиентного бустинга»
Актуальность: статья прямо фиксирует двукратный рост запусков в период распродажи — значит, задача детекции и предсказания всплеска решает реальную боль рекламодателя.
Цель: построить модель, предсказывающую дневную интенсивность запусков кампаний с MAPE ≤ 15%.
Задачи: собрать и очистить временной ряд; построить признаки (лаг, день недели, индекс распродажи, праздничные флаги); обучить CatBoost/Prophet; сравнить метрики; оформить выводы.
Структура: Гл.1 — анализ ad-tech и постановка задачи. Гл.2 — проектирование пайплайна (Airflow + Feature Store). Гл.3 — эксперименты, MAPE/sMAPE, вывод. -
Тема 2. «Аналитическая платформа мониторинга рекламных кампаний с потоковой обработкой»
Актуальность: двукратный рост нагрузки на биржу требует потокового учёта событий, а не ночного batch.
Цель: спроектировать и реализовать near-real-time хранилище метрик.
Задачи: спроектировать схему ClickHouse, поднять Kafka-консьюмер, написать dbt-модели, настроить дашборд.
Структура: Гл.1 — обзор Lambda/Kappa-архитектур. Гл.2 — реализация (C4-диаграмма). Гл.3 — нагрузочное тестирование (K6/Locust), замеры p95/p99. -
Тема 3. «Рекомендательная система распределения рекламного бюджета в периоды пикового спроса»
Актуальность: в распродажу конкуренция за аукцион растёт — рекомендация ставок становится критичной.
Цель: система, повышающая CTR и снижающая CPA у тестового профиля рекламодателя.
Задачи: формализовать задачу как multi-armed bandit; реализовать Thompson Sampling; провести AB-тест; оценить uplift.
Структура: Гл.1 — теория. Гл.2 — сервис на FastAPI + Feature Store. Гл.3 — AB-тест и статистическая значимость.
Глава 1. Цифры VK как эмпирическая база
Открытие главы — это ваш шанс. Разместите таблицу с исходными индикаторами (индекс активности, множитель всплеска, длительность окна распродажи), укажите источник и дату публикации. Рядом — постановка задачи в терминах ISO/IEC 25010: функциональная пригодность (прогноз), производительность (время отклика), надёжность (устойчивость к пропускам). Не превращайте главу в пересказ новости — комиссия читает реферат и смотрит выводы.Глава 2. Пайплайн и архитектура
Опишите схему пайплайна: источник → Kafka → ClickHouse (raw) → dbt (marts) → Feature Store → модель. Постройте диаграмму C4 на уровне контейнеров: она короткая, читаемая и сразу показывает, что вы понимаете границы систем. Ниже — пример декларации Airflow DAG для переобучения модели:# dags/retrain_ads_forecast.py
from airflow import DAG
from airflow.operators.python import PythonOperator
from datetime import datetime, timedelta
def extract_features():
# выгрузка агрегатов из ClickHouse за последние 180 дней
...
def train_model():
# CatBoostRegressor + логирование в MLflow
...
def validate_and_promote():
# сравнение MAPE с прод-моделью, promote при улучшении >= 3%
...
with DAG(
dag_id="retrain_ads_forecast",
schedule="0 3 * * 1", # каждый понедельник в 3:00
start_date=datetime(2026, 1, 1),
catchup=False,
default_args={"retries": 2, "retry_delay": timedelta(minutes=10)},
) as dag:
t1 = PythonOperator(task_id="extract_features", python_callable=extract_features)
t2 = PythonOperator(task_id="train_model", python_callable=train_model)
t3 = PythonOperator(task_id="validate_and_promote", python_callable=validate_and_promote)
t1 >> t2 >> t3
Глава 3. Эксперименты и метрики
Минимум — таблица «модель / MAPE / sMAPE / время обучения». Хорошо — добавьте baseline (наивный прогноз «среднее по прошлой неделе»), тогда прирост ML будет виден глазом. Если делаете классификатор всплесков, добавьте матрицу ошибок и ROC-кривую. Для сервисной части — замеры latency с OpenTelemetry: трейсы прямо из FastAPI показывают, что вы умеете в наблюдаемость, а это сегодня спрашивают почти всегда.Безопасность и нормоконтроль
Не забудьте про OWASP API Top 10: сервис прогноза ставок — это API, а значит, ему нужны rate-limit и JWT. В приложении опишите схему БД, листинги кода вынесите отдельно, скриншоты дашбордов пронумеруйте. Оформление по ГОСТ 34.601 для проектной документации и ГОСТ 19 — для программной. Комиссия любит, когда в приложениях есть реестр задач DAG и пример JSON-ответа API. ## Чему вы научитесь на этом кейсе - Проектировать ML-пайплайн с разделением raw/marts и версионированием признаков. - Считать честные метрики для временных рядов, а не подгонять accuracy. - Строить C4/UML-диаграммы и защищать архитектурные решения словами, а не картинкой. - Проводить AB-тест и корректно считать статистическую значимость uplift. - Оформлять документацию в соответствии с требованиями нормоконтроля вуза.- Задачи в конце главы совпадают с задачами из введения (дословно).
- Каждая метрика имеет формулу и обоснование выбора.
- Схемы подписаны и имеют ссылку в тексте («см. рисунок 2.3»).
- Код вынесен в приложения, в тексте — ключевые фрагменты.
- Список литературы: ≤5 источников старше 5 лет, остальное — свежее и с датами.
- Проверен отчёт по антиплагиату — уникальность по технической части ≥70%.
- Все внешние ссылки оформлены по ГОСТ Р 7.0.100–2018.
1. Пересказ статьи вместо анализа. Полстраницы «VK сообщил, что реклама выросла в 2 раза» — не глава, а реферат. Оставляйте один абзац факта, дальше — формализация: что именно прогнозируем, какими признаками.
2. Метрика без контекста. «Модель показала точность 0.87» — на защите спросят: на каком сплите, для какого класса, насколько это лучше baseline? Всегда давайте сравнение.
3. Игнорирование сезонности. Если не добавили лаг ≥7 и флаг распродажи — модель будет ловить шум. Именно всплеск из статьи — лучший тест-кейс для проверки вашей гипотезы.
Источник: Рекламодатели стали в 2 раза чаще запускать рекламу в период весенней распродажи (опубликовано 2026-03-26)