Прогнозирование рекламной активности в ВКР: 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. Цифры 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. - Оформлять документацию в соответствии с требованиями нормоконтроля вуза.
Чек-лист перед сдачей
  1. Задачи в конце главы совпадают с задачами из введения (дословно).
  2. Каждая метрика имеет формулу и обоснование выбора.
  3. Схемы подписаны и имеют ссылку в тексте («см. рисунок 2.3»).
  4. Код вынесен в приложения, в тексте — ключевые фрагменты.
  5. Список литературы: ≤5 источников старше 5 лет, остальное — свежее и с датами.
  6. Проверен отчёт по антиплагиату — уникальность по технической части ≥70%.
  7. Все внешние ссылки оформлены по ГОСТ Р 7.0.100–2018.
Типичные ошибки студентов

1. Пересказ статьи вместо анализа. Полстраницы «VK сообщил, что реклама выросла в 2 раза» — не глава, а реферат. Оставляйте один абзац факта, дальше — формализация: что именно прогнозируем, какими признаками.

2. Метрика без контекста. «Модель показала точность 0.87» — на защите спросят: на каком сплите, для какого класса, насколько это лучше baseline? Всегда давайте сравнение.

3. Игнорирование сезонности. Если не добавили лаг ≥7 и флаг распродажи — модель будет ловить шум. Именно всплеск из статьи — лучший тест-кейс для проверки вашей гипотезы.

Если тема кажется сложной или сроки поджимают — можно начать с 120-минутной бесплатной консультации: разберём структуру, определимся с датасетом и стеком, наметим главы. Помощь с дипломом не обязана быть «под ключ» — иногда достаточно точечно разложить пайплайн и метрики, а дальше вы справитесь сами.
Материал подготовлен экспертами компании Exam-Diplom. Мы помогаем студентам с 2010 года: разбираем темы, проверяем структуру, консультируем по нормоконтролю и защите. Если вам нужна помощь в разработке темы или оформлении работы, наши специалисты готовы подсказать по конкретному поддомену.
Последнее обновление: 2026-10-01

Источник: Рекламодатели стали в 2 раза чаще запускать рекламу в период весенней распродажи (опубликовано 2026-03-26)